加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-14 19:43:35 所属栏目:大数据 来源:网络整理
导读:在Laravel中放置菜单数据逻辑的最佳概念位置是什么?如果我使用菜单包放在哪里.在Base_Controller中创建附加的功能或不同的东西? Note : this answer was written for Laravel 3 and might or might not work with the most recent Laravel 4 我最喜欢的创
在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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读