Laravel - 带有模板的自定义插件
Posted
技术标签:
【中文标题】Laravel - 带有模板的自定义插件【英文标题】:Laravel - Custom Plugin with Template 【发布时间】: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。我想调用一个插件,插件返回一个视图,然后被渲染。 【参考方案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')
,这确保它继承了正确的布局(如果有多个,尽管在我的示例中没有)。
我认为这样的东西可以很容易地为您的项目工作,并且可以大大简化您和其他任何人的维护工作。
【讨论】:
以上是关于Laravel - 带有模板的自定义插件的主要内容,如果未能解决你的问题,请参考以下文章