Генератор документов Yii не принимает команду документов - PullRequest
2 голосов
/ 23 декабря 2011

Я хочу использовать генератор документов Yii, я извлек источник в защищенных / командах.

Когда я пытаюсь запустить команду:

yiic docs check

это говорит:

Yii command runner (based on Yii v1.1.8)
Usage: c:\wamp\www\FRAMEW~1\yiic <command-name> [parameters...]

The following commands are available:
 - message
 - migrate
 - shell
 - webapp

To see individual command help, use the following:
   c:\wamp\www\FRAMEW~1\yiic help <command-name>

Нужно ли редактировать какую-либо конфигурацию для запуска команды docs?

1 Ответ

5 голосов
/ 29 декабря 2011

Вы можете добавить команду к вашему 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'),
...