webman
webman copied to clipboard
希望有更多关于路由的事件
有些需求,需要在路由分发之前完成,但是目前webman似乎还做不到。 尝试了一下中间件,但是中间件都是在路由分发之后完成的,不符合我的需求。
比如,对于找不到的controller或者action,我希望自己处理一些逻辑并返回自定义错误
当时设计时有考虑不管什么请求都先执行全局中间键,再走路由流程,但是大部分开发者写中间键时可能不会考虑到路由不存在404的情况,这就可能导致bug。
所以webman里先执行路由,如果路由存在则执行中间键,不存在则尝试执行路由设置的fallback,如果没有设置路由的fallback,则返回404。
所以对于找不到的controller或者action这种需要自定义处理的情况,设置Route::fallback();来解决就好。 例如在config/route.php里设置:
Route::fallback(function($request){
return response('<h1>自定义404</h1>', 404);
});