制作需要数据库的通用视图的最佳方法

时间:2014-08-26 10:43:59

标签: php laravel-4

例如,我们有一个菜单,它将通过从数据库中获取slug和title来创建url。所有页面都需要菜单。从数据库中取出的控制器传递菜单数据时,我将让每个控制器重复相同的代码,这不是DRY。那么如何将它们包含在“布局”中呢?查看,而不需要每个控制器传递菜单数据?如果它是最简单的,请原谅,我今天开始了。

1 个答案:

答案 0 :(得分:1)

您可以使用特征。使用您需要的方法定义特征类,并且仅在您需要的类中使用它们。您在BaseController中定义的任何内容都可用于扩展它的所有内容,而不是您需要的内容

MenuTrait

trait MenuControls 
{
    public function createMenu()
    {

    }
}

您需要菜单控件的类:

class INeedMenusController extends BaseController
{
    use MenuControls;

    public function doSomething()
    {
        $someVar = $this->createMenu();
    }
}