如果日期匹配,我想打印“生日快乐”,否则我想展示一些东西。所以我在我的“/”路由中使用了中间件。
我的路线
Route::get('/', ['middleware' => 'dob', function(){
return 'Hello World';
}]);
我的内核
protected $routeMiddleware = [
'auth' => 'App\Http\Middleware\Authenticate',
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
'dob' => 'App\Http\Middleware\DateOfBirth'
];
我的中间件/DateOfBirth.php
public function handle($request, Closure $next)
{
if($request->date('d/m') == '15/09' ){
echo 'happy birthday';
}
return $next($request);
}
我只是将当前日期更改为 15 并访问公共(public)应用程序,但为什么显示 Call to undefined method Illuminate\Http\Request::date()
而不是“Happy Birthday”?
提前致谢。
最佳答案
如异常所述,问题是您对请求对象上的 date() 方法的调用。默认请求类未实现此方法 - 您是否使用此方法扩展了请求类?或者您想访问任何输入数据或来自 A 模型的数据,或者只是指 php date() 函数? 如果您告诉我们这个方法调用应该做什么,那么我们可以提供更好的帮助!?
关于php - 拉维尔 5 : How to use simple birth date middleware(before filter)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32554201/