CakePHP. Запуск функций Shell.

Если Вам необходимо выполнять одинаковые действия в консоле - например по планировщику, а так же по какому то действию пользователя, то имеет смысл из контроллера или модели вызвать функцию описанную в вашем классе Shell.

Для того что бы запустить код написанный с Console/Command необходимо в начале импортировать интересующий Вас класс, а потом вызвать нужную функцию.

//Console/Command/FeedShell.php
App::uses('AppShell', 'Console/Command');
class FeedShell extends AppShell {
public function main() {
//...
}
public function load($feed_id) {
//...
}
}

Далее в том месте где хотите использовать эту функцию пишем так:

App::uses('FeedShell', 'Console/Command');
$Feed = new FeedShell();
$Feed->load($this->id);

Я например это использую в модели, после сохранения записи.

Автор: Сергей Степанов

Поделиться @

Пока нет коментариев. Будьте первым!