获取Laravel服务提供商内部的当前路线

Mer*_*kos 2 php laravel laravel-5

首先,我必须告诉我,我对Laravel完全陌生,因此,如果您觉得我的方式有误,请纠正我。

注意,我在应用程序上安装了Laravel 5.1。

我创建了一个应用程序,并且希望将面包屑放入数组中,因此我决定创建一个服务提供程序,该服务提供程序的代码如下:

<?php

namespace App\Providers;

use Illuminate\Support\Facades\Route;
use Illuminate\Support\ServiceProvider;

class BreadCrumbsServiceProvider extends ServiceProvider
{
    //  This will contain all the breadcrumb crumbs
    protected $crumbs = [];


    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $this->createBreadcrumb();
    }

    /**
     * Register the application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->singleton(
            'crumbs',
            function() {
                return $this->crumbs;
            }
        );
    }

    protected function createBreadcrumb( ) {

        dd( Route::current() );

    }
}
Run Code Online (Sandbox Code Playgroud)

因此,当我运行我的网站时,dd收益只是null。有人可以帮助我解决这种情况吗?

小智 7

在您的服务提供商类Route :: Class内部,将无法使用。试试这些

当前请求uri- $this->app->request->getRequestUri()

当前请求方法- $this->app->request->getMethod()