yii2如何运行控制台控制器功能

时间:2017-01-01 21:30:29

标签: php yii2 yii2-basic-app

我被困住了。我试图从命令shell运行一些函数。 我正在使用基本项目中的HelloController。 当我运行 Captain Skipper 0 2100 8700 1 6300 2100 2 4700 8700 3 8700 2100 4 4700 3400 它工作正常并且索引功能正在运行但是如果我尝试运行不同的功能,例如php yii hello我收到此错误 -

  

错误:未知命令。

我将create函数添加到此控制器。 奇怪的是,当我运行php yii hello/create时,我看到了create命令。 我的控制器代码

php yii

更新: 我的配置文件是

namespace app\commands;

use yii\console\Controller;
use Yii;

class HelloController extends Controller
{

    public function actionIndex($message = 'hello world')
    {
        echo $message . "\n";
    }
    public function actionCreate($message = 'hello world')
    {
        echo $message . "\n";
    }

}

有谁知道如何解决这个问题? 感谢。

2 个答案:

答案 0 :(得分:8)

运行时

php yii hello

您正在呼叫actionIndex的{​​{1}}。此控制器没有任何其他操作,因此您就会看到错误。

干净的基本应用安装控制台安装中唯一可用的HelloController字段位于create部分,因此您可以通过

调用migrate中的actionCreate
MigrateController

因此除非你有一些自定义控制器/动作,否则没有其他选择。

对于所有可用的操作,像以前一样运行php yii migrate/create 。你可以运行

php yii

获取有关所选命令的帮助。

the Guide中了解有关控制台命令的更多信息。

答案 1 :(得分:1)

按照以下步骤操作即可

  1. 转到项目的根文件夹
  2. 在终端中打开根文件夹路径。
  3. 现在我的控制器名称是: ContactMigrationController
    函数名称为: actionGetContact
  4. 然后运行此cmd php yii contact-migration / get-contact
  5. 完成。