Caution: You are browsing the legacy symfony 1.x part of this website.

symfony 1.1でプラグインを動かす方法

1.2
Symfony version
1.1
Language

symfony 1.1に対して、プラグインのシステムが完全に書き直されました。 プラグインの動作方法が大きく改善され、symfonyプロジェクトでプラグインを動作させることも簡単にできるようになりました。

プラグインをインストールする

symfony 1.1ではプラグインをインストール方法はずっと簡単になりました。 プラグインシステム全体がPEARチャンネルの完全な実装に基づいています。これによって依存関係の管理(インストール作業)が楽になり、デフォルトのsymfony公式サイトチャンネル以外の異なるPEARチャンネルからインストールすることができます。 あなた自身が書いたプラグインを簡単にインストールできる独自チャンネルをセットアップすることさえできます!

デフォルトのチャンネル(symfony公式サイトチャンネル)からプラグインをインストールするには、パッケージのURLをすべて入力する必要はありません。単純なコマンドで十分です:

$ ./symfony plugin:install sfGuardPlugin

このコマンドを実行するとsfGuardPluginがすぐにインストールされます。 しかしながら、プロジェクトにインストールされるプラグインを制御するために利用できるオプションがいろいろあります:

$ ./symfony plugin:install --stability=beta sfGuardPlugin

このコマンドによって非安定版のプラグインがプロジェクトにインストールされます。 既に安定したプラグインのベータ版もしくはまだ安定版がリリースされていないプラグインを試す場合に便利です。

プラグインの特定のバージョンを指定することもできます:

$ ./symfony plugin:install --release=1.0.0 sfGuardPlugin

このコマンドでsfGuardPluginのバージョン1.0.0がインストールされます。

他のプラグインに依存しているプラグインの場合は動かす前に依存プラグインをインストールしなければなりません。 symfony 1.0では、選んだプラグインをインストールする前にプラグインのリストの手引きが必要でした。 symfony 1.1では、PEARチャンネルの完全実装を利用することでプラグインの依存関係の管理機能は強化されました。 プラグインとその依存関係をインストールするには次のコマンドを実行します:

$ ./symfony plugin-install --install_deps sfGuardPlugin

動かすためにすべてのインストール方法の手引きを見る必要はありません。 symfonyはインストールされているプラグインを考慮します。

PEARチャンネルを利用する別の機能は異なるチャンネルを利用するものです。 デフォルトでは、symfony-plugins(デフォルトのインストール方法ではこれを指定する必要はありません)という名前を通して、symfonyはsymfony公式サイトのPEARチャンネルを使います(plugins.symfony-project.org)。 他のチャンネルを利用するには、まず新しいチャンネルを追加する必要があります:

$ ./symfony plugin:add-channel custom-channel.example.com

次にプラグインをインストールする際にinstallコマンドにそのチャンネルを指定します:

$ ./symfony plugin:install --channel=custom-channel.example.com sfGuardPlugin

上記の追加パラメータはすべて省略記法を持ちます。 これはhelpコマンドで調べられます:

$ ./symfony help plugin:install

言い忘れていましたが、フルURLもしくはローカルパスのどちらかを利用して、プラグインのPEARパッケージを直接指定することも可能です:

$ ./symfony plugin:install http://www.example.com/sfGuardPlugin-1.0.0.tgz

もしくは

$ ./symfony plugin:install /home/stefan/plugins/sfGuardPlugin-1.0.0.tgz

プラグインをアンインストールする

プロジェクトからプラグインを削除するタスクの使い方も非常に簡単です:

$ ./symfony plugin:uninstall sfGuardPlugin

注意すべきことは、複数のチャンネルを利用していて、デフォルトのsymfony-pluginsチャンネル以外の別のチャンネルから来たプラグインをアンインストールする場合、チャンネルを指定する必要があります:

$ .symfony plugin:install --channel=custom-channel.example.com sfGuardPlugin

プラグインがどのチャンネルからインストールされたのか調べるには、./symfony plugin:listタスクを使います。

プラグインをアップグレードする

プラグインのアップグレード作業はシンプルです。次のコマンドを入力すれば最新バージョンのプラグインに更新されます:

$ ./symfony plugin:upgrade sfGuardPlugin

省略記法を含む引数--stability--release--channelは、このタスクに対しても利用可能で、同じ方法で適用できます。

インストールされているプラグインの一覧を表示する

最もシンプルなタスクはインストールされたすべてのプラグインの一覧を表示するものです:

$ ./symfony plugin:list

このコマンドには引数がありません。

ご覧の通り、書き直されたプラグイン管理システムはより強力でよりプラグインの管理が楽になります。 とりわけ独自のプラグインを開発する場合、プラグインを独自のPEARチャンネルで集中管理して任意のプロジェクトにインストールできます。