Cakephp 1,3 в 2,0 преобразование - PullRequest
0 голосов
/ 19 октября 2011

Я пытаюсь обновить приложение Cake 1.3 до версии 2.0. В некоторых из методов Model я загружаю компоненты Session и Email следующим образом:

App::uses('SessionComponent', 'Controller/Component');
App::uses('EmailComponent', 'Controller/Component');

$Session = new SessionComponent();
$Email = new EmailComponent();

Однако, когда я загружаю эти страницы, я получаю эту ошибку:

Warning (4096): Argument 1 passed to Component::__construct() must be an instance of ComponentCollection, none given, called in /Users/username/Sites/cake2app/app/Model/User.php on line 183 and defined [CORE/Cake/Controller/Component.php, line 77]

Notice (8): Undefined variable: collection [CORE/Cake/Controller/Component.php, line 78]

Как правильно загружать и использовать Компоненты в Cake 2.0, как мы могли бы использовать в Cake 1.3?

1 Ответ

1 голос
/ 20 октября 2011

EmailComponent был заменен классом CakeEmail, для получения дополнительной информации об использовании этого класса см. http://book.cakephp.org/2.0/en/core-utility-libraries/email.html.

И вместо SessionComponent вам придетсяиспользуйте класс CakeSession, если вы хотите получить доступ к сеансу в вашей модели.Вы можете включить этот класс в:

App::uses('CakeSession', 'Model/Datasource');

Нет необходимости создавать экземпляр этого класса.

...