コアポイント
この記事は2017年5月24日に更新され、この重要なモダンツールのより包括的な紹介を提供します。
「コンソールコンポーネントは、美しくテスト可能なコマンドラインインターフェイスを作成するプロセスを簡素化します これは、Symfony Consoleコンポーネントツールページにアクセスしたときに見られる歓迎メッセージです。
ソフトウェア開発者として、コマンドラインツールを使用する必要があることがよくあります。これらのツールは、何らかの繰り返しタスク(データの移行、輸入の実行、Cronジョブの作成など)を実行する必要がある場合に役立ちます。
Symfony Consoleコンポーネントツールは、独自のコマンドラインツールを作成するための簡単なフレームワークを提供します。
インストール
作曲家に関する重要な情報はここに含まれています。
新しいコマンドを作成します
composer require symfony/console
新しいコマンドを作成するには、ファイルが実行可能であることを確認する必要があります。これを行うには、プロジェクトルートディレクトリにコンソールファイルを作成しましょう。このファイルは、コマンドマネージャーとして機能します。
さあ、ファイルが実行可能であることを確認しましょう。
次に、ファイルの先頭にシバンがあることを確認しましょう。 Shebangは、スクリプトの先頭に表示される一連の文字(親指マークに続く感嘆符が続く)です。 Shebangが存在すると、exec()は、Shebangが実行された後に指定された実行可能ファイルに変更されます。この例では、PHPスクリプトとして実行されます。の後、コンソールアプリケーションを定義しましょう。コマンドマネージャーの最初のイテレーションは次のようになります:
touch console
よく見てみましょう。まず、すべての依存関係を自動的にロードし、コンソールコンポーネントからアプリケーションパッケージをインポートします。その後、アプリケーションの新しいインスタンスを作成して実行します。
chmod 755 console
./console
を使用してスクリプトを実行する場合、次のヘルプメッセージを取得する必要があります。
スクリプトを作成し、新しく作成したコマンドマネージャーに登録しましょう。
この特定の例では、2つの単純なコマンドを実装します。1つは、ハッシュが与えられた文字列に属していることを確認するために、ハッシュする文字列ともう1つは実装します。
次のコンテンツを使用して、hash.phpクラスの
フォルダーを配置します。
/src
コマンドを作成する時が来ました。 hashcommand.phpという新しいPHPファイルを作成しましょう。
composer require symfony/console
で完了したコマンドは次のとおりです
構成セクションでは、setNameメソッドはコマンドを呼び出す方法であり、setDescriptionはコマンドの説明であり、addArgumentはコマンドがパスワードという名前のパラメーターを受け入れることを宣言するステートメントであり、必要です。
実行セクションでは、getArgument関数を介してパラメーターにアクセスし、ハッシュクラスを使用してハッシュします。最後に、outputinterfaceのwriteelnメソッドを使用して、結果を画面に印刷します。
touch console
コンソールにコマンドを登録した後、実行しましょう。
hashは、php hash()メソッドをSitePoint文字列に適用した結果です。 ハッシュ確認関数については、同じ方法を使用しますが、1つではなく2つのパラメーターがあります。 1つは確認する必要がある文字列であり、もう1つは検証したいハッシュ値です。
次に、コンソールにコマンドを登録します。
テストに関しては、Symfonyはいくつかの便利なツールを提供します。最も便利なものは、コマンドテスタークラスです。これは、コマンドラインなしでコマンドをテストするための特別な入力クラスと出力クラスを提供するためです。 CommandTesterクラスを使用して、Hash:Hashコマンドのテストを実装しましょう。 最初に、私たちと同じレベルで に名前を付けてみましょう。
コマンドラインに見られるように、
結論
この記事で書いたすべてのコードは、githubで見つけることができます。
。このコマンドは、Symfony Consoleコンポーネントをプロジェクトにダウンロードしてインストールします。
。 コマンドパラメーターとオプションは、コマンドクラスの構成メソッドで定義できます。 getArgumentおよびgetoptionメソッドを使用して、実行方法のこれらのパラメーターとオプションの値を取得できます。 Symfony Consoleは、出力を表示するいくつかの方法を提供します。 writeelnメソッドを使用してテキストの行を表示し、書き込みメソッドを使用してテキストを表示し(最後に行の破損はありません)、テーブルメソッドを使用してテーブルを表示できます。 エラーは、例外をスローすることで処理できます。 Symfony Consoleはこれらの例外をキャッチし、エラーメッセージを表示します。 Exitメソッドを使用して、コマンドの実行を停止し、Exitコードを返すこともできます。 Symfony Consoleは、コマンドをテストするために使用できるCommandTesterクラスを提供します。このクラスを使用して、特定のパラメーターとオプションを使用してコマンドを実行し、出力と終了コードをアサートできます。 symfonyプロジェクトでは、chmod 755 console
./console
実行しましょう:最終結果が表示されます:
#!/usr/bin/env php
<?php require_once __DIR__ . '/vendor/autoload.php';
use Symfony\Component\Console\Application;
$app = new Application();
$app->run();
<?php
namespace Hash;
class Hash {
/**
* 接收一个字符串密码并对其进行哈希处理。
*
* @param string $password
* @return string $hash
*/
public static function hash($password) {
return password_hash($password, PASSWORD_DEFAULT);
}
/**
* 验证哈希是否与给定的密码相对应
*
* @param string $password
* @param string $hash
* @return boolean 如果哈希是从密码生成的
*/
public static function checkHash($string, $hash) {
if (password_verify($string, $hash)) {
return true;
}
return false;
}
}
/src
フォルダーを作成しましょう。 /tests
composer require symfony/console
Symfonyコンソールをインストールする方法は?
Symfonyコンソールは、Composer(PHPの依存管理ツール)を使用してインストールできるSymfonyフレームワークのコンポーネントです。 Symfony Consoleをインストールするには、端末で次のコマンドを実行する必要があります:composer require symfony/console
Symfonyコンソールは、コマンドラインコマンドを作成するための簡単なAPIを提供します。これらのコマンドは、CRONジョブ、移行、輸入、またはコマンドラインを介して実行できるその他のタスクタイプに使用できます。また、カラーディスプレイ、進行状況バー、テーブル、および出力のその他のインタラクティブな機能もサポートしています。
新しいコマンドを作成するには、SymfonyComponentConsoleCommandクラスを拡張する新しいクラスを作成する必要があります。このクラスでは、Configureメソッドのコマンドの名前、説明、パラメーター、およびオプションを定義します。実行メソッドには、コマンドのロジックが含まれます。 スクリプトに続いてコマンドの名前を使用する必要があります。たとえば、
というコマンドがある場合、次のコマンドで実行できます:bin/console
app:my-command
データベースの移行にSymfonyコンソールを使用する方法は? bin/console app:my-command
Symfonyコンソールのコマンドパラメーターとオプションを処理する方法は?
Symfonyコンソールに出力を表示する方法は?
Symfonyコンソールのエラーを処理する方法は?
Symfonyコンソールでコマンドをテストする方法は?
SymfonyプロジェクトでSymfony Consoleを使用する方法は?
bin/console
スクリプトを使用してコマンドを実行できます。また、src/Command
ディレクトリにSymfonyComponentConsoleCommandクラスを拡張する新しいクラスを作成することにより、独自のコマンドを作成することもできます。
以上が再導入Symfony Console -UninitiatedのCLI PHP!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。