The*_*ner 6 url middleware laravel
我有我的中间件,在其中我试图到达页面的当前URL.所以我做了类似的事情:
$url = Request::url();
我用过:
use App\Http\Requests;
use Illuminate\Http\Request;
但我一直收到以下错误:
Non-static method Illuminate\Http\Request::url() should not be called statically, assuming $this from incompatible context
有任何想法吗?
iga*_*iil 16
您可以从Request Object访问url:
public function handle($request, Closure $next)
{
$url = $request->url();
...
}
Run Code Online (Sandbox Code Playgroud)
Request对象有也fullUrl()和path()方法.选择适合您需求的产品
在 Laravel 5 中,请求已经传递到handle()函数中
class MyMiddleware {
public function handle($request, Closure $next)
{
$url = $request->url();
// Do stuff here
return $next($request);
}
}
Run Code Online (Sandbox Code Playgroud)
Laravel 5 尝试远离 Facades(例如:调用诸如Request::url()),转而使用依赖注入,因此您可能会注意到某些函数无法像在 4 中那样访问。
这是 Laravel 5 中依赖注入的一个很好的解释https://mattstauffer.co/blog/laravel-5.0-method-injection