Symfony2でpearを手軽に利用するバンドル – PearBundle

Symfony2でpearライブラリを手軽に利用するためにPearBundleというバンドルをつくりました。PearBundlepearのコマンドラッパーです。pearのパッケージをvendor/pear以下にインストールします。

インストール

gitのサブモジュールを利用して、既存のSymfonyプロジェクトに取り込んでください。

git submodule add -f git://github.com/tumf/PearBundle.git vendor/bundles/Tumf/PearBundle
git submodule update --init

Bundleの登録

 // app/AppKernel.php
 $bundles = array(
   new Tumf¥PearBundle¥PearBundle(),
 );

オートロードへの登録

// app/autoload.php
$loader->registerNamespaces(array(
    // ...
    'Tumf¥¥PearBundle'      => __DIR__.'/../vendor/bundles',
    // ...
));

オートロードの末尾に以下を追加します。 Thanks @hidenorigoto

// app/autoload.php
set_include_path(get_include_path() . PATH_SEPARATOR.__DIR__.'/../vendor/pear/php');

使い方

コマンド一覧

  • pear:exec [.... ]
    • pearにエリアスされています
  • pear:init

利用例

pearのセットアップ(app/.pearrcを作成します)

./app/console pear:init

pearチャンネルの登録

./app/console pear channel-discover openpear.org

Acme_MorningMusumeをインストールします。

./app/console pear install openpear/Acme_Morningmusume

オートロードに追加します

// app/autoload.php
$loader->registerPrefixes(array(
    //...
     'Acme_'                            => __DIR__.'/../vendor/pear/php',
));

使ってみます

$mm = new ¥Acme_MorningMusume;
var_dump($mm->members);

設定

デフォルトでpearを使いますが、パスを設定したいときには設定ファイルに記述してください。

app/config/config.yml

pear:
  command: /path/to/pear

Leave a Reply

You must be logged in to post a comment.