2008年 9月 28日(日曜日) 16:09

【CakePHP】CakePHPでPEARを使うには

評価:
(0 票)

CakePHPでカレンダーを使うために、PEARのCalendarクラスをインストールしました。

CakePHPのコンポーネントでカレンダーがあるかと思って探してみたのですが、今のところよさそうなものが見つかりませんでした。CakePHPはあくまでフレームワークなので、PHPのライブラリとしてはやはりPEARを使うのがよさそうです。

CakePHPでは、サードパーディ製のものはcakeのコアディレクトリの並びかAPPの下にある"vendors"ディレクトリに入れることになっています。cakeのコアディレクトリの並びにあるvendorsには複数のアプリケーションから使用される可能性のあるものを、APPの下のvendorsにはそのアプリケーション特有のものを入れることになります。(参照

Calendarのインストールの例は次のようになります。

1. PEARのCalendarパッケージをダウンロードして展開

PEARのインストールは"pear install"コマンドを使うこともできますが、ここではどんな環境でも使えるようにするために、PEARのパッケージダウンロードのページからtarファイルをダウンロードしました。

ダウンロードしたtarファイルは、cakeのコアディレクトリの並びにある"vendors"ディレクトリの下にPEARというディレクトリを作って展開しました。

+-cake
+-vendors
+- PEAR
+-Calendar

2. コントローラ内でインポート

vendorsディレクトリのファイルを使用するには、コントローラ内でApp::import()メソッドを使います。

App::import('Vendor',
'Calendar_Month_Weekdays',
array('file' => 'PEAR' . DS . 'Calendar' . DS . 'Month' . DS . 'Weekdays.php'));

importメソッドでは、

  • 1番目の引数には'Vendor'
  • 2番目の引数には使用するPHPのクラス名
  • 3番目の引数にはロードするPHPファイルのパス

を、それぞれ指定します。

これでコントローラのアクションメソッドの中でCalendar_Month_Weekdaysクラスを使えるようになりました。

参考:CakePHPマニュアル 3.4.4.5 Loading Vendor Files

最終更新日: 2011年 6月 27日(月曜日) 01:38
くらち たかよし

くらち たかよし

モバイル・Webアプリ作家。最近は主にiPhoneアプリ制作を手がける。企画から、UIデザイン、設計、実装、テスト、多言語対応、ユーザーサポートまでを1人〜数人の個人で行う全人的開発手法の確立を目指している。

使う言語はObjective-C, C++, C#, Java, PHPなど。Web関連で使うものはCakePHP, MySQL, Joomla! CMSなど。デザインはシロウトながらPhotoshopとIllustratorをなんとかがんばって使う。

場所や時間に縛られない、インターネット時代の新しい働き方、自由な生き方を模索中。海外移住、低予算&低リスク起業、キャリアデザイン、心理学などにも興味あり。

Web: awaresoft.jp/