thinkphp6路由配置
之前将域名中index.php路径给隐藏掉了,因为index控制器和index方法都是tp6默认访问的,所以在输入localhost/admin也可以直接访问到index控制器里面的index方法,但是实际的访问路径应该是http://localhost/admin/index/index
当访问新定义的hello方法时,却一样需要把全部路径才可以访问,直接输入localhost/admin/hello是会报错,提示控制器不存在,只能通过全部路径localhost/admin/index/hello才可以访问,那路径的显露程序太大了,也不优雅;而且在多应用模式下,所有的访问路径都必须带应用名称,真的很不好。这个时候就可以通过路由设置来简化访问路径
1.路由基本知识
1.1 常用于项目中的路由分为五种:get/post/put/delete/any
Route::get('new/<id>','News/read'); // 定义GET请求路由规则,常用于获取数据库数据
Route::post('new/<id>','News/update'); // 定义POST请求路由规则,常用于前端数据提交
Route::put('new/:id','News/update'); // 定义PUT请求路由规则
Route::delete('new/:id','News/delete'); // 定义DELETE请求路由规则
Route::any('new/:id','News/read'); // 所有请求都支持的路由规则
1.2路由变量
Route::rule('/', 'index'); // 首页访问路由
Route::rule('my', 'Member/myinfo'); // 静态地址路由
Route::rule('blog/:id', 'Blog/read'); // 静态地址和动态地址结合
Route::rule('new/:year/:month/:day', 'News/read'); // 静态地址和动态地址结合
Route::rule(':user/:blog_id', 'Blog/read'); // 全动态地址
1.3 路由使用注意事项
①路由的使用首先要使用符合规范的命名空间,这样才能控制器才能正常访问;
②然后还要通过引用门面中的路由方法
③多应用模式下,分为应用路由和全局路由。应用内部可以创建admin/route/app.php定义应用内部路由;而根目录下route/app.php是全局路由,一般用配置默认路由,也就是用户访问路由;应用路由的执行要优先于全局路由,也就是程序会先执行应用内的路由。
④在config/route.php文件是全局路由配置,如是否设置强制路由,也就是只能通过路由访问
// 是否强制使用路由'url_route_must' => true,
1.4 创建应用内部路由,在admin应用下创建route/app.php,并加入以下代码
<?php
namespace app\admin\route;//命名空间路径
use think\facade\Route;//引用门面路由类Route::get('/','index/index'); //内部路由定义路径时不需要加入应用路径
Route::get('hello','index/hello');
1.5 定义全局路由,在根目录route/app.php文件中定义全局路由,主要用于前台访问
<?php
use think\facade\Route;Route::get('/', 'web/Index/index');
Route::get('hello','web/Index/hello');
出现错误的原因是开启了强制路由,也就是没有定义过路由的都无法访问,在web应用中并没有定制,所以一样要在web应用下创建route/app.php然后定义内部路由。
<?php
namespace app\web\route;
use think\facade\Route;Route::get('/','index/index');
Route::get('hello','Index/hello');
但是最后我发现,如果通过localhost/hello也并不能访问web应用下index控制器中的hello方法,只能通过localhost/web/hello访问,也就是感觉全局定义的路由并没有起作用。
算了,慢慢学吧~
thinkphp6路由配置相关推荐
- php6 配置,thinkphp6路由可选参数配置
thinkphp6 路由可选参数配置后#0 [0]InvalidArgumentException in Container.php line 455 方法参数错误:id 路由配置参考手册如下 可选变 ...
- 华为路由器静态路由配置
1.ensp环境 关注注册不成功的问题:在没有放置设备的情况下注册,如果注册不成功可以查看C:\Users\Administrator中是否有.virtualbox,有则删除: 关于出现多个###的问 ...
- 网络系统管理之静态路由配置
下面,我们主要讨论一下网络系统管理中静态路由配置的问题.公司用的服务器种类繁多,有FreeBSD8.1-64bit.windows2003_R2-64bit和cetnos5.5-64bit,而规划的网 ...
- linux快速上手之多服务器间路由配置
linux 多服务器间路由配置,把linux变成动态路由器(前提是双网卡) 安装一个软件 yum list quagga yum install quagga quagga配置: cd/etc/qua ...
- webpack 配置react脚手架(四):路由配置
1. 由于 react-router 是集成了 react-router-dom 和 react-router-native的一起的,所以这里要使用的是 react-router-dom, 2. 安装 ...
- 计算机网络 实验六 静态路由配置,《计算机网络》实六 静态路由配置 实验报告.doc...
<计算机网络>实六 静态路由配置 实验报告 实验报告六 班级:07东方信息 姓名: 学号: 实验时间:10年5月17日 机房:9#205 组号: 机号:A 一.实验题目 静态路由配置 二. ...
- AlwaysOn只读路由配置
示例: 以下示例将修改现有可用性组 AG1 的两个可用性副本以支持只读路由(如果其中一个副本拥有主角色). 为了标识承载可用性副本的服务器实例,此示例指定了实例名称 COMPUTER01 和 COMP ...
- 如何用vue-router为每个路由配置各自的title
传统方法 以前在单页面路由中,就只能在html文件中定一个固定的网站的title.如果想要动态的去修改,需要使用如下的方法. document.title = '这是一个标题'; 复制代码 这样会让我 ...
- linux环境双网卡主机路由配置
Linux环境下双网卡主机路由配置 一.环境: 三台直接相连的计算机主机如图 PC1<------>PC2<------>PC3 其中PC2上有两块网卡eth0.eth1,分别 ...
最新文章
- decorator and @property
- oracle 创建数据库 表空间 用户 授权和toad导入导出数据库
- Confluence 6 重要缓存和监控
- vue 组件属性监听_Vue.js 监听属性
- 改进合作 Git 工作流:自动提取、合并提交
- Siamese Network (应用篇2) :孪生网络用于图像块匹配 CVPR2015
- boost::math模块使用 non_finite_num facet 的一个非常简单的例子
- CF718E Matvey‘s Birthday(状压、bfs、暴力、分类讨论)
- h264 I帧的判断
- @Autowired 与 @Resource的区别
- 《jQuery UI 开发指南》——2.3 tabs ()方法
- python 趋势线计算式_[原创]图表趋势线公式系数的计算公式
- 数模比赛经验分享(美赛分享)
- 软件设计模式经典书籍推荐
- 微信小程序给公众号发送模板消息
- xt.loadOnStartup web应用程序[]中的Servlet[springmvc]引发了load()
- 百度地图使用,以及一些api
- Python爬虫之Spider类用法简单介绍
- C#中indexof和substring函数用法 (截取字符串)
- fastjson之@JSONField注解的几个的使用详细示范
热门文章
- TCP客户端显示服务器图片,TCP客户端显示服务器图片
- windows clone linux代码时的warning: the following paths have collided (e.g. case-sensitive pathson)
- WEB菜鸟笔记(一)
- Counting regions —— 多边形对角线分割区域个数
- 前端导出PDF(纯前端功能)
- i3处理器_i3-8100F是什么意思?i3-8100F和8100的区别
- 爱情淡了也不要说分手
- CGI与FastCGI
- 总结python初期学习路线(玄幻网文理解版)
- 数据案例-估算脉脉用户