Php ";尝试分配非对象的属性“;在拉威尔4号
在Layouts文件夹中,我有一个名为signup.blade.php的布局 在我的控制器中,我向其分配布局,如下所示: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
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