所以,我正在Laravel中处理一个包,我想知道我们怎样才能用通配符url创建自己的Route?
如果页面请求为/users/1/edit
并且我们知道这是休息请求,该怎么办?
我想在路线本身内部实现自己的身份验证,例如:
Route::get('/users/{id}/edit', function() {
// Filtering here..
// Access Prevention here...
});
我唯一做的就是使用空变量指向那些路线(带有休息请求)
示例我们有一个数组来存储带有auth的自定义路由列表等等。
return [
'show_dashboard' => [
'process' => 'get',
'uses' => 'MyController@showDashboard',
'is_auth' => true,
'roles' => ['admin','superuser','supervisor'],
],
];
$routes = Config::get('package::routes');
Route::{$process}($url, function($p1=null,$p2=null,$p3=null,$p4=null,$p5=null) use ($routes) {
// Filtering here..
// Access Prevention here...
App::make($controller)->{$action}($p1,$p2,$p3,$p4,$p5);
});
有更好的方法吗?因为如果网址包含超过5个通配符,那就是我遇到的问题。
laravel中是否有办法调用Router
类并注册自己的路线,但也添加自己的回调。