読者です 読者をやめる 読者になる 読者になる

dari88's diary

これから趣味にするプログラミング/PHP/javascript/kohana/CMS/web design/

Zend Paginator を kohana のモジュールにして使う

 kohana 3.2 にはページネーターの機能がありません。ブログシステムとか作るときにはページネーターが必要ですよね。で、今までは ZF(Zend Framework)を併用していたのですが、Pagenator と Mail しか利用していないのに ZF 全体をインストールしている状態に違和感を感じていました。

 そこで、Paginator を kohana のモジュールにする検討をしてみたのですが、これが相当簡単であることが分かりました。

 そもそも ZF もフォルダ名とファイル名とクラス名に一定の規則を持たせた構造になっています。この構造は kohana と全く同じなんですね。歴史的経緯からすると ZF が先生なんでしょうけど。この構造のお陰で、オートロードが簡単になっているわけです。

 

Zend Paginator を kohana のモジュールにする手順

  1. kohana/modules/zend/classes/zend フォルダを作成する。
  2. ZF の Paginator.php と Paginator/ フォルダをここにコピーする。
  3. NetBeans などで全ファイルに対して下記の置換を行う。
      require_once  →  // require_once
  4. 続いて下記の置換を行う。今度は正規表現
      new Zend_.+Exception  →  new Exception
  5. Paginator.php をちょっといじります。
    ・view関係、db関係の機能は使わないので、削除したり改造する。
    ・ページネーションのスタイルをオートロードしている部分を改造する。
    詳細はこちらを参照。

 尚、Mail の方は次のファイルとフォルダーに対して、上記1~4と同様の作業だけで動きました。

  Mail.php と Mail/
  Mime.phpMime/

 SMTP サーバーへの送信テストしかしていません。require_once しているファイルを見れば理解できますが、使えない機能があるはずです。

 

7月7日追記:

 Windows では上記でOKですが、Linux の場合は全てのフォルダとファイルの名前を小文字にしないと動きません。