thinkphp5.0
sublime
1、路由的作用 简化URL地址,方便大家记忆 有利于搜索引擎的优化
2、入口文件 1、前后台分离 在网站public目录下(根目录\public)新建admin.php 打开admin.php DocumentRoot 'D:\phpStudy\WWW\tp5\public' ServerName www.tp5.net ServerAlias tp5.net
3、tp5.0路由学习 1、支持三种路由规则 2、路由只针对应用,不针对模块,因此路由的设置也是针对应用下面的所有模块。 3、如果某些模块不想使用路由的话,关闭路由 在后台入口文件中增加关闭路由配置(必须写在 加载引导文件之后) \think\App::route(false);
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、设置路由-动态单个注册 设置路由文件(根目录\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、设置路由-动态批量注册 基本格式: 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、设置路由-配置文件批量注册 return [ 'new/:id' => 'News/read', 'blog/:id' => ['Blog/update',['method' => 'post|put'], ['id' => '\d+']], ];
8、变量规则 Route::rule('num','index/index/num',get',[],['id'=>'\d+']);
9、路由参数 ext 路由后缀 method 访问方法 Route::rule('num','index/index/num',get',[‘method'=>'get','ext'=>'html'],['id'=>'\d+']);
10、资源路由 声明:Route::resource('blog','index/blog'); 会自动注册七个路由规则
11、快捷路由 声明:// 给User控制器设置快捷路由 Route::controller('user','index/User'); 使用:get http://localhost/user/info 找控制器中的getinfo方法
12、生成url地址 系统类 Url::build('地址表达式',['参数'],['URL后缀'],['域名']) 系统方法 url('地址表达式',['参数'],['URL后缀'],['域名'])
配置虚拟域名时,把域名指向根目录下的public文件(D:\phpStudy\WWW\tp5\public)