尝试在中间件 Laravel 中获取非对象的 属性
Trying to get a property of a non object in middleware Laravel
我在中间件中遇到一个奇怪的问题,其中 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);
}
}
事实证明错误消息误导了问题实际上是在视图中。
这似乎是一个 double-error,我不确定为什么闭包会在中间件中中断。对我来说,问题也在一个视图中。如果查看详细的堆栈跟踪,您将(希望)看到另一个 ErrorException,这次是在视图文件中。已处理的视图文件为我提供了行号 (storage/framework/views/bdd1ab3cd9b17fa33f375bec31b7efe831671aac.php:12).
我在中间件中遇到一个奇怪的问题,其中 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);
}
}
事实证明错误消息误导了问题实际上是在视图中。
这似乎是一个 double-error,我不确定为什么闭包会在中间件中中断。对我来说,问题也在一个视图中。如果查看详细的堆栈跟踪,您将(希望)看到另一个 ErrorException,这次是在视图文件中。已处理的视图文件为我提供了行号 (storage/framework/views/bdd1ab3cd9b17fa33f375bec31b7efe831671aac.php:12).