drush の php:script コマンドについて:
コマンドヘルプ
Drupal の完全起動後に PHP でスクリプトを実行する。
長い PHP コードや bash の引用符を使うのが面倒な場合に、eval コマンドの代わりに使用できます。スクリプトを誰かと共有する予定がある場合は、文書化も兼ねて完全な Drush コマンドを書いた方が良いでしょう。Drush では、$extra という変数でスクリプトからコマンドラインオプションを取得できます。
使用例
- drush php:script example --script-path=/path/to/scripts:/another/path
指定したパスの example.php というスクリプトを実行する。 - drush php:script -
標準入力から PHP コードを実行する。 - drush php:script
すべての利用可能なスクリプトを一覧表示する。 - drush php:script foo -- apple --cider
引数 apple とオプション cider を指定して foo.php スクリプトを実行する。
セパレータ -- に注意。
引数
- [extra]...
オプション
- --format[=FORMAT]
デフォルト値:var_export - --script-path=SCRIPT-PATH
スクリプトを検索する追加パス。複数ある場合は、Unix ベースのシステムならコロン(:)、Windows ならセミコロン(;)で区切る。
関連情報
Drush スクリプトの例:
<?php
//
// この例は、drush スクリプトの書き方を示すものです。
// 以下のスクリプトは php-script コマンドで実行します。
//
use Drush\Drush;
$this->output()->writeln("Hello world!");
$this->output()->writeln("The extra options/arguments to this command were:");
$this->output()->writeln(print_r($extra, true));
//
// 起動したサイトは '@self' エイリアスで確認できます。
// これは起動サイトがある場合にのみ定義されます。
//
$self = Drush::aliasManager()->getSelf();;
if (!$self->hasRoot()) {
$this->output()->writeln('No bootstrapped site.');
}
else {
$this->output()->writeln('The following site is bootstrapped:');
$this->output()->writeln(print_r($self->legacyRecord(), true));
}
エイリアス
- scr
- php-script
参考資料
- php:script(drush.org)