Symfony2 コンソール ライブラリを使用して CLI ツールの構築を実験しています。基本的な作業ができたので、それを phar としてパッケージ化したいと考えています。いくつかの例を読みましたが、見たものは非常に単純です (3 つのファイル、名前空間なしなど)。
私のsrc/
ディレクトリには次のものがあります。
上記src/
にはconsole.php
、アプリを実行するために実行する があります。vendors/
コンポーザーを使用して依存関係をインストールしているため、ディレクトリもあります。console.php
非常に簡単です:
#!/usr/bin/env php
<?php
set_time_limit(0);
$loader = require 'vendor/autoload.php';
use Symfony\Component\Console\Application;
use Bendihossan\Pinfo\Command\EnvironmentCommand;
use Bendihossan\Pinfo\Command\ExtensionsCommand;
use Bendihossan\Pinfo\Command\RunAllCommand;
$console = new Application();
$console->add(new RunAllCommand());
$console->add(new EnvironmentCommand);
$console->add(new ExtensionsCommand);
$console->run();
console.php
phar のビルドについて (少し) 理解していることから、スタブとして含める必要があるsrc/
と思いますvendors/
。
phpmaster.comのサンプル コードを見ると、すべてのファイルを phar を使用して手動で指定していますfile_get_contents
が、コンポーザーのオートローダーを使用して PSR-0 ディレクトリ構造を維持するには、ディレクトリ構造を維持する必要があります。
.phar を作成し、その中にディレクトリ構造を維持して、composer のオートローダーを引き続き使用できるようにする簡単な方法はありますか?