Php ";尝试分配非对象的属性“;在拉威尔4号

Php ";尝试分配非对象的属性“;在拉威尔4号,php,layout,laravel,blade,Php,Layout,Laravel,Blade,在Layouts文件夹中,我有一个名为signup.blade.php的布局 在我的控制器中,我向其分配布局,如下所示: protected $layout = 'layouts.signup'; 在一个名为“signup”的单独文件夹中,我有一个名为“signup1.blade.php”的文件,其中包含典型的刀片模板内容。这是一个叫做“内容”的部分。在我的代码之前 @section('content') 它的结尾有“停止” 我的控制器如下所示: public function Si

在Layouts文件夹中,我有一个名为signup.blade.php的布局

在我的控制器中,我向其分配布局,如下所示:

    protected $layout = 'layouts.signup';
在一个名为“signup”的单独文件夹中,我有一个名为“signup1.blade.php”的文件,其中包含典型的刀片模板内容。这是一个叫做“内容”的部分。在我的代码之前

@section('content')
它的结尾有“停止”

我的控制器如下所示:

public function SignUp()
{       
    $this->layout->content = View::make('signup.signup1');
}

令人沮丧的是,这是另一个布局和控制器的工作。我仔细检查了一下,它们是一样的,但这个不行。如有任何建议,将不胜感激。谢谢。

因此,假设此控制器扩展了BaseController(必须使用$layout才能工作),
$this->layout
视图::make($this->layout)

您的错误似乎表明
$this->layout
未正确设置为视图对象

试着运行这个,看看
$this->layout
是否是一个对象/类,如果是,它是什么类

public function SignUp()
{       
    echo gettype($this->layout);
    echo get_class($this->layout);
}
知道什么
$this->layout
不会被更改为
视图
对象意味着该方法要么没有被调用,要么更可能不是
视图::make($this->layout)
的结果,这不是一个正确的视图(可能是由于某种原因,它在默默地失败)

希望以上步骤能给你一个线索,了解那里发生了什么。可能是
布局。注册
不是应用程序正在查找的布局吗

你的路线是什么样子的?

改变

class UsersController extends Controller


希望《倾诉》的作者能够解决这个问题:-)

Cn您是否显示了错误消息?好的,找出原因。如果您的类名与布局名相同,则会出现此错误。我可以担保此解决方案,因为我有相同的问题。我没有扩展
BaseController
,而是简单地扩展
Controller
,但在修复错误(即扩展
BaseController
)后,它工作了。谢谢
class UsersController extends BaseController