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

时间:2015-06-18 12:13:17

标签: 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() );

    }
}

因此,当我运行我的网站时,dd只返回null。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

在服务提供者类中,Route :: Class将无法正常工作。试试这些

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

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