Laravel - 带模板的自定义插件

时间:2014-02-17 00:06:52

标签: view laravel laravel-4

我有这些“容器”,每个容器都包含我的代码的一个主要部分。因此,页面由几个容器构成,它们的外观和行为都相同。在我的路径目录中,我有以下架构

app
    /containers
        /Main
           MainContainer.php
           ContainerName1.php
           ContainerName2.php
           ...
        /Side
           SideContainer.php
           ContainerName3.php
           ContainerName4.php
           ...
        /Aux
           AuxContainer.php
           ContainerName5.php
           ContainerName6.php
           ...
        BaseContainer.php 

所以MainContainer.phpSideContainer.phpAuxContainer.php都延伸BaseContainer.php,每个ContainerName#.php都会扩展相应的容器。我目前在这些容器中完成了所有HTML / Views。但我想将所有HTML /视图移动到模板。

我应该在/views文件夹中有模板,还是应该将其保留在此/containers文件夹中?我可能希望将其保留在/containers文件夹中的原因是因为会有base.blade.phpmain.blade.php(和side / aux),然后每个ContainerName#一个。如果他们都在那里它可能会保持清洁?如果我可以这样做,我该怎么称呼它?

1 个答案:

答案 0 :(得分:0)

我认为这部分是一个意见问题,但我会在这里抛出我的意见,我想如果他们不同意,人们可以向我投票。

我认为最好将所有观点保留在/views中,主要是因为这是他们适当和预期的地方。如果除了你以外的任何人都要维护这个项目,他们会在/views中查找视图,我认为如果将它们存储在某些容器中,他们会非常困惑。

以下是我的视图结构在我的项目中的样子:

views
    /layouts
        main.blade.php
    /includes
        analytics.blade.php
        navbar.blade.php
        flair.blade.php
        ...
    /account
        main.blade.php
        public-listing.blade.php
        public-profile.blade.php
        ...
    /game
        listing.blade.php
        settings.blade.php
        ...
    about.blade.php
    contact.blade.php
    help.blade.php

我有layouts中的主要模板(基本上是我的股票引导代码),我会在includes中包含一些内容(这些内容永远不会是自己的网页,但使其他网页工作),其余网页根据控制器进入子文件夹。从我的每个“完整”视图中,顶行是@extends('layouts.main'),这确保它继承了正确的布局(如果有多个,尽管在我的示例中没有)。

我认为这样的事情很容易适合你的项目,并且会让你和其他任何人更容易维护。