我如何回应一个'模块的名称?在我的Laravel应用程序中?

时间:2017-04-20 00:56:42

标签: php laravel laravel-5 blade laravel-5.4

目前我的Laravel应用程序中有不同的模块

App
- Module
- Module 1
- Module 2
- Module 3

我已经为每个模块分组了路线(为了简单起见)。

// Module
Route::group(
    [
        'namespace' => 'Module',
        'prefix' => 'Module',
    ],
function () {
    Route::get('/', 'ModuleController@redirect');
    Route::get('home', 'ModuleController@index')->name('Module');

在导航栏中有标题的视图(刀片模板)中,我希望标题是路由组的名称,因此无论我在模块中的哪个页面,模块名称都在导航栏。

目前我已尝试过

{{ Request::path() }} // which returns Module/PageName
刀片模板中的

。以及

{{ Route::getCurrentRoute()->getPrefix() }} // which returns /Module

但是这两者在输出中都有额外的东西。第二个是我最接近的我只需删除' /'

我不确定这是否是达到此目的的最佳方法,但如果您有更好/更有效的方法,请告诉我。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以输入路线的名称,并使用Route::currentRouteName()来获取路线的名称。希望它有所帮助!

答案 1 :(得分:0)

我认为解决方案已经存在于您的代码中。 您可以使用第一个解决方案。 只需替换它:

{{ Request::path() }}

使用此代码:

{{ explode('/', Request::path())[0] }}

方法explode会在每次找到Request::path()字符时将Array划分为'/'。然后,使用[0]选择数组的第一个元素,其中包含您需要的Module名称。