У меня есть следующий код, но он, похоже, не хочет работать прикованным.Метод метода chaining
$this->view->setData($class_vars);
$this->view->render('addview');
Вышеперечисленные работы и работает нормально, но когда я пытаюсь сделать следующее:
$this->view->setData($class_vars)->render('addview');
Я получаю следующее сообщение об ошибке:
Fatal error: Call to a member function render() on a non-object in....
Но странное дело, когда я называю это другой способ:
$this->view->render('addview')->setData($class_vars);
Он запускается, но мне нужно, чтобы setData запускался первым, так как это устанавливает var для фактического представления, так что, хотя я получаю представление о его ошибках, где должны быть vars? Оба метода являются общедоступными?
Спасибо Вам
Действительно, цепочки - это не волшебный трюк, чтобы побежать, ваша функция должна вернуть объект, на который вызывается функция. Если это не так, все кончено. В вашем примере 'render()' возвращает представление, но не 'setData()' – MatRt
Просто опубликуйте свой собственный ответ, но вы получили его первым, так что заслуживайте благодарность: setData() i добавил return $ this ; и все в порядке. спасибо, да! –