【PHP】フレームワーク CakePHP 7ホール目【v1.2】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/01(火) 16:12:06ID:XVdxsVut※sage推奨
テンプレは>>1-5くらい
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
thechaw
http://thechaw.com/projects
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
CakeMatsuriTokyo2009
http://matsuri.cakephp.jp/
0653nobodyさん
2010/01/04(月) 19:34:32ID:???俺も好き。あんまり推奨じゃないみたいだけど、
まぁ何かあったら <?= を <?php echo に置換すりゃいいだけだし。
>>652
推奨しませんよ ってことぐらい。
0655nobodyさん
2010/01/04(月) 21:18:57ID:???http://book.cakephp.org/ja/complete/219/Blog
view($id = null)の$id = nullってどういう動作を書いてるんですか?
view()呼び出し時に$idを初期化(null)すると考えたのですが、せっかく読込んだ引数を
初期化するのもおかしいし、delete($id)は$id = nullになっていない事も説明つきません。
よくわかりません。だれか教えてください。
function view($id = null) {
function edit($id = null) {
function delete($id) {
function view($id = null) {
$this->Post->id = $id;
$this->set('post', $this->Post->read());
}
0656nobodyさん
2010/01/04(月) 21:39:41ID:???read()メソッドの中にこんな記述がある。
ttp://api.cakephp.org/view_source/model/#line-1028
if ($id !== null && $id !== false) {
$this->data = $this->find('first', array(
'conditions' => array($this->alias . '.' . $this->primaryKey => $id),
'fields' => $fields
));
return $this->data;
} else {
return false;
}
editメソッドに$idが指定されてなかった場合、read()メソッドが返す値をfalseにしたいから、
仮引数が与えられてなかった場合にnullを代入するようにしているんだと思う。
0657nobodyさん
2010/01/04(月) 22:18:18ID:???やはりfunction edit($id = null) { はeditメソッドが呼び出されたら$id = nullで初期化し
それから、あれば引数の値を取り込むんだね。納得しました。
また、Bakeが自動生成したソースを見てみたらfunction delete($id = null) { になってた。
http://book.cakephp.org/ja/complete/219/Blog
ブログチュートリアルのdelete($id)が間違いぽいね。
0658nobodyさん
2010/01/05(火) 22:35:00ID:GyjRQCtPやばいね!cake!
こんなフレームワークならZ・E・N・D使うわwwwwwwwwwwwwwwwwwwwwww
0660nobodyさん
2010/01/06(水) 01:00:19ID:???0661nobodyさん
2010/01/06(水) 12:21:08ID:???プラグイン入れないと殆ど使えない
ってか、PHPが生すぎる
0662nobodyさん
2010/01/06(水) 13:10:36ID:5N2miMbo最近、他のフレームワークが気になって試しにcakephp(笑)インストールしたんです。
なんだろ、cakephpって浅いんです(笑)
function とか varとか・・・
なんでもarray(
PHP4が使う糞フレームワーク
>>661
プラグイン入れないと使えない?
てめぇのケツにプラグインさしとけwwwwwww
PHPが生すぎるってPHPで作られたフレームワークに向かって生wwww
0663nobodyさん
2010/01/06(水) 13:23:55ID:???0664nobodyさん
2010/01/06(水) 13:27:58ID:???0665nobodyさん
2010/01/06(水) 13:37:24ID:5N2miMboおまえ悪口言われているよ><
俺がcakephpをPHP5で作るならZendFramework使うわwwwwwwww
0666nobodyさん
2010/01/06(水) 13:39:26ID:???0667nobodyさん
2010/01/06(水) 13:49:23ID:???0668nobodyさん
2010/01/06(水) 15:49:06ID:???ZendもCakeも難しいです〜><
0669nobodyさん
2010/01/06(水) 16:00:01ID:???0670nobodyさん
2010/01/06(水) 17:54:41ID:???0671nobodyさん
2010/01/06(水) 22:48:01ID:???cakephpのmodel::find()メソッドはよくできてると思うんだ。
zendのモデルにselect系の問い合わせメソッドを実装するときも、
cakephpのfind()の引数書式っぽく使えるように書いちゃう。
/**
* @param string mode
* @param array option
*/
public function getHogeList($mode,$option)
{
〜〜
}
そういえばフレームワークを触りだしてからsql書かなくなったなあ。
いい傾向なのか悪い傾向なのか。。。
0672nobodyさん
2010/01/07(木) 00:33:07ID:hFey0NAx0673nobodyさん
2010/01/07(木) 04:44:13ID:???A.b_id, B.c_id というリレーショナルを行っています (二つとも belongsTo)
A を扱うモデルの find で recursive=2 の設定で C テーブルのカラムまで取得出来るのですが
conditions の検索条件で 'C.hoge' => '123' のような事は出来ないのでしょうか?
B までのカラムなら検索条件に含める事は出来るのですが リレーションのリレーション以上のテーブルの検索条件が行えなくて困ってます
0674nobodyさん
2010/01/07(木) 07:38:43ID:???生PHPは徒歩、cakeは車。
目的地まで行くのはめちゃはええけど、
渋滞にはまるとまったく進まないし、
目的地についても、車止めるところを求めてさ迷う
0675nobodyさん
2010/01/07(木) 21:28:05ID:???0676nobodyさん
2010/01/08(金) 03:52:34ID:???設定をあれこれ変えても、どうにもCSSなどの設定が合わないよ。使えた人、いる?
0678nobodyさん
2010/01/09(土) 11:01:06ID:???オレは、車の長所短所、危険性を良く理解し
交通事故を起こさない様に常に注意し、便利な「車」を最大限に活用してるなあ。
やっぱ「車」のない生活は考えられない今日この頃です。
0679nobodyさん
2010/01/10(日) 11:35:01ID:???SSLって導入するにも手間で面倒だし、
一般ユーザーはSSLのこと気にすら止めてない。
しかも情報が流出するのはSSL関係なしで流出するから必要ないような気もするけど
どうなんだろ。
0680nobodyさん
2010/01/10(日) 11:44:37ID:???と必ず突っ込まれるので、とりあえず設定するという感じだよね
0681nobodyさん
2010/01/10(日) 18:17:38ID:???あまり知られてないんだがな豆知識
0682nobodyさん
2010/01/10(日) 21:01:22ID:???以下、ネタにマジレス禁止
0683nobodyさん
2010/01/10(日) 21:23:16ID:???例えばpostモデルがあったとして、
・ユーザーがページをクリックすると、postデータ一覧が表示される
[ユーザー] --ページをクリック--> [controllers/posts_controller] --function:view--> [views/posts/view.ctp]
├--データ取得--> TBL[posts]
└--ページを返却--> [postデータ一覧ページ]
何が何を呼ぶか、みたいな関係図を書くとこんな感じになるとおもうんだけど
この場合、modelってこの図には絡まないの?
・リレーション定義
・登録時のバリデーション
なんかは明示的にモデルに書くからわかるんだけど、
独立したモデルから単にデータを引っ張ってくる場合に、関係図的にモデルはどう絡むんでしょうか。
絡まない、が正解?
0684nobodyさん
2010/01/10(日) 21:33:44ID:???・ユーザーがページをクリックすると、postデータ一覧が表示される
[ユーザー] --ページをクリック--> [controllers/posts_controller] --function:view--> [views/posts/view.ctp]
├─function:find('all')--> [models/post] --> TBL[posts]
└─ページを返却--> [postデータ一覧ページ]
0685nobodyさん
2010/01/11(月) 12:02:25ID:???書き込みにトランザクションを使おうと考えてマニュアルを見ると
saveAll()が使えると書いてありました。
しかしこれはひとつのモデルにしか使えないのでしょうか。
いくつかのモデルで書き込みを行ってからコミットしたいのですが
方法があれば教えて下さい。よろしくお願いします。
0686nobodyさん
2010/01/11(月) 13:11:26ID:???saveAllは「関連づけされた複数モデルのデータの保存」か「ひとつのモデルの複数データの保存」に使う。
それ以外の場合は、自前でトランザクションを発行すると良い
0687nobodyさん
2010/01/11(月) 14:00:16ID:???これさ、「ひとつのモデルの複数データの保存」出ない時もsaveAll()使えば、トランザクションの事気にしなくてもいいんでない?
0688nobodyさん
2010/01/11(月) 16:27:36ID:???馬鹿でも分かりやすい説明お願いします
0689nobodyさん
2010/01/11(月) 16:36:29ID:???0690nobodyさん
2010/01/11(月) 16:40:22ID:???天才でも分かりやすい説明お願いします
0691nobodyさん
2010/01/11(月) 16:42:43ID:???0692nobodyさん
2010/01/11(月) 16:46:49ID:???この場合、トランとザクションを調べれば済む
0693nobodyさん
2010/01/11(月) 16:53:27ID:???まじCakePHP使いはm9(^Д^)プギャーが多いなwwwwwww
0694nobodyさん
2010/01/11(月) 16:55:37ID:???0695nobodyさん
2010/01/11(月) 17:09:46ID:???0696nobodyさん
2010/01/11(月) 18:30:40ID:???ヒント:今年の干支
0697nobodyさん
2010/01/11(月) 21:32:04ID:???0698nobodyさん
2010/01/11(月) 22:13:24ID:???コミットとかでしょ?
SQLのことだから別に知らなくても問題ない。
cakephpが勝手にやってくれるし。
0699nobodyさん
2010/01/11(月) 22:38:11ID:???0700nobodyさん
2010/01/11(月) 23:25:43ID:???0701nobodyさん
2010/01/12(火) 22:26:59ID:???0702nobodyさん
2010/01/12(火) 23:06:39ID:???0703nobodyさん
2010/01/12(火) 23:23:26ID:???0704nobodyさん
2010/01/13(水) 01:14:38ID:???読めも書けもしない。だからCakePHPのfindとか、saveとかメチャ好きなんだけど、
SQL書ける人は、「Cakeのfindとかsaveとか覚えちゃられねーよ。
汎用性のあるSQLで書くのが一番じゃね。」と言う人も多いのかなあ?
それでもヤッパCakeのfindとかsaveとかは、直感的で効率的で便利と評価されるのかなあ?
0705nobodyさん
2010/01/13(水) 01:23:13ID:???生SQLをqueryに投げた時、結果の格納のされ方にクセがあってちょっと戸惑った
0706nobodyさん
2010/01/13(水) 03:31:13ID:???お前の文体嫌いじゃないぜ
SQLについては直感的というか効率&汎用性を考えて使い分けることもあるという程度かな
0707nobodyさん
2010/01/13(水) 03:43:15ID:???わざわざ覚える必要無いだろ
もう俺SQL構文愛してぺろぺろしたいくらいですって言うなら別だが・・
0708nobodyさん
2010/01/13(水) 14:15:50ID:???めんどくさい条件とか使うときは生SQL。
ちょとしたデータの操作はcakeを使ったます。
0709nobodyさん
2010/01/13(水) 15:45:03ID:???JOINをしているのですか?
俺はMySQL側でビューを定義して、そのビュー用のmodelを定義して、それ経由で
データの取得をしてます。
プログラム内でjoinのほうが各段に速いとか、明確な優位性はあるんでしょうか?
0710nobodyさん
2010/01/13(水) 22:00:48ID:???appフォルダのみ配布するべきか、cakeも含めたフォルダを配布する
どっち?
0711nobodyさん
2010/01/13(水) 23:12:16ID:???appとvendorsに何も入っていない時のcake本体をzip圧縮した場合のファイルサイズは約1.6MB
vendorsにも何か入れる場合が多いし、高々cake本体1.6MBだから、cakeも含めたフォルダを
配布するなあ。cakeはhtdocsの下へ配置すればどこでも動くので、この配布の方が安心で手間
いらずだと思う。
0712nobodyさん
2010/01/14(木) 00:17:27ID:???アザーズ!
landとかいう無料サーバーにCakephpアップしたら時間かかったから
気になったんだよぇ〜
0713nobodyさん
2010/01/14(木) 12:15:33ID:???丸ごとパッケージにする。
※以前、Authコンポーネントでうまく認証がかからないエラーがあった
0715nobodyさん
2010/01/15(金) 18:42:50ID:???0718nobodyさん
2010/01/16(土) 16:49:23ID:???ケータイでこのサイト見てたらエラーが表示されたんだけど、ディレクトリ構成がもろにcakephpだった
0719nobodyさん
2010/01/17(日) 14:58:10ID:???http://bakery.cakephp.org/articles/view/cakephp-1-3-0-beta-has-landed
0720nobodyさん
2010/01/17(日) 16:43:43ID:???というより改名すべき
焦げちゃったPHPとかにね^^;
0721nobodyさん
2010/01/17(日) 16:49:52ID:???0722nobodyさん
2010/01/17(日) 21:32:18ID:???この辺を見ると1.3はそれほど変わった感じもないけど
0723nobodyさん
2010/01/17(日) 21:34:00ID:???技術の進歩とともに自分の老化が。
バージョンアップに対応しなくていいやって思ったら技術者としてだめだよね。
0726nobodyさん
2010/01/18(月) 01:09:24ID:???激しく期待。つか標準でscriptaculous以外をサポートしたのって1.3からだよね
$js->get('#foo')->event('click', $eventCode);
0727nobodyさん
2010/01/18(月) 01:53:18ID:???でもJQueryをCakeのAjaxHelperの書式に合わせようと思ったら結構無理があったから、
標準でこういう書き方できるようになるならいいや。
0728nobodyさん
2010/01/18(月) 01:56:16ID:???0729nobodyさん
2010/01/18(月) 12:20:16ID:???0730nobodyさん
2010/01/18(月) 16:10:52ID:???0731nobodyさん
2010/01/18(月) 22:17:03ID:???0732nobodyさん
2010/01/20(水) 19:42:54ID:???ミスるphpコードが複雑になる。。。
0734nobodyさん
2010/01/21(木) 00:44:08ID:???0735nobodyさん
2010/01/21(木) 00:46:10ID:???0736nobodyさん
2010/01/21(木) 18:43:26ID:???function getEmail()
とか
function setApple()
とか
function のあとの、大文字にした方がいい部分ていうのは明確な決まりがあるのかな。
0737nobodyさん
2010/01/21(木) 18:47:39ID:???getemailとか
setapple
---------------
getEmail
setApple
0738nobodyさん
2010/01/22(金) 02:16:00ID:fZt9z1/I0739nobodyさん
2010/01/22(金) 11:25:18ID:???http://pear.php.net/manual/ja/standards.naming.php
0740nobodyさん
2010/01/22(金) 16:34:06ID:???http://book.cakephp.org/view/509/Coding-Standards
0742nobodyさん
2010/01/27(水) 00:02:16ID:???Visual stadioでしか開発した事ないのでテキストエディタ
まんまでは違和感が。
0743nobodyさん
2010/01/27(水) 02:24:26ID:???0744742
2010/01/27(水) 07:23:15ID:???Eclipse+PDTですかね。レスサンクス。
PDTとcakeを同じサーバーにインストする方法は簡単だけど、
サーバーと開発環境がリモートだと結構設定が難しそうですね。
調べないと……。
0745nobodyさん
2010/01/27(水) 12:10:53ID:???おれ、netBeans使ってる。
cakeのメソッド類を入力補完リストに表示させるため方法は、Eclipseの方法がそのまま使えた。
Eclipseより快適です
0746nobodyさん
2010/01/27(水) 20:22:02ID:???俺はマカーにスイッチしてからはTextMate一本になった。
cakeのsnippetも本家theChawでgitレポジトリが作られてるし。オススメ。
マカーにスイッチした際は是非。日本語怪しいけど。
0747nobodyさん
2010/01/28(木) 14:53:03ID:???0748nobodyさん
2010/02/01(月) 17:10:22ID:???自分は普通にviだわ
公式サイトのcompareページはnoindexしてほしい
0749nobodyさん
2010/02/02(火) 00:14:38ID:???エレメンとでファイルを呼び出すって感じですか?
0750nobodyさん
2010/02/02(火) 06:59:25ID:xXDrlP2Ucakephpのファイルを毎回ぶち込んで使うって解釈でOk?
PEARみたいにPHPとかにインストールするんじゃなくて
0751nobodyさん
2010/02/02(火) 09:08:23ID:???0752nobodyさん
2010/02/02(火) 09:30:11ID:???インストールではない(解凍のみで使用可能)
基本的には、webroot/index.phpとwebroot/test.phpの定数を書き換えれば、どこにでも置けるから共通化が可能
プロジェクト名も変更可能
でもオススメはシンボリックリンク使って定数の書き換えをしないようにすることかな
■ このスレッドは過去ログ倉庫に格納されています