Yii2 コマンドの実行方法

Pocket

ときどき忘れるので書いておく。

Commandの基本

yii\console\Controllerを拡張したコントローラーに”action”で始まるpublicな関数を書くと、そこがコマンドのエントリポイントになる。


namespace app\commands;

use yii\console\Controller;

class HelloController extends Controller
{
    /**
     * 文字列を表示する
     * @param string $message 表示する文字列
     */
    public function actionIndex($message = 'hello world')
    {
        echo $message . "\n";
    }

    /**
     * 文字列を2回表示する
     * @param string $message 表示する文字列
     */
    public function actionTwice($message = 'hello world')
    {
        echo $message . $message . "\n";
    }
    

}

このコードをコマンドから動かすには、プロジェクトディレクトリに移動してから、コントローラー名を引数で指定する。
actionIndexはデフォルトの関数で、actionを指定しないときに参照される。


php ./yii hello

actionを指定するときは/(スラッシュ)に続けてアクション名を書く


php ./yii hello/twice

2語以上からなるコントローラー名

例えば SitemapGeneratorController のような、2語以上からなるコントローラー名の場合は間にハイフンを入れる。


php ./yii sitemap-generator

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です