Я передаю объект пользователя из контроллера в представление, затем вызываю метод на этом контроллере.Я сделал print_r для объекта в представлении, поэтому я знаю, что это правильный объект с правильными значениями.Переменная current_user является экземпляром пользовательского класса.
Вот строка в макете, которая выдает ошибку.
<?php echo $this->current_user->get_avatar_url(); ?>
Вот метод в классе пользователя, который он вызывает
public function get_avatar_url()
{
return !empty($this->avatar) ? $this->avatar : $this->fb_userid != '' ? "http://graph.facebook.com/".$this->fb_userid."/picture" : "/public/images/pukie.jpg";
}
Это ошибка, которую я получаю
Неустранимая ошибка : main () Сценарий попытался выполнить метод или получить доступ к свойству незавершенного объекта.Убедитесь, что определение класса «Пользователь» объекта, с которым вы пытаетесь работать, было загружено до вызова unserialize () или предоставьте функцию __autoload () для загрузки определения класса в / home/breathel/public_html/application/views/layouts/layout.phtml в строке 48
Я включаю полную базу контроллеров, где это вызывается, если этоимеет значение
<?php
Zend_Loader::loadClass('Zend_Controller_Action');
Zend_Loader::loadClass('User');
class BaseController extends Zend_Controller_Action
{
protected $auth;
protected $current_user;
protected $db;
protected function initialize_values()
{
$auth = Zend_Auth::getInstance();
if($auth->hasIdentity())
{
$this->current_user = $auth->getIdentity();
$this->view->current_user = $this->current_user;
}
$this->db = Zend_Registry::get('dbAdapter');
$this->view->controller_name = $this->_request->getControllerName();
$this->view->view_name = $this->_request->getActionName();
}
}