我試圖做我的網站控制器這樣Laravel 5.4 - 請查看登錄錯誤
class MyController extends BaseController {
public function login()
{
$this->layout->testata = View::make('OUT');
$this->layout->content = View::make('auth.login');
}
但Laravel說:「嘗試給非對象的屬性」。 什麼問題?
Basecontroller只具有構造器
class BaseController extends Controller {
public $layout = 'a.main';
protected function setupLayout()
{
if (! is_null($this->layout))
{
$this->layout = View::make($this->layout);
}
}
}
問題出在哪裏?
當您嘗試設置它們不存在的屬性時,您的班級不分配佈局。創建你自己的setupLayout函數,或者從BaseController而不是Controller繼承。 – mkaatman
'$ layout'被定義爲BaseController中的字符串,但它在登錄函數中被稱爲對象。此外,由於MyController不擴展BaseController,因此MyController中甚至沒有'$ layout'。 –
我複製粘貼時發生錯誤。是類MyController擴展BaseController {但不起作用 – Santoo