我使用Laravel 5.1下面的博客中描述的模块化结构 http://ziyahanalbeniz.blogspot.com.tr/2015/03/modular-structure-in-laravel-5.html
实际上我有一个模块用户,它具有以下结构:
- 控制器
- 型号
- 翻译
- 意见
- > index.blade.php
- > register.blade.php
在我的Views目录中,我有一个index.blade.php文件和一个register.blade.php文件。 在我的index.blade.php文件中,我使用: @include(' register')以便在我的索引php文件中包含寄存器文件。 但是在调用我的索引文件时,我得到一个未找到异常的视图。
我遇到了一些问题,这是我必须在@include中添加的正确路径。 @include(' user.register')也不起作用。有任何想法吗?谢谢
答案 0 :(得分:1)
你应该包括相对于resources/view
的路径(无论你在哪里打电话),用"替换" /" s。" s。
例如:
yourproject/resources/views/template.php
yourproject/resources/views/module1/main.php
yourproject/resources/views/module1/foo.php
yourproject/resources/views/module2/main.php
yourproject/resources/views/module2/bar.php
应包含在:
@include('template');
@include('module1.main');
@include('module1.foo');
@include('module2.main');
@include('module2.bar');
请记住,当您使用@include
时,它会执行文件的文字副本,就像您复制并粘贴它一样。 @include
不会扩展文件,因此您在使用时无法替换@yield
或@section
个标记。
换句话说,调用文件成为父文件。如果要构建子视图,则应使用@extends
代替。
干杯