2013-05-09 1 views
1

Как использовать функцию Set внутри компонентов в торте php, особенно в версии для пирога 1.3?Как использовать «набор» в компоненте, особенно в cakephp?

class DevicesComponent extends Object 
{ 
    function startup($controller) 
    { 
    $this->controller = $controller; 
    } 
    function push() 
    { 
     $this->set('data', $data); 
     $this->controller->set('data', $data); 
    } 


} 

Я получаю следующее сообщение об ошибке Фатальная ошибка: Вызов неопределенной метод DevicesComponent :: набор().

Я проверил существующие же вопросы, но ссылки не доступны 'Set' in Components of Cake PHP

ответ

1

Попробуйте удаления $this->set('data', $data) из вашей push функции:

function push() 
{ 
    $this->controller->set('data', $data); 
} 

И с помощью этого вместо функции startup:

public function initialize(){ 

    $this->controller =& $controller; 

} 
+0

да я сделал то же самое .. класс DevicesComponent расширяет Object { запуска \t функции ($ controller) \t { \t \t $ this-> controller = $ controller; \t} \t функция толчок() { \t \t $ этом-> контроллер-> набор ('данные', $ данных); } } Ошибка сбрасывания как «Неустранимая ошибка: вызов функции-члена() для не-объекта« – AnNaMaLaI

+0

Я обновил ответ. – Alvaro

+0

Почему это приемлемый ответ? Это неверно. Компоненты даже не имеют обратного вызова beforeFilter(). – ADmad

0

Просто удалите строку $this->set('data', $data); и ошибку wi не будет. У вас уже есть правильный оператор в следующей строке, чтобы установить view var через экземпляр контроллера $this->controller->set('data', $data);.

0

Попробуйте этот код, он может работает ..

function startup(&$controller) 
    { 
    $this->controller = $controller; 
    } 

И в функции нажимного

function push() 
    { 
    $this->controller->set('data', $data); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^