HOME>WEBプログラム覚書>[CakePHP2.X]PEARを使う。

[CakePHP2.X]PEARを使う。

CakePHP2系でPEARをインストールして利用するまでのメモ。 PEARパッケージとしてCakePHPを入れるのではなく、CakePHPにPEARを入れる場合です。

PEARの準備

アプリケーション用のPEAR設定ファイルをConfig/に作成します。

SH

  1. cd /path/to/app
  2. pear config-create /path/to/app/Config/pear/ ./Config/pearrc
  3.  

PHPファイルを設置する場所をVendor/に変更します。

SH

  1. pear -c ./Config/pearrc config-set php_dir  /path/to/app/Vendor/pear
  2.  

チャンネルアップデートします。PEARパッケージのインストール時にWarnning出るのでやるのですが、なんの意味があるのか不明です。

SH

  1. pear -c ./Config/pearrc channel-update pear.php.net
  2.  

基本パッケージみたいなのをインストール。

SH

  1. pear -c ./Config/pearrc install PEAR
  2.  

あとはアプリケーションに必要なパッケージをインストールします。

SH

  1. pear -c ./Config/pearrc install Net_UserAgent_Mobile -a
  2.  

CakePHPでの読み込み

個人的にはおすすめしない方法ですが、CakePHPの作法通りにやると多分こんな感じになります。

まずはパッケージの登録をします。しなくてもいいんですが、かっこいいんでやっておきます。

Config/bootstrap.php

  1. <?php
  2. App::build(array('Pear' => array(APP . 'Vendor/pear/')), App::REGISTER);
  3. ?>

PEARライブラリを利用する場合、App::import()で読み込みます。

HogeController.php

  1. <?php
  2. App::import('Pear', 'Net/UserAgent/Mobile');
  3. var_dump(Net_UserAgent_Mobile::isMobile());
  4. ?>

App::build()でパッケージを登録しなかった場合、

HogeController.php

  1. <?php
  2. App::import('Vendor', 'pear/Net/UserAgent/Mobile');
  3. var_dump(Net_UserAgent_Mobile::isMobile());
  4. ?>

のように、ちょっと長くなるので登録しておいた方がよいと思います。

結論

パフォーマンス的にはinclude/requireより優れているとか、どこかで読んだ気がするのでこちらを使うべきでしょうが、 コード的にはほとんどinclude/requireなので面倒臭いです。

なのでこんなことはせずに、Autoloadしたほうがよいと思います。 (Autoloadよりメリットあるなら別ですが・・・)

投稿日 2012年12月14日 03:57
カテゴリ PHP
タグ CakePHP | PEAR
トラックバック URL http://www.kantenna.com/cgi-bin/mt504/mt-tb.cgi/1311

コメント

コメントする
Name
Email Address
URL