drush の php:cli コマンドについて:
コマンドヘルプ
Drupal サイト上で対話シェルを開く。
オプション
- --version-history
Drupal バージョンに基づくコマンド履歴を使用する(デフォルトではサイトごと)。 - --cwd=CWD
シェルを起動する前に移動するディレクトリ。デフォルトではプロジェクトのルートディレクトリ。
解説:Drush の PHP シェル
php:cli コマンドは、特定の(リモートまたはローカル)サイトを起動した環境が利用できる対話的な PHP REPL です。Drupal のプレイグラウンドとして、ちょっとしたコードを試したり、特定のデータを取得したり、Drush コマンドを実行したりすることができ、デバッグ作業にも役立ちます。手始めにこのブログ記事を参考にすると良いでしょう。help コマンドを実行するとコマンドの一覧が表示されます。
使用例
$ drush php:cli
Psy Shell v0.10.5 (PHP 7.4.12 — cli) by Justin Hileman
// 配列の作成例
>>> $array = ['one' => 1, 'two' => 2];
=> [
"one" => 1,
"two" => 2,
]
// php 関数の呼び出し例
>>> json_encode($array);
=> "{"one":1,"two":2}"
// Drupal の構成設定 API でサイト名を取得する例
>>> \Drupal::config('system.site')->get('name');
=> "Drupal 9 DEMO"
// settings.php で設定された $settings['hash_salt'] の値を取得する例
>>> \Drupal\Core\Site\Settings::get('hash_salt');
=> "7bb8S5Y7pZ4tvwciwBR8jsk0Ol2_Piy38vErPATD1TEPwjX0CpZLWkzgaXdALjEcP_ohmiJzkw"
// シェルに復帰
>>> exit
Exit: Goodbye
$
エイリアス
- php
- core:cli
- core-cli
関連記事
参考資料
- php:cli(drush.org)
- Drepl(damiankloip.net)
- json_encode(php.net)
- From $conf to $config and $settings in Drupal 8(anavarre.net)
- public function Config::get(api.drupal.org)
- public static function Settings:get(api.drupal.org)