【问题标题】:Laravel - Custom Plugin with TemplateLaravel - 带有模板的自定义插件
【发布时间】:2014-02-17 00:06:52
【问题描述】:

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

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.php、SideContainer.php 和AuxContainer.php 都扩展了BaseContainer.php,每个ContainerName#.php 扩展了相应的容器。我目前在这些容器中完成了所有的 HTML/视图。但我想将所有 HTML/视图移动到模板中。

我应该将模板放在/views 文件夹中,还是应该将其保存在/containers 文件夹中?我可能想将它保存在/containers 文件夹中的原因是因为会有一个base.blade.php 和main.blade.php(和side/aux),然后每个ContainerName# 一个。所以如果它们都在那里,它可能会保持清洁?如果我能做到这一点,我该如何称呼它?

【问题讨论】:

  • 您到底想构建什么? BaseContainer 是什么?
  • 我的容器保存着我的代码。例如,在此页面上,每个帖子都是一个容器。回复进入容器的“页脚”,每个回复本身就是一个容器。
  • 那么,你是在谈论局部?
  • 好吧,我不想直接调用partials。我想调用一个插件,插件返回一个视图,然后被渲染。

标签: view laravel laravel-4


【解决方案1】:

我认为这部分是意见问题,但我会在这里提出我的意见,我想如果人们不同意我可以投反对票。

我认为最好将您的所有观点保留在 /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'),这确保它继承了正确的布局(如果有多个,尽管在我的示例中没有)。

我认为这样的东西可以很容易地为您的项目工作,并且可以大大简化您和其他任何人的维护工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多