New CakePHP 5.0 Chiffon. Faster. Simple. Delicious. What's new in version The migration guide has a complete list of what's new in. We recommend you give that page a read when upgrading. A few highlights from 5.0 are: PHP 8.1 required. Improved typehints across the framework. CakePHP now leverages union types to formalize the types of many parameters across the framework. Upgraded to PHPUnit 10.x
CakePHPでCSRF対策を行う方法です。 フレームワークに含まれているSecurityコンポーネントを使います。 Security#requestAuth()にアクションを記述しておくと、アクション実行前に正規リクエストかどうかをチェックします。チェックの方法はCSRF対策で一般的なワンタイムトークン方式です。 まずController#beforeFilter()にてチェックを行うアクションを指定します。 [app/controller/test_controller.php] < ?php class TestController extends AppController { var $name = 'Test'; var $components = array('Security'); function beforeFilter() { $this->Security->req
少なくともPHP5.2.6において、自前のメソッドにlistと言う名前をつけたとき"( ! ) Parse error: syntax error, unexpected T_LIST, expecting T_STRING in ..."と言われてしまう。従ってCakePHP,CodeIgniterともにアクション名「list」が使えない事になる。 http://blog.hoge.com/entry/listとかやってエントリーのリストを表示したいのに、これではどうにもならない。じゃあどうするか。 http://blog.hoge.com/entrylist/ これだとedit,new,archiveなども別コントローラーにしないと整合性取れない。「ページコントローラーじゃないから」とか言っててもこれじゃ実質的に「ページコントローラー」じゃないですか。でもこれが一番まともそうなんだよな
レコードサイズが大きくなってくるとhasOneやbelongsToのアソシエーションでかなり時間を食うときがあります。特に大きな処理をしなくても、ページアクセス時にControllerでdescribe <Table>して、結合した結果を舐めて時間が食われます。 いくらなんでも時間かかりすぎだろ、、と思ってよく調べてみたらCakeでのテーブル間JoinてLeft Joinになってるんですね。クエリ凝視するまで気づかなかった。これ、特に問題なければ内部結合(Inner Join)にするだけでレスポンス速度は大きく変わります。方法はModelでアソシエーション対象Model名のtypeを"INNER"にするだけ。 <?php class User extends AppModel { var $name = 'User'; var $hasOne = array( 'Profile' => a
Webアプリケーションを構築する際、必要となる機能の中に「メニューの階層構造(木構造)」が設計段階で検討の俎上にしばしば上がるのではないだろうか?このサイトのメニューも、データを木構造(以下ツリー構造と呼ぶ)で構築して、ビューで再帰関数を用意してメニューのためのリストを構成している。 データをツリー構造で扱うと、階層で表現するのでカテゴリごとに分かりやすくまとめることができる。またデータはノードとして表し、入れ替えや付け替えの作業を容易に行うことができるので便利である。 CakePHP1.2になって、ツリーデータをテーブル上に表現するという、モデルにツリー構造を扱うモジュールを追加するだけで、容易にツリー構造を扱える機能が付加された。モデルに決められたデータ構造を扱わせることから、「ビヘイビア」と呼ばれ、ツリー構造を扱う機能を「Tree Behavior」と呼んでいる。 ツリー構造を
A helper to generate nested ULs OLs, DIVs or whatever from tree data. Works best with the TreeBehavior, but not a requirement. Example usage 1: Download code <?php //controller code: $stuff = $this->MyTreeBehaviorModel->find('all', array('fields' => array('whatever', 'lft', 'rght'), 'order' => 'lft ASC')); $this->set('stuff', $stuff); //view code echo $tree->generate($stuff); Exam
New CakePHP 5.0 Chiffon. Faster. Simple. Delicious. What's new in version The migration guide has a complete list of what's new in. We recommend you give that page a read when upgrading. A few highlights from 5.0 are: PHP 8.1 required. Improved typehints across the framework. CakePHP now leverages union types to formalize the types of many parameters across the framework. Upgraded to PHPUnit 10.x
What's Cake? Cake is a rapid development framework for PHP which uses commonly known design patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC. CakePHP is basically the PHP equivalent of Ruby on Rails. What should I read first? If you are new to CakePHP, I highly recommend reading through the CakePHP manual and the 15 minute blog tutorial in addition to the items listed
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く