Вы можете добавить команду к вашему CConsoleApplication, добавив ее в команду map.
добавьте это к вашему protected/config/console.php
:
'commandMap' => array(
'docs' => array(
// alias of the path where you extracted the DocsCommand.php
'class' => 'application.commands.DocsCommand',
)
),
после этого yiic docs
запустит DocsCommand, и он также должен появиться в списке доступных команд.
Вы должны сделать это в конфигурации вашего консольного приложения, поскольку CWebapplication и CConsoleApplication имеют много различных свойств, которые вы можете установить через config. commandMap
в этом примере является свойством CConsoleApplication, но не CWebApplication, поэтому вы можете определить его только в консольном приложении. Подробнее о настройке см. В Подробное руководство Yii
Также, если вы посмотрите на файл yiic.php в защищенном пути ваших приложений, вы увидите, что он содержит файл console.php
:
<?php
// change the following paths if necessary
$yiic=dirname(__FILE__).'/../yii/framework/yiic.php';
$config=dirname(__FILE__).'/config/console.php';
require_once($yiic);
Если у вас есть конфигурация, которая должна быть одинаковой для сети и консоли, например, для подключения к базе данных, вы можете поместить ее в собственный файл конфигурации, например, config/db.php
и включите его в config/main.php
и config/console.php
следующим образом:
'db' => include(dirname(__FILE__). '/db.php'),