タグ

ブックマーク / hiromi2424.hatenadiary.org (4)

  • CakePHP 2.0 のリリース(訳) - 24時間CakePHP

    訳 CakePHPコアチームはメジャーなバージョン番号のジャンプをアナウンスすることに興奮を覚えています。 CakePHP 2.0 安定版が出ました! 私たちはこのリリースに永久の時を注ぎ込み、このバージョンのフレームワークに素晴らしいアイデアの数々を成すことができました。 これは2.0が意味するものの応急な概要です: PHP4のサポートを打ち切り、全てのコードをPHP5.2以上に厳密に尊守するように書き直しました。 例外、PDO、SPL、json_encodeなどなどのネイティブな機能の使用。 ファイル命名へPSR-0を取り入れました。あらゆるクラスは同じ名前を用いてファイルにマッピングされます。覚えることが少なくなりました! 新しいエラーと例外のハンドラーは簡易な設定や、ページが見つからないエラー、承認エラーなどのエラーとの楽な協調、など数多くのものを提供します。 マルチリンガルな開発

    CakePHP 2.0 のリリース(訳) - 24時間CakePHP
  • 誰でもできるサービスレイヤの実装 - 24時間CakePHP

    イントロダクション CakePHPでは標準でサービスレイヤを提供していません。 しかし、CakePHPはフレームワークとしてその基礎部分は十分に提供してると言えます。これはアプリケーション側で実装すべきでしょう。 規模が一定を超えるアプリケーションではサービスレイヤの効能は特筆すべきものがあります。 それは「何をしているか」を端的に表すことができ、開発初期段階において「何が必要か」を明確にし、更にテストを容易にします。 また、トランザクションのサポートもサービス単位で実装することによって、明確に「1サービス1トランザクション」が表現できます。 サービスをモデルとして実装する 上記のサービスモデルは非常に単純化されたサービスモデルの一例です。 これは各モデルのマジックメソッドによる呼び出しを提供します。 saveNewArticleはその例で、使うモデルを一々定義する必要はありません。 コン

    誰でもできるサービスレイヤの実装 - 24時間CakePHP
  • 2010-06-10 - 24時間CakePHP

    注意 この実装はクッキーにユーザ名とパスワードを保持させていますが、パスワードを保持させるのは大変危険なので、実際のアプリケーションで動かす場合は時限つきAuthorizeトークンを発行してそれを保持させる実装にするなど、クッキー盗聴対応を必ずしましょう。 トークンを使う実装に修正しました。(16:25) この実装は、クッキー盗聴対策のため、トークンを発行し、それをクッキーに保存します。 CakePHPのクッキーコンポーネントは賢く、Security.ciperSeedというキーを元に復号可能な暗号化をクッキーに対し施しているため、直に読めることはないのですが、それでも解析されたら丸見えになります。これを避けるため、パスワードを直接保存することがないようにしましょう。 ワンタイムトークンを使う実装に修正しました。(18:51) いつも同じトークンを発行してしまうと、再生(リプレイ)攻撃の脆

    2010-06-10 - 24時間CakePHP
  • VitualFieldsを使おう! - 24時間CakePHP

    CakePHP1.3からは、VirtualFieldsが利用できる。 これはSQL でいったら sql_function(hoge) as aliasといったcolmunをそのままフィールドとして利用できる機能だ。 それでは実例を追いながら順次説明していこう。 要求: グループの一覧を表示したい。 また、グループには何人参加しているかを集計して同時に表示する。 関係 Group hasAndBelongsToMany User Model <?php class Group extends AppModel { var $name = 'Group'; var $virtualFields = array( 'user_count' => 'count(GroupsUser.user_id)', ); var $hasAndBelongsToMany = array( 'User', );

    VitualFieldsを使おう! - 24時間CakePHP
    rytich
    rytich 2010/02/09
    1.3 VirtualFields
  • 1