ホーム > CakePHP > CakePHPプラグインのまとめ – 最適化/デバッグ編

CakePHPプラグインのまとめ – 最適化/デバッグ編

CakePHPプラグインのまとめも大詰めです。
今回は”Optimization“と”Debugging“を訳します。

最適化

  • Frank de Graaf’s Lazy Model: これは君のモデルのチェインローディングを最適化し、君の作った巨大なアプリをスピードアップさせてくれるよ。君がCakePHP1.2または1.3を使っているのなら確実に見ておくべきものだ。CakePHP 2.0ではこれはコアに組み込まれる予定だけど、まだ入っちゃいない。Lazy Modelは次のお楽しみだね。
  • このプラグインをディレクトリに配置し、通常、AppModelを継承するところをLazyModelを継承することで動作速度の改善を図れるようです。
    ただ、その分だけメモリを食うとも書いてあるので、そこは注意ですね。CakePHPはただでさえ、大食いですからね…。

  • Rafael Bandeiras’ Linkable: 思うに、こいつはContainableBehaviorの良い相棒だ。そうだ、いつかこの世界の1つのルールになるだろうね。けど彼はベースとなるSQLを書くのでもうしばらく忙しいみたいだ。Terrがそのアップデートされたバージョンを持っているようなんで、これはそこへのリンクだ。要チェックだね。
  • hasManyやhasAndBelongsToManyのアソシエーションの場合に効果を発揮するプラグインですね。
    これを使用すると、hasManyやHABTMのテーブルに対して条件を指定し、それに関連のあるレコードを取得出来るようです。
    READMEにある例ではTagを条件に指定して、関連あるEntryを取得しています。

  • Mark Story’s Asset Compress: 君のCSSとJSを圧縮してくれるプラグインだ。このプラグインの使い方とCakePHPで最も大切でこれ以上ないリードデベロッパーが誰だか、彼のgithubのプロフィールを見ればわかるはずだ!
  • コメントの通りCSSとJSを自動で圧縮してくれるプラグインですね。
    プラグインをインストールし、Routesを設定すると、そのURLで圧縮したJSやCSSを取得出来るようです。シェルで圧縮したJS/CSSを吐き出したり、それを削除することも可能だそうです。便利ですね!

  • Matt Curry’s HTML Cache: 君のページをHTMLでキャッシュする。ものすごくスピードアップするよ。静的なページには最高だ。君がもしCroogo CMSを使うんならこいつはCroogoのフックも持ってるよ。
  • ヘルパーを読み込むだけでHTMLキャッシュをwebroot以下に生成してくれるようです。
    こうすると、.htaccessの書き換えが必要ですが、それも載っています。cronでのキャッシュ削除方法も載せてあるのが良いですね。

  • Matt Curry’s URL Cache: この不機嫌な野郎はgithubのプロフィール中に良いもんを持っているようだね。君が使ってるどんなキャッシュシステムに対してもURLの生成過程をキャッシュしてくれる。ページリクエストに対して発生する重たいURLの生成処理をとてもスピードアップしてくれるよ。
  • AppHelperの継承元を変えるだけで、Routesの処理をキャッシュしてくれるようです。これもすごく簡単ですね。

  • Matt Curry’s Custom Find Types: 君のアプリケーションに対してfindのカスタムタイプを作り出すのに確実で簡単な方法だな。キャッシュやフィルタリングのカスタマイズも簡単だ。

これもすごく便利なプラグインです。
プラグインをインストールして、モデルの継承元を変えてやるだけで使えます。
あとは”__findHogeHoge”というメソッドを定義するとtypeに”hoge_hoge”が使えるようになり、そのメソッドでfindの処理がされるようになります。すごいよ、Curryさん。

デバッグ

  • Mark Story’s DebugKit: いや、マジでこの男はモンスターだ。彼はJS忍者でさらにCakePHPのバッシュ魔人であるだけじゃなく、君のCakePHPのアプリケーションのためにデバッグのための素晴らしいツールを書き続けている。これは今すぐインストールすべきだね。使い始めたら虜になること間違いなし。
  • 言わずとしれたDebugKitですね。これは皆さん知っていると思うので省略。
    詳しく知りたい方はcakephperさんが書かれた以下のページを参照してください。

  • Joe Beeson’s Referee: “エラーと例外をキャッチし、それをロギング出来るCakePHP 1.3+ のプラグイン” 思うにこいつはすこいイカしてる。君もそう思うだろうね。
  • コンポーネントで設定出来るので、コントローラ毎にエラーをロギング出来そうです。
    CakePHP 1.3からはログエンジンを変えることが出来るようになったので、ほとんど不要かもしれませんが、きめ細かなロギングの設定をしたいときに。

  • Matt Curry’s Interactive: DebugKitをページ更新なしにインタラクティブに表示してくれるパネルだ。特定のクエリがどんな風に動いているか見るのに良いね。
  • これもすごく便利ですね。
    DebugKitのコントロールパネルからクエリを発行したり、PHPのコードをインタラクティブに実行出来るようになるみたいです。
    ここまで来るとDebugKitがちょっとしたIDEみたいですね。

最適化のプラグインは気になるのがたくさんありますね。
モデル周りの最適化を図ってくれる”Lazy Model”やCSSとJSを圧縮してくれる”Aseset Compress”、そしてHTMLキャッシュを作ってくれる”HTML Cache”…。
CSSとJSの圧縮がタスクにあがっているので、今度は”Asset Compress“の使い方をまとめましょうか。

次回が最後です。”Useful Helpers“と”Random Awesome-sauce“を訳しますね。

[連載記事一覧]

  • 認証編
    • AuthComponentの代替えになるプラグインやfacebookと連携するプラグインが紹介されています。それに加え、使いにくいACLを使いやすくするツールも。個人的には一番、興味のある記事でした。
  • 検索とページネーション/ファイルアップロード編
    • CakePHPの使いにくいページネーションを使いやすくするプラグイン、Yahoo! BOSSのプラグインが紹介されています。ファイルアップロードはTransloaditというサービスに対応させるプラグインから、メジャーなメディアプラグインまで。
  • ヘルパー編
    • ブログを作るなら使いたいGravatarやGoogle APIをCakePHPのために取りまとめたプラグインが紹介されています。Google APIにCakePHPを対応させるプラグインは必見です。使った人がいたら、ぜひコメントください。

こちらもあわせてどうぞ

ちょっと一言

今、テストで忙しいんですよ。
お知らせメールは土曜日にちょっと機能追加があります。
9月半ばには色々な機能が入ると思いますよ!

  • http://tyudon.com/blog/?p=18607 CakePHPプラグインのまとめ – 最適化/デバッグ編 | とっても! ちゅどん(雑記帳)

    [...] CakePHPプラグインのまとめ – 最適化/デバッグ編 [...]

blog comments powered by Disqus

ホーム > CakePHP > CakePHPプラグインのまとめ – 最適化/デバッグ編

スポンサードリンク
書いている人
つぶやき
  • pylons/pyramidはっかそん2012.02に参加します! http://t.co/tM3gZCF0 13 hrs ago
  • @T_Hash 環境は変わったね。現状、教えるのが俺の今の仕事になってるわ。gitやら、コードの書き方だったり、開発手法だったり、チームビルディングっつーんかな、こういうの。 1 day ago
  • http://t.co/hIjl2BY6 飛行機のらないひとも入れるよね、多分。 1 day ago
  • More updates...
RSS 気になるニュース
過去の記事

ページの上部に戻る