Запустите оболочку плагина в cakephp 2.0 - PullRequest
5 голосов
/ 08 августа 2011

Я создал новое приложение CakePHP 2.0 и хочу запустить оболочку плагина.

<?php
// app\Plugin\Tmaker\Vendors\Shells\TmakerShell.php
class TmakerShell extends Shell {  
}

Однако я не вижу его при запуске Console/cake из командной строки.

Пожалуйста, сообщите мне, что я пропустил?

1 Ответ

17 голосов
/ 08 августа 2011

Согласно последней документации путь для оболочек изменился на app/Console/Command/.

Переместите вашу оболочку в следующее место: app/Plugin/Tmaker/Console/Command/TmakerShell.php (не уверен, что имена каталогов плагинов в CakePHP 2.0 имеют верблюжий корпус, но, похоже, это работает в любом случае.)

<?php
class TmakerShell extends Shell {
    public function main() {
        $this->out('It works!');
    }
}

Поскольку CakePHP 2.0 требует загрузки плагинов вручную, вам также необходимо обновить app/Config/bootstrap.php, добавив CakePlugin::loadAll(); или CakePlugin::load('Tmaker'); в последнюю строку.

После этого вы сможете получить доступ к своей оболочке из командной строки. В Windows это выглядит так:

C:\xampplite\htdocs\cake2\app>..\lib\Cake\Console\cake Tmaker.tmaker

Welcome to CakePHP v2.0.0-beta Console
---------------------------------------------------------------
App : app
Path: C:\xampplite\htdocs\cake2\app\
---------------------------------------------------------------
It works!
...