我很难绕过laravels刀片布局.
互联网上的所有示例和文档(例如laravel文档:https://laravel.com/docs/5.3/blade 或youtube上的视频教程)仅使用一个master.blade.php作为布局.
对于更复杂的项目,是否有最佳实践?
我的项目中包含以下内容类型:
所有这些内容类型都有不同的布局:
所以我不知道在什么情况下......
... 要么 ...
这个让我疯狂的现在,我找不到任何有价值的东西,比如最好的做法是否使用布局.
非常感谢你的帮助!
布局结构很容易变得一团糟,这就是为什么强烈建议将布局和局部组织在一个直观的文件夹结构中.通过这样做,您将确保在将来,当您的应用程序增长时,它将保持干净和有条理.这还取决于您正在进行的项目类型.信不信由你,有时文件夹结构因项目而异.
据我所知,没有关于如何组织特定于Laravel的布局文件夹的任何"最佳实践",但这里是我如何组织我的项目的一个例子(并且已经为我的所有Laravel应用程序工作):
views/
??? v1/
? ??? master
| | ??? master-public.blade.php
| | ??? master-admin.blade.php
| | ??? master-user.blade.php
| ??? components
| ? ??? navigation
| | | ??? public.blade.php
| | | ??? admin.blade.php
| | | ??? user.blade.php
| | ??? headers
| | ??? footers
| ??? views
| | ??? home
| | ??? chat
| | ??? order
| | ??? reports
| ??? partials
| | ??? ads.blade.php
| | ??? sidebar.blade.php
| ??? public
| | ??? registration.blade.php
| | ??? login.blade.php
??? v2/
??? v2.2/
Run Code Online (Sandbox Code Playgroud)
这里最重要的一点是,在我的视图目录中,我为每个路径创建一个文件夹,我最终在我的应用程序中.
此外,我认为将父文件夹作为webapp的UI版本非常重要.有时候,当重做UI时,往往只是将文件保存在相同的目录下,这不是很好的长期,因为你最终会在同一个文件夹中为你站点的不同版本提供大量文件.
希望这有帮助!
干杯,祝你好运!
好的做法是扩展一些主布局,然后使用@include
并@each
包含侧边栏、页脚、页眉、横幅视图等。即使对于非常大的项目,这也非常有效。有时您想将@if
运算符用于条件包含:
@if (condition)
@include('some.view')
@else
@include('another.view')
@endif
Run Code Online (Sandbox Code Playgroud)