CakePHPでPEARを使う

CakePHPでよく言われることは「PEARを使わなくてもいい。」ということ。しかし、PEARには便利なライブラリがあります。これを使わない手はありません。おそらく使わなくてもいいというのは、PEAR::DBのことをいっているのか? PEARはPEAR::DBだけではないのです。

今回参考にしたのは、「CakePHPでZendFrameworkを使う」(このページへのトラックバックの付け方がわからないのでリンクでごめんなさい)というサイト。つまり、ZendFrameworkもPEARもライブラリだからいいのだという単純な考え。

まあ、普通にPEARをインストールしてしまえば、今まで通り使えるのですが、CakePHPの作法にしたがってということで。

詳しいことはこのページをみていただければいいのですが、app/vendorsの下に、PEARのライブラリファイルをコピーしてしまう。今回は携帯電話の振り分けがしたいので、PEAR::Net_UserAgent_Mobileを使えるようにします。つまり、app/vendors/Net/UserAgentというディレクトリを作って、PEAR::Net_UserAgent_MobileのMobileのディレクトリをコピーしてしまいます。そのとき、app/vendorsにPEARのpear.phpも忘れずにコピーします。

上記のページのように、zend_init.phpを作るのがミソなのですが、名前がそのままだと何ですので、pear_init.phpにしてしまいました。

後は、コントローラの上のほうに

vendor('pear_init');
vendor('Net/UserAgent/Mobile');

としておけば、コントローラの中でPEAR::Net_UserAgent_Mobileが使えます。

このページの作者に感謝!

このページは xfy Blog Editor を利用して作成されました。