Transitionコンポーネント1.0をリリースしました。 http://d.hatena.ne.jp/hiromi2424/20100617/1276757385 ソースはこちら http://github.com/hiromi2424/TransitionComponent 画面右上あたり「Download Sources」をクリックすると、アーカイブがダウンロードできます。 pull request お待ちしています:) イントロダクション 複数ページの入力画面、皆さんどういう処理をしていますか? 同じアクション内で遷移する場合、データが存在しるかチェックしてどこの位置にいるか判断して・・・と、色々と面倒ですよね。 他のアクションに分割しても似たような処理が続くことになります。 そこでTransitionコンポーネントの出番です。 このコンポーネントを使うと、大抵のページ遷移は1行
いきなりですがCakePHPをマスターしようと思い、始めてみました。空いている時間を見つけていろいろ引っかかった点などを書いていければと思ってます。 まず引っかかったのがパスワード。 ユーザー管理はモデル名を「User」として id:integer(pk) name:varchar(30) loginid:varchar(20) password:varchar(50) ← ハッシュ化することを考えて長めに is_admin:boolean ← 管理者区分 としました。 Authコンポーネントを利用することにしたのですが、ユーザーの変更をする際にフォームのパスワード項目に現在のパスワードをデフォルト表示するわけにも行かないので、 パスワードが記入されていれば新しいパスワードに変更。空欄なら現在のパスワードのまま と言う仕様にしました。ところがAuthコンポーネントがパスワードが空文字で送信
言わんとしていることがわかるかなー。 CakePHP1.2だと静的ページを表示したい時ってPagesController使って表示出来るんだけど、管理者用のページも作りたい訳。 つうことで以下のページを参考に実装してみた。 "プレフィックスルーティング時のpages_controllerの挙動" フォーラム - CakePHP Users in Japan actionshrimp.com ≫ CakePHP: PagesController with Admin Routing まずはPagesControllerを継承したコントローラを作る。 # app/controllers/pages_ex_controller.php <?php App::import('Controller', 'Pages'); class PagesExController extends P
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
photo by gregchiasson cakephp.jpのフォーラムや一部のユーザの間でも話題になっていますが、4年間にわたってCakeの発展に貢献してきたプロジェクトマネージャのGarrett Woodworth氏とリードデベロッパのNate Abele氏が10/23頃にCakePHPのプロジェクトを去りました。 そして新たに立ち上げられたのがLithiumというそれまでCake3と呼ばれていたフレームワークのプロジェクトです。 色々と憶測を呼んでいましたが、Nate本人がこのあたりの経緯をLithiumのプロジェクトブログで語っています。 またNateの開発に対する姿勢は一般の開発者にとっても刺さる内容と言えると思いますのでCakeに関心がない方にもおすすめできます。 本人の了解の元に日本語訳を作ったのでここに掲載します。 原文 http://rad-dev.org/li
CakePHPでjQueryを使ったAjaxを実装した際、IEの古いバージョンでのみエラーになる現象に見舞われました。 調べてみると、Ajaxリクエストを送った際にログインが切れているようです。 どうやら原因は、CakePHPのユーザエージェント検証機能でした。 app/config/core.phpで Configure::write(’Session.checkAgent’, false); を設定することで解決しました。 つまり、古いIEでは、通常時のリクエストとAjaxリクエストで、ユーザエージェントが違う、ということですね。 これはたぶん、歴史的な理由からXMLHttpRequestがActiveXオブジェクトで実装されていることに由来するのでしょう。 以下に、各ブラウザで確認したユーザエージェントを書いておきます。 PHPで、$_SERVER['HTTP_USER_AG
Im trying to save a record to a table aswell as an accociated record. The main table is called quotes and it has a hasmany link to the table quote_items. quote_items belongsto quote When i try and save it saves the record in quote but does not save the record in quote_items . Below is my quote add function function add() { if (!empty($this->data)) { $this->Quote->create(); if ($this->Quote->saveAl
わからなくてもういやだ><だったAuthCompornent。 正直、タイプミスとかで動かないのかと思ってたけど、認識がそもそも…。な事が原因だった。 前回のブログだと何がしたいのか、わかりづらいので、まとめる。 やりたかった事 ユーザをつくる。ユーザは、グループA、グループBのどちらかに属す。(Aモデル、Bモデル)。 ユーザを作成したあとに、ログインすると自分が属しているページに遷移したい。 A組の人はA/index,B組の人はB/indexに遷移したい。 →そのためには、AuthCompornentを利用し、ログイン後にリダイレクト先を操作したい。 やったこと 標準的なusersテーブルを作成。 Aモデル、Bモデルは実装しないで$scaffoldで組み立てる。 usersテーブルには、mail,password,kindなぞを持たせる。認証はmail,passwordで。 AuthCo
A little over a week ago I finally got my cast removed from my right hand. It felt so good to get the cast off after 3-4 weeks of wearing one. I was unable to move my pinky finger nor wiggle my wrist for the first hour, but my hand is good as new now. However, the knuckle does not heal back in place so I no longer have a visible pinky knuckle (so weird looking). I still have some pain and discomfo
PerlとRubyの文法一覧がとても良くまとまっていたので、便乗してPHPでもやってみました。 Perl基礎文法最速マスター – Perl入門〜サンプルコードによるPerl入門〜 Route 477 – Ruby基礎文法最速マスター 他の言語をある程度知っている人はこれを読めばPHPの文法を何となく理解できると思います。 間違い、不足等々あれば教えて下さいm(_ _)m バージョン PHP5.3系がリリースされていますが、ここではPHP5.2系を対象としています。 1.基礎 コードブロック PHPコードは「<?php」という開始タグから始まります。終了タグは「?>」です。HTMLにPHPコードを埋める際は終了タグを使いますが、ライブラリのようにPHPコードのみを記述する際は終了タグを省くことが慣例となっています。 終了タグを省く理由について id:Kiske さんに解説頂いています。ありが
複数の関連モデルの同時登録の方法を調べていて、save()に、$fieldListという設定があることを知りました。 http://book.cakephp.org/ja/view/75/Saving-Your-Data 例えば、usersのgourp_idという項目はユーザ変更不可なのだけど、usersのedit画面にデータをPOSTするときにgroup_idを追加して書き換える・・・というようなハッキングへの対策なのですが、 この機能、あると知らなかったのでbeforeSave()に自前で入れてました (^^;) 公式機能使用に変更。 (1/29 17:22) saveAllに関する記載について、訂正UPしました フィールド指定はホワイトリスト方式。 単独のモデルに対してsave()する場合の例。 app/controllers/users_controller.php - if ($
とりあえず、何も考えずに今動いてるもののcake coreを上書き保存。 つまり「cake」フォルダをそのままぶち替えてみました。 webrootのindex.phpで怒られる 1.2.5 RC $Dispatcher = new Dispatcher(); $Dispatcher->dispatch($url); 1.3 Beta $Dispatcher = new Dispatcher(); $Dispatcher->dispatch(); $urlがねーよって怒られました。今までなんで動いてたんだろう・・・ とりあえず適当に修正。 ヘルパーの仕様変更 まず<img src=・・・となっているのは、$html->link()に$html->image()を突っ込んでいるのだが、 Htmlヘルパーの引数が変更になったため、'escape' => 'false'が無効になっていた。 Cor
CakePHP関連で、多分、特に初期で一番悩んだのが「ACL関連」 自己の「悩み履歴」「解決策メモ」のまとめです。 そして、まだまだ不満 ^^; あるので・・・今は保留ですが、 今作ってるモノの基礎できたら、検討予定です。 特にSQL負荷関連。。 ACL導入編 ACL:ファイル側 $this->Auth->authorize の設定は? - 趣味の延長線 CakePHPにACL入れました - 趣味の延長線 CakePHPのACLが難しい理由 - 趣味の延長線 aros_acosのシェル追加でワーニング - 趣味の延長線 管理画面設定 ACLによるcontroller/action以外の権限設定 - 趣味の延長線 ACLによる管理画面アクセスの制御 - 趣味の延長線 管理画面のベースRoute設定 - 趣味の延長線 設定追加の場合 モデル追加した場合のACL設定追加方法 - 趣味
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く