我在中间件中遇到一个奇怪的问题,其中return $next($request);
的行抛出Trying to get a property of a non object
错误,但仅在我的生产服务器上,我无法在本地重新创建此问题。
<?php
namespace App'Http'Middleware;
use Closure;
class NotSubscribed
{
/**
* Handle an incoming request.
*
* @param 'Illuminate'Http'Request $request
* @param 'Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (isSubscribed($request->user()) || getOrganisation()->skip_plan) {
flashError('You already have a subscription to Tradesoft.');
return redirect(url(''));
}
return $next($request);
}
}
原来错误信息是误导的,问题实际上是在一个视图
这似乎是一个双重错误,我不知道为什么闭包在中间件中破裂。对我来说,问题也存在于视图中。如果您查看详细的堆栈跟踪,您将(希望)看到另一个ErrorException,这次是在视图文件中。我的行号是为处理过的视图文件(storage/framework/views/bdd1ab3cd9b17fa33f375bec31b7efe831671aac.php:12)给出的。