路由的配置文件在/app/routes.php
要把网址路由到一个类的方法,可以使用如下方式:
<?php
Route::get('/','App\\Frontend\\IndexController');
当然也可以使用其它请求方式:
<?php
Route::get('/','App\\Frontend\\IndexController');
Route::post('/','App\\Frontend\\IndexController');
Route::put('/','App\\Frontend\\IndexController');
Route::delete('/','App\\Frontend\\IndexController');
分组:
<?php
Route::group(['prefix' => '/backend_2016/','namespace' => '\\App\\Backend'],function(){
Route::get('setting','SettingController@index');
Route::group(['prefix' => 'articles','domain'=>'www.a.com'],function(){
Route::get('/add','IndexController@add');
});
});
这里的prefix表示前缀,namespace表示当前分组中类的命名空间。
组内还可以有小分组。
如上。它的网址会被表示为/backend_2016/articles/add,它的命名空间为上面提到的\\App\\Backend。当然,也可以在本分组中表示自己的命名空间。
domain还没有实现。
数字参数用(:num)表示,如下。
<?php
Route::get('/article/(:num).html','App\Frontend\ArticleController@show');
系统会将数字参数作为方法的参数传给方法。
<?php
namespace App\Frontend;
class ArticleController{
public function show( $id ){
echo $id;
}
}
当我们访问网址/article/1985.html时,程序会实例化ArticleController并把1985传递给show($id)这个方法。
<?php
Route::get('/article/(:any)/(:num).html','App\Frontend\ArticleController@category');
这里两个参数会传给category方法,如下:
<?php
public function category( $ctgName, $ctgId ){
echo 'ctg name:' . $ctgName . ' , ctg id:'. $ctgId;
}
当然,还可以使用正则表达式。
<?php
Route::get('/regex/([a-z]+)/([0-9]+).html','App\Frontend\ArticleController@regex');