タグ

behaviorに関するihiro81のブックマーク (11)

  • CakePHPの「OrderedBehavior」と「TreeBehavior」はマジで使うべき : akiyan.com

    CakePHPの「OrderedBehavior」と「TreeBehavior」はマジで使うべき 2011-12-20 あまり知られてなさそうだけど、マジで便利に使えるCakePHPのビヘイビアを2つ紹介します。 OrderedBehavior http://bakery.cakephp.org/articles/alkemann/2008/09/21/orderedbehavior-2-1 順序を管理するビヘイビアです。Webアプリケーションを作っていると、多くの局面で、 「順序を自由に入れ替えたいんだけど...」 という機能要望が上がります。DBの仕様としては順序を振ってソートするだけでよいのですが、愚直にDBを操作しようとするとすごくめんどくさいです。順序番号の振りなおしとか、うわーやってらんねー、ってなります。 そんなめんどくさい実装も、OrderedBehaviorを使えば、超簡

  • CakePHPのAclBehaviorをさらに手軽に AclPlusBehavior for CakePHP 1.3

    CakePHPでは、モデルオブジェクトでアクセスコントロールを行う場合にAclビヘイビアを使用します。 ただし、標準のAclビヘイビアは若干クセがあり、設定しづらいものとなっています。 今回はAclBehaviorを拡張し、ACLの機能をモデルへ手早く組み込むことが出来るようにする、AclPlusBehaviorを紹介します。 CakePHPに同梱されているAclビヘイビアを使う場合、以下のようにモデルを定義します。 参考: The Cookbook − リクエスタとして振舞う :: ACL を制御するシンプルなアプリケーション class Group extends AppModel { var $name = 'Group'; var $hasMany = array('User'); var $actsAs = array('Acl' => array( 'type' => 'req

    CakePHPのAclBehaviorをさらに手軽に AclPlusBehavior for CakePHP 1.3
  • はてなブログ | 無料ブログを作成しよう

    台北市立動物園と迪化街めぐり 子連れ台湾#5 年越し台湾旅行5日目、レジャーや友人との事を楽しむ日です。前日の様子はこちら www.oukakreuz.com 台北市立動物園へ パンダ館 パンダが見られるレストラン 迪化街へ 林茂森茶行でお茶を購入 小花園で刺繍グッズを購入 黒武士特色老火鍋で夕 台北市立動物園へ 松…

    はてなブログ | 無料ブログを作成しよう
  • CakePHP1.2 Behaviorでモデルのメソッドキャッシュを行う : エクスギア Blog

    CakePHP1.2から新たにBehavior(振る舞い)クラスが実装され、モデルに共通の処理を定義することが可能になりました。 今回はBehaviorを使ってモデルの各メソッドの結果を自動的にキャッシュするクラス(CacheBehavior)を検討してみました。 CakePHPでは標準でビューキャッシュをサポートしていますが、Cacheクラスを利用することで簡単にキャッシュ機能を組み込むことができます。 ソースコードは少し長いので、一番最後に記述することにします。 CacheBehaviorの目的 CakePHPでの開発では、 ・まず動作するアプリケーションを構築する ・パフォーマンス上ボトルネックになっている部分のチューニングを行う という手法が一般的だと思います。 そこで、CacheBehaviorはチューニング時に実装していくことを想定し、構築時のソースコードになるべく

  • OrderedBehavior (2.1) | The Bakery, Everything CakePHP

    This behavior is intended for letting you order models like pages in a book in a the same way that the treebehavior works, with the difference that there is only one level (all the pages are siblings). It includes moveUp, moveDown, moveTo, sortBy, isFirst, isLast and off course inserts itself into saves and deletes to keep the lists correct. It does also have the option of sorting an entire table

  • joinsオプションを生成するMatchableビヘイビア - 24時間CakePHP

    仕様変更しました。2010/6/06 13:00 find('matches')といった書式は破棄されました。'jointo'パラメータの指定のみで動作するようになりました。 この変更によりpaginateCountが適切に動作するようになりました ソースコード http://github.com/hiromi2424/MatchableBehavior/ イントロダクション ページネートする際、joinsオプションが肥大化することはよくあることですよね。 habtmとかを絡めると5つ以上のjoinsオプションを長々と書かなくてはならず、いっそquery()でSQLを直接発行したほうが早いよぷんすか! といった経験はありませんか? それを解決するのがMatchableビヘイビアです。 このビヘイビアで何ができるの? 簡単な指定で、モデルのアソシエーションからjoinsオプションを自動生成で

    joinsオプションを生成するMatchableビヘイビア - 24時間CakePHP
  • CakePHP データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehavior作った | Ryuzee.com

    もうタイトルのまんまですが、データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehaviorを作りました。 自分で作っているアプリケーションで、データ更新時の変更履歴を表示させたいと思ったのだが、対象テーブルが沢山あっていちいち似たような実装をあちこちに作るのは気が狂いそうなので汎用化しちゃえ、というのが作った動機 概要 AutoLoggerBehavior http://github.com/ryuzee/auto_logger_behavior から入手可能 ライセンスはMITライセンス 使い方 入手したauto_logger.phpをapp/models/behaviors/に配置 履歴テーブルの作成 CREATE TABLE `change_logs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `mode` varchar(6

    CakePHP データの更新時に自動でデータの差分を取得して履歴テーブルに突っ込むbehavior作った | Ryuzee.com
  • CakePHP1.2 Behaviorでモデルのメソッドキャッシュを行う : エクスギア Blog

    CakePHP1.2から新たにBehavior(振る舞い)クラスが実装され、モデルに共通の処理を定義することが可能になりました。 今回はBehaviorを使ってモデルの各メソッドの結果を自動的にキャッシュするクラス(CacheBehavior)を検討してみました。 CakePHPでは標準でビューキャッシュをサポートしていますが、Cacheクラスを利用することで簡単にキャッシュ機能を組み込むことができます。 ソースコードは少し長いので、一番最後に記述することにします。 CacheBehaviorの目的 CakePHPでの開発では、 ・まず動作するアプリケーションを構築する ・パフォーマンス上ボトルネックになっている部分のチューニングを行う という手法が一般的だと思います。 そこで、CacheBehaviorはチューニング時に実装していくことを想定し、構築時のソースコードになるべく

  • [CakePHP] 画像のアップロード&リサイズを簡単にできる ImageBehavior | Sun Limited Mt.

    画像のアップロード&リサイズ処理などは割とよくある処理でかつ面倒なものです。その処理を簡単にやってくれる Imageビヘイビアの紹介です。CakeFest で紹介された Media Plugin が高性能なので、メディアプラグインを使うのがいいのかもしれませんが、以前から Image ビヘイビアに関していつか使い方をまとめようと思っていたので紹介します。 参考サイト:ActAs Image column behavior (Articles) | The Bakery, Everything CakePHP Baker で紹介されていた Image ビヘイビアです。このビヘイビアはアップロードされた画像をサムネイル作成、リサイズ、複数のバリエーションのサイズの画像を作成してくれます。またモデルを find すると画像のパスを返してくれます。 作成される画像は、webroot/img/[Mo

  • CakeMatsuriTokyo2009でContainable BehaviorについてLTしてきました : akiyan.com

    CakeMatsuriTokyo2009でContainable BehaviorについてLTしてきました 2009-11-10 2009-10-30,31に開かれたCakePHPのカンファレンス、CakeMatsuriTokyo2009のカンファレンス日程(31)に参加しました。午前10:00からの開始で、夕方のLT枠に空きがあったのでカンファレンス中に資料を作成して発表してきました。 LT発表内容 発表内容はCakePHP1.2から実装されたContinable Behaviorについてざっくり話しました。このビヘイビアを使うと、今までbind, unbindしていた箇所がとてもシンプルになったり、bind, unbindもしていなかった場合はfindの実行時間がかなり短縮されたりします。ある程度CakePHP1.2に慣れたら、絶対に覚えるべきビヘイビアだと思いますので、ぜひ学んでみて

    CakeMatsuriTokyo2009でContainable BehaviorについてLTしてきました : akiyan.com
  • よく使う独自バリデーションルールをプラグインのbehaviorにまとめる - cakephperの日記(CakePHP, Laravel, PHP)

    CakePHP1.2.3を利用しています。 今までは「独自のバリデーション関数を追加(日語の文字数チェック)」で書いたように、独自バリデーションルールをapp_modelとかに書いてモデルで使いまわしてたんですが、そろそろ汎用的なものはプラグインでまとめて複数プロジェクトで統一して使えるようにしたいと思い移行しました。 プラグインのbehaviorに独自バリデーションルールをまとめて、モデルから利用するまでのTipsです。 まずは、プラグインに関してはSlywalkerさんのCakePHP勉強会@tokyo #4の発表資料に目を通しておくと理解が早くなります。 http://d.hatena.ne.jp/slywalker/20090523/1243059244 プラグインの場所は、app/plugins以下が基ですが、複数プロジェクトで使いまわすので任意のディレクトリにした方が楽です

    よく使う独自バリデーションルールをプラグインのbehaviorにまとめる - cakephperの日記(CakePHP, Laravel, PHP)
  • 1