Php Laravel 4.*至5.*,在控制器中嵌套视图

Php Laravel 4.*至5.*,在控制器中嵌套视图,php,laravel,blade,Php,Laravel,Blade,我已将我的Laravel running environment更新为截至目前的最新版本。回到Laravel 4。*,我可以做如下事情: $this->layout->content = View::Make('users.login'); 但现在看来,这是失败的。我已经浏览了很多帖子,尝试了所有看似合理的方法,但我没有找到任何适合我的案例的方法。在这篇文章的底部可以找到这些尝试的链接。下面是我正在努力工作的代码 我收到的错误范围为“Class'App\Http\Controlle

我已将我的Laravel running environment更新为截至目前的最新版本。回到Laravel 4。*,我可以做如下事情:

$this->layout->content = View::Make('users.login');
但现在看来,这是失败的。我已经浏览了很多帖子,尝试了所有看似合理的方法,但我没有找到任何适合我的案例的方法。在这篇文章的底部可以找到这些尝试的链接。下面是我正在努力工作的代码

我收到的错误范围为“Class'App\Http\Controllers\View'not found”-在我将use View添加到控制器时解决了该问题,但这会导致另一个错误。我收到的另一个错误是在添加use视图时“试图分配非对象的属性”;一点

其基本思想是:

我有两个视图,一个是基本页面布局(layouts.main),另一个包含我希望嵌入到主布局中的用户登录名(user.login)。它们都是刀片格式的文件,它们都是独立加载的。如果我尝试这样做,我根本无法将这两个文件嵌套在控制器下。我正在尝试这样做,这样主文件就可以这样,并且只有这个内容部分在页面视图之间发生更改

控制器功能:

public function getLogin() {
     $this->layout->content = View::Make('users.login');
}
刀片文件的部分:

    <div class="content roundBorder wrapper">
        @yield($content)
    </div>
每次都失败

不起作用,所以我想这也是不推荐的

这行不通,因为我想马上做

当我尝试以下操作时,不适用于我:

$content = view('user.login');    
return view($this->layout, ['content' => $content]);

好吧,有几件事你做错了

首先,如果要在布局中渲染视图,通常会使用
@extends
Blade指令。看

layouts/main.blade.php
文件中:

@yield('body')
@extends('layouts.main')

@section('body')
    <!-- your markup -->
@stop
users/login.blade.php
文件中:

@yield('body')
@extends('layouts.main')

@section('body')
    <!-- your markup -->
@stop

我在工作版本中使用view函数,所以这不是问题。这篇文章中提到的是旧的方法和尝试过的方法,让功能像以前一样工作。至于主文件,以前通过控制器完成的工作现在完全通过刀片界面完成了…?嗯,通过刀片脚本完成这一切似乎可以达到目的,尽管这是我一直希望解决的问题,只是更改了控制器。。。哦,好吧+祝你好运!嗯,这就是记录在案的方式。显然,blade最终会编译成PHP,所以您可以查看源代码,看看是否可以通过控制器中的View对象来完成。