Symfony Console の操作をさらに素晴らしいものにするツール。
このパッケージは Packagist で入手できます。
composer require efrane/console-additions
Batch
このクラスは、Symfony コンソール アプリケーションのバッチ コマンドを提供します。これは、キャッシュの更新やデータベースの移行など、他の多くのコマンドを設定された順序で呼び出すコンソール コマンドとしてデプロイメント スクリプトや更新スクリプトなどを作成する場合に便利です。
Command::execute
での使用法:
EFrane ConsoleAdditions Command Batch:: create ( $ this -> getApplication (), $ output )
-> add ( ' my:command --with-option ' )
-> add ( ' my:other:command for-this-input ' )
-> run ();
シェルコマンド
バッチは、コンソール アプリケーションとシステム シェル コマンドの絡み合ったセットである場合があります。これは、追加の依存関係としてsymfony/process
パッケージを必要とする高度な機能です。
シェル コマンドは内部でProcess
オブジェクトを作成するため、 Batch
API はシェル コマンドを追加するためのメソッドを公開します。
addShell
指定された構成でプロセスを追加します (詳細については、Batch::addShell を参照してください)。addShellCb(string $cmd, callable $cb)
プロセスを作成し、それをコールバックに渡してさらに構成します。これは、目的のコマンドに何らかのプロセス パイプが必要な場合に特に便利です。エラーの抑制
例外をスローせずにコマンドのバッチを実行することができます。
このパッケージは追加のコンソール出力インターフェイスを提供します。
FileOutput
FileOutput はすべてのデータをファイル ストリームに書き込み、具体的なフレーバーになります。
NativeFileOutput
ネイティブの PHP ファイル ストリーミング関数を使用するため、ローカルの宛先には適したオプションですが、サーバーの PHP ストリーミング プロトコルの構成によっては、リモートの宛先にも十分な場合があります。
一方、 FlysystemFileOutput
ストリーム データをleague/flysystem
アダプターに渡し、そのデータを Flysystem がサポートする宛先 (S3、Dropbox、FTP など) に送信できます。
MultiplexedOutput
MultiplexedOutput を使用すると、複数の出力インターフェイスを組み合わせて 1 つとして機能できます。通常、出力をユーザーのコンソールやその他の宛先に送信することが考えられるため、これはファイル出力の論理的な組み合わせです。内部の簡単なセットアップは次のようになります。
class Command extends Symfony Component Console Command {
public function execute ( InputInterface $ input , OutputInterface $ output ) {
// send output to multiple destinations
$ output = new EFrane ConsoleAdditions Output MultiplexedOutput ([
$ output ,
new EFrane ConsoleAdditions Output NativeFileOutput ( ' command.log ' )
]);
// normal console command
}
}