ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

thinkphp6路由配置

2021-10-28 19:30:45  阅读:345  来源: 互联网

标签:index Route 配置 thinkphp6 访问 php route 路由


之前将域名中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访问,也就是感觉全局定义的路由并没有起作用。

 

算了,慢慢学吧~ 

 

 

标签:index,Route,配置,thinkphp6,访问,php,route,路由
来源: https://blog.csdn.net/qqMr75/article/details/121019367

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有