php – 在Laravel中放置菜单逻辑的位置?

前端之家收集整理的这篇文章主要介绍了php – 在Laravel中放置菜单逻辑的位置?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Laravel中放置菜单数据逻辑的最佳概念位置是什么?如果我使用菜单包放在哪里.在Base_Controller中创建附加的功能或不同的东西?

Note: this answer was written for Laravel 3 and might or might not work with the most recent Laravel 4

我最喜欢的创建动态菜单方法是通过将菜单部分与主布局分开并通过Laravel’s Composer注入菜单数据来实现的(不要将它与Composer PHP包管理器混淆,它们是不同的)

<!-- layouts/default.blade.PHP -->

<div id="header">Title</div>

<div id="menu">
    @render('parts.menu')
</div>

<div id="content"></div>
<div id="footer"></div>
<!-- parts/menu.blade.PHP -->

<ul>
@foreach($menuitems as $menuitem)
    <li>{{ $menuitem->title }}</li>
@endforeach
</ul>

最后,我们可以通过作曲家注入变量.

<?PHP 

// application/routes.PHP

View::composer('parts.menu',function($view){
    $view->with('menuitems',Menu::all());
});

这样一来,每个部件/ menu.blade.PHP都被调用,Composer将拦截视图并注入$menuitems变量.与在return上使用一样View :: make(‘blahblah’) – >与(‘menuitems’,Menu :: all())

希望它有帮助:)

编辑:如果你不喜欢在routes.PHP中有逻辑,你可以把它放在start.PHP中,并考虑Jason Lewis将start.PHP分割成单独的文件.

在应用程序中创建一个名为start的目录,并用一些文件填充它.

+ application [DIR]
    \-> + start [DIR]
        |-> autoloading.PHP
        |-> composers.PHP
        |-> filters.PHP
        \-> validation.PHP

然后将这些代码添加到应用程序/ start.PHP的末尾

require __DIR__ . DS . 'start' . DS . 'autoloading.PHP';
require __DIR__ . DS . 'start' . DS . 'filters.PHP';
require __DIR__ . DS . 'start' . DS . 'composers.PHP';
require __DIR__ . DS . 'start' . DS . 'validation.PHP';

你有这个想法将作曲家功能放在composers.PHP中.

阅读整篇文章http://jasonlewis.me/article/laravel-keeping-things-organized

猜你在找的Laravel相关文章