Laravel 视图部分中的App::make controller方法导致nginx中出现502错误
这是我的master.blade.php(url:admin): 以下是我的index.blade.php:Laravel 视图部分中的App::make controller方法导致nginx中出现502错误,laravel,laravel-4,Laravel,Laravel 4,这是我的master.blade.php(url:admin): 以下是我的index.blade.php: @extends('master') @section('admin_body') <p>Hello!</p> @stop @extends('master')) @节(“管理机构”) 你好! @停止 如果我访问URL:admin,我会得到502错误网关。当我删除index.blade.php的contsnts时,它确实起作用。
@extends('master')
@section('admin_body')
<p>Hello!</p>
@stop
@extends('master'))
@节(“管理机构”)
你好!
@停止
如果我访问URL:admin,我会得到502错误网关。当我删除index.blade.php的contsnts时,它确实起作用。这不是在布局中包含视图的正确方法。本文举例说明了实现这一目标的两种方法 控制器布局 通过继承
BaseController
并设置layout
属性,可以使用控制器布局。在您的情况下,控制器的外观如下所示:
class PageController extends BaseController {
protected $layout = 'master';
public function index()
{
$this->layout->content = View::make('index');
}
}
class PageController {
public function index()
{
return View::make('index');
}
}
然后将其放在您的master.blade.php
中,您希望在其中输出视图:
{{ $content }}
叶片模板
刀片模板使用它自己的内部继承系统。通过使用节和扩展,您走上了正确的道路,但下面介绍如何正确使用它。对于控制器,无需扩展BaseController
和定义布局,只需返回@扩展布局的视图即可。比如说:
class PageController extends BaseController {
protected $layout = 'master';
public function index()
{
$this->layout->content = View::make('index');
}
}
class PageController {
public function index()
{
return View::make('index');
}
}
您的视图文件index.blade.php
需要@extends
一个布局文件(您所做的还可以,只是不需要第二个@stop
指令,因为@extends
不是关闭@stop
):
使用@include
作为旁注,您也可以使用@include('view_name')
在另一个视图中包含一个视图,但是使用上述两种方法中的任何一种来设置布局是最好的。您在视图中调用控制器操作有什么好的理由吗?您是否试图通过从PageController->index()
返回index.blade.php
视图来呈现master.blade.php
内部的index.blade.php
视图?您是对的。这正是我想做的。
@yield('admin_body')