基础路由,就是基本的路由种类
GET路由
Route::get('/',function(){ //其中的/表示访问网站主页
return '后盾网 欢迎您';
});
//将其添加到 system/route.php 文件中
//当然,可以设置多条路由,比如再增加一条
Route::get('show', function(){
return 'Hello HDPHP';
});
1、路由目录的设置,类似于触发点。即当访问此路径时就按此路由进行处理。
2、按路由的路径地址进行匹配处理。
3、GET路由,就是根据地址栏信息进行处理的一种方式,
3.1 路由地址为:/ 此时访问location/index.php的都会被此路由处理
3.2 路由地址为:/a 此时访问location/index.php/a 的都会被此路由处理
3.3 路由地址为:/a/c 此时访问location/index.php/a/c 的都会被此路由处理
即,路由根据地址栏中的信息来匹配使用具体的路由;
如果地址栏是这样的location?index.php/a/c 这样就不会匹配GET路由
小结:
1、地址栏中,主文件后的路径不能使用?而必须使用/
2、设置多个GET路由,每个路由的路径各不相同,以路径来匹配处理各类情况
1、路径是最长匹配,即当检测到地址栏中的'/show'就会匹配此,而不会匹配'/'。
* 2、关于参数
* 2.1 首先在路由中必须使用{var}来表明接收参数;
* 2.2 其次,可以使用{var?}来对是否有参数进行判断;可以传多个!
* 2.3 参数会被传送到路由内部匿名方法的参数列表中。
* 2.4 参数传递:
* /var1/var2
* /var1_var2.html
* 3、关于视图
* 3.1 在路由中同样可以使用return View()来返回视图。
* 3.2 View()方法中的参数也一样,路径、缓存时间
* 3.3 View()的查找路径同样从根目录查找,但最终的查找路径:/view
* 3.4 这个路径是/system/config/view.php配置文件中第一行所决定的。
* 4、依赖注入
* 4.1 在路由中,灵活地将各类参数传递进来的方法。
* 4.2 首先,地址栏中传入参数/show/{var1?}/{var2?}。
* route::get('/show/var1/var2',function($var1,$var2){});
* 4.3 其次,按地址传递参数.直接在匿名函数中使用类的路径传入对象实例
* route::get('/show,function(\app\demo $d);$d就是demo类的实例
* 5、路由控制器
* 5.1 route::get('/show','csmodel/index/index')这样会路由到index方法
* 5.2 route::get('/show/{var1}_{var2}.html','csmodel/index/index')
* 这样能传递两两参数到index方法中,方法参数列表中用同名变量接收
* 6、路由隐式控制器
* 6.1 route::controller('自定义此路由名','application/controller')
* 例:route::controller('user','csmodel/index');
* 6.1.1 当访问/user时,再在其后加上要访问当前控制器下的方法名/user/add
* 6.1.2 此方法名只是控制器中的方法的后缀,前缀可能是get/post即访问方式
* 6.2 隐匿路由控制器的参数传递:以常规方式,get:?var1='x'&var2='y'.post方式
* 6.3 参数的接收:在方法中用get['var1']这种方式来接收
* 7、参数检测
* 7.1 在route::get('/',function(){})后使用->where(正则表达式);对传入的参数检测
* 7.2 可以使用链式操作,对多个传入参数进行检测->whwre(1)->where(2)
* 7.3 可以使用数组形式对多个参数进行检测->where([1,2]);
* 7.4 例
* route::get('/{var1}_{var2}.html',function($var1,$var2){})->
* 7.4.1 where('var1','[0-9]+')->where('var2','[a-z]+');
* 7.4.2 where(['var1'=>'[0-9]+','var2'=>'[a-z]+']);
* 7.4.3 第一参数只能是数字;第二个参数只能是小写字母
* 7.4.4 '[0-9]+'正则表达式。
* 8、分组路由:具有相同路由器名的不同的方法就可以使用分组
* Route::group('prefix'='routeName',function(){
* Route::get('add',function(){});
* Route::get('save',function(){});
* })
* 访问时使用: /routeName/add 这样的形式来访问
* 9、分组路由中的控制器
* 将控制器路由放到分组路由之中,通过
* 分组名/控制器路由名/方法名后缀 这样的方法来访问
* 10、可以创建独立的路由文件,然后引入route.php文件之中。
* 11、资源路由,视频67-70课,由于不能创建资源控制器所以,没有实例