首先,我必须告诉我,我对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。有人可以帮助我解决这种情况吗?

最佳答案

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

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

关于php - 获取Laravel服务提供商内部的当前路线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30915040/

10-10 11:37