标签归档:laravel

Laravel 5 默认使用类/方法路由

在使用绝大部分框架时,路由默认行为为访问http://xxx.com/controller_name/function_name时自动路由至Controller_nameController.php控制器下的function_name方法(Yii2 中为actionFunction_name方法),在laravel中默认并不支持这么做并认为这是一个不好的习惯。
如果执意需要此功能,可通过修改路由实现。

修改路由文件rootpath/routers/web.php,在文件最后增加以下内容:

Route::get('{model}/{func}', function ($model,$func) {
$className = 'App\Http\Controllers\\'.ucfirst($model).'Controller';
$obj = new $className;
return $obj->$func();
});
Route::get('{model}', function ($model) {
$className = 'App\Http\Controllers\\'.ucfirst($model).'Controller';
$obj = new $className;
return $obj->index();
});

参考:
https://doc.laravel-china.org/docs/5.1/routing