多语言展示
当前在线:1581今日阅读:60今日分享:41

TP5.0入口文件和路由模式

TP5.0入口文件和路由模式
工具/原料
1

thinkphp5.0

2

sublime

方法/步骤
1

1、路由的作用     简化URL地址,方便大家记忆     有利于搜索引擎的优化

2

2、入口文件     1、前后台分离          在网站public目录下(根目录\public)新建admin.php          打开admin.php                                      DocumentRoot 'D:\phpStudy\WWW\tp5\public'                       ServerName www.tp5.net                       ServerAlias tp5.net                                          Options FollowSymLinks ExecCGI                       AllowOverride All                       Order allow,deny                       Allow from all                       Require all granted                                            入口文件放一个.htaccess                                  Options +FollowSymlinks                   RewriteEngine On                   RewriteCond %{REQUEST_FILENAME} !-d                   RewriteCond %{REQUEST_FILENAME} !-f                   RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]                       重启服务          URL地址               隐藏之前:http://www.tp5.net/index.php/模块/控制器/方法               隐藏之后:http://www.tp5.net/控制器/方法

3

3、tp5.0路由学习     1、支持三种路由规则     2、路由只针对应用,不针对模块,因此路由的设置也是针对应用下面的所有模块。     3、如果某些模块不想使用路由的话,关闭路由          在后台入口文件中增加关闭路由配置(必须写在 加载引导文件之后)          \think\App::route(false);

4

4、路由     1、普通模式          定义:关闭路由,完全使用默认的PATH_INFO方式URL          形式:http://www.tp5.net/index.php/模块/控制器/方法          如何设置:// 是否开启路由                          'url_route_on'           => false,                          // 是否强制使用路由                          'url_route_must'         => false,      2、混合模式           定义:开启路由,并使用路由定义+默认PATH_INFO方式的混合           如何设置:// 是否开启路由                           'url_route_on'           => true,                           // 是否强制使用路由                           'url_route_must'         => false,     3、强制模式          定义:开启路由,并设置必须定义路由才能访问          如何设置:// 是否开启路由                          'url_route_on'           => true,                          // 是否强制使用路由                          'url_route_must'         => true,

5

5、设置路由-动态单个注册     设置路由文件(根目录\application\route.php)     如何设置:   设置路由之后就不能使用PATH_INFO形式访问                         use think\Route;                         Route::rule('/','index/index/index');                         Route::rule('getconfig','index/index/getconfig');     路由的形式:                         静态地址路由:Route::rule('getconfig','index/index/getconfig');                         路由带参数:Route::rule('num/:id','index/index/num');                                             Route::rule('time/:year/:month','index/index/time');                                            //(两个参数,只要有一个没有写就会报错)                         可选参数路由:Route::rule('time/:year/[:month]','index/index/time');                         全动态路由:Route::rule(':a/:b','index/index/time');                         完全匹配路由:Route::rule('test$','index/index/test');                                               //http://www.tp5.net/test 可以成功访问                                              //http://www.tp5.net/num/4 不能成功访问                         额外带参数:Route::rule('test','index/index/test?status=1&app_id=5');                                              //用input()打印参数     请求类型:                     TP中的请求类型:get,post,put,delete                     Route::rule()默认支持所有请求类型                     Route::rule('num','index/index/num','get');                     Route::get('num','index/index/num'); // 定义GET请求路由规则                      Route::post('new/:id','News/update'); // 定义POST请求路由规则                     Route::put('new/:id','News/update'); // 定义PUT请求路由规则                     Route::delete('new/:id','News/delete'); // 定义DELETE请求路由规则                     Route::rule('num','index/index/num','*');                     Route::any('new/:id','News/read'); // 所有请求都支持的路由规则

6

6、设置路由-动态批量注册     基本格式:                     Route::rule([                                         '路由规则1'=>'路由地址和参数',                                         '路由规则2'=>['路由地址和参数','匹配参数(数组)', '变量规则(数组)']                                         ...                                         ],'',                                         '请求类型','匹配参数(数组)','变量规则');     使用:               Route::rule([                                   'test'=>'index/index/test',                                   'num/:id'=>'index/index/num'                                 ],'','get');               Route::get([                                  'test'=>'index/index/test',                                  'num/:id'=>'index/index/num'                                ]);

7

7、设置路由-配置文件批量注册     return [                    'new/:id'   => 'News/read',                   'blog/:id'   => ['Blog/update',['method' => 'post|put'], ['id' => '\d+']],                 ];

8

8、变量规则     Route::rule('num','index/index/num',get',[],['id'=>'\d+']);

9

9、路由参数     ext 路由后缀 method 访问方法     Route::rule('num','index/index/num',get',[‘method'=>'get','ext'=>'html'],['id'=>'\d+']);

10

10、资源路由       声明:Route::resource('blog','index/blog');       会自动注册七个路由规则

11

11、快捷路由       声明:// 给User控制器设置快捷路由                 Route::controller('user','index/User');       使用:get http://localhost/user/info 找控制器中的getinfo方法

12

12、生成url地址       系统类       Url::build('地址表达式',['参数'],['URL后缀'],['域名'])       系统方法       url('地址表达式',['参数'],['URL后缀'],['域名'])

注意事项

配置虚拟域名时,把域名指向根目录下的public文件(D:\phpStudy\WWW\tp5\public)

推荐信息