【PHP】フレームワーク CakePHP 14ホール目【v2.1】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/05/01(火) 16:58:44.53ID:fVBzm1/ACakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい には無いかも
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
前スレ
【PHP】フレームワーク CakePHP 13ホール目【v2.0】
http://kohada.2ch.net/test/read.cgi/php/1320768310/
0134nobodyさん
2012/06/14(木) 22:42:24.08ID:???暇を取れない会社のことを指しているようだ。僕自身、「違法な只働きの多い会社はどこですか?」なんて質問はよく受ける。だ
が、はっきりいってみんな甘い。甘すぎる。そんなのブラックでもなんでもなくて、日本企業なら当たり前の話なのだ。「フラン
スやドイツより年間300時間程度は長時間労働で、有給休暇も消費せず、辞令一枚で全国転勤」というのは、日本が世界に誇るカ
ルチャーである。日本は今でも終身雇用が建前の国である。いつ潰れるかわからないような中小の下請け企業ならともかく、普通
の会社では解雇なんて不祥事でも起こさない限りは行われない。もちろん、こういう楽ちんなシステムを維持するためには、それ
なりの工夫が必要だ。まず、一定の残業は大前提だ。新規採用の代わりに残業でカバーしておけば、不況時に残業カットで人件費
を抑えられる。有給休暇が取れないのも理由は同じだ。全国転勤なんて制度があるのは日本だけだが、これも終身雇用を維持する
ためのものだ。つまり、人事部がハローワークの代わりに社内の空きポストを見つけ、再就職の斡旋をしているようなものなのだ。
であるため、大手優良企業ほど、残業も転勤も有給取得制限も確実に存在するし、雰囲気的に文句は言えない。たまに、日本企業
の労組が「組合員の長時間残業や転勤を黙認している」といって非難する人もいるが、ちょっと違う。すべては終身雇用システム
を守るための、やむを得ない副産物なのだ。たまに「勇気を持って拒否できないんですか?」という質問も受けるけど、そんなこ
と主張して村八分に耐えるだけの強靭な精神力があるなら、最初から年俸制の企業に行って頑張ることをおススメする。ところで、
真のブラック企業とは何だろうか。それは上記のロジックからすれば明らかだろう。最初から終身雇用を守るつもりも、成果に応
じた年俸を上乗せする気もなく、長時間残業が当たり前で有給も取れない会社のことだ。新卒の時点でそういう会社に遭遇するこ
とは「滅多に」ないし、入ったら入ったで何年か修行して転職すればよいだけの話なので、入る前からあれこれ心配する必要は無
い。最悪なのは右往左往した挙句、内定無しで卒業してしまうことだというのはおぼえておくといい。
0136nobodyさん
2012/06/18(月) 09:29:52.49ID:???見るとpostデータにmodel名が含まれてしまう事があるのですが、postデータ
にmodel名を含ませないように出来ないのでしょうか?
<input name="data[test]" type="text" value="" id="test" />
こうなる場合と
<input name="data[models][test]" type="text" value="" id="test" />
こうなる場合があります
0137nobodyさん
2012/06/18(月) 09:55:08.10ID:???nullじゃなくてfalseにすれば期待した動作になりました
0138nobodyさん
2012/06/20(水) 20:53:26.92ID:???の俺が言う
Cakephpはやめとけ
0139nobodyさん
2012/06/20(水) 21:44:38.57ID:???0141nobodyさん
2012/06/20(水) 22:13:18.78ID:???Cakeは国内の知名度だけはいい線いってるよ
0142nobodyさん
2012/06/21(木) 00:32:08.42ID:???いくらFUELPHPが凄くても一人で細々とやっててもねぇ
あ、英語できるならいいけど
0143nobodyさん
2012/06/21(木) 01:35:20.48ID:???2.2ももうすぐ出そうだし、最近のCakeは順調…すぎてついていけなくなってるけどw
0145nobodyさん
2012/06/21(木) 02:16:55.75ID:???レコードのとあるフィールドの値で取得結果を変えるなら
select
case field1 when 0 then 'ぬるぽ' else field2 end
from tblA;
こんな感じでSQLの記述だけで完結出来るんですが、外から与えた変数で
同じような事を簡単に出来ないでしょうか?
取得結果は最終的にはviewで表示するのですが、
view内でforeachで回す際にループごとに条件判定をして…という方法は避
けたいです(viewにあまりゴテゴテとロジックを書きたくないので)
0146nobodyさん
2012/06/21(木) 08:42:57.93ID:???mysqlならIFって関数があるから、fieldsかモデルの$virtualFieldsで、
"IF(Model.field1 = 0 , 'ぬるぽ' , Model.field2)"
って書いてる。条件が複数あるなら入れ子でもいける。
0148nobodyさん
2012/06/21(木) 18:17:56.38ID:bhjX0YXlコードイグナイタ
見通しが良いから
0149148
2012/06/21(木) 18:18:47.19ID:bhjX0YXl0150nobodyさん
2012/06/21(木) 19:08:33.82ID:???0151nobodyさん
2012/06/21(木) 19:49:36.93ID:0C9bmUAd廃止されるで
0152nobodyさん
2012/06/21(木) 20:13:49.65ID:???0153nobodyさん
2012/06/21(木) 20:28:25.81ID:???0154nobodyさん
2012/06/21(木) 20:54:48.63ID:???Controller->set()は別物
0155nobodyさん
2012/06/21(木) 23:51:44.61ID:???なるほどHashクラスに置き換わるのか
0156nobodyさん
2012/06/22(金) 02:40:29.62ID:???0157nobodyさん
2012/06/22(金) 07:52:03.33ID:???・速い
・小規模、大規模にも対応できる
・CIより高機能、CakePHPより簡潔
・その他あらゆる点、全体の思想やARなどなどが洗練されてる
0158nobodyさん
2012/06/22(金) 10:33:48.17ID:???・設置に関する情報が少ない
・既存プラグインが少ない
0159nobodyさん
2012/06/22(金) 11:25:22.29ID:???function index($id){
$this->_idcheck($id);
}
function _idcheck($id){
if ($id != 1) {
$this->layout = 'error';
$this->render('/errors/error');
return false;
}
}
こんな感じで$idが指定と違うとエラーページを表示させたいのですが、
上の書き方だと2回renderされます。(indexのビューもrenderされます)
$this->render('/errors/error');の次行に$this->_stop();をしたら
ページ全体が表示されないし、どうやって特定のエラーページのみ
表示したら良いか分かりません。ご存じの方はアドバイスお願いします。
0160nobodyさん
2012/06/22(金) 11:39:12.45ID:???もしくはautoRenderで検索
0161159
2012/06/22(金) 11:52:47.08ID:???159のコードで、
$this->render('/errors/error');
$this->autoRender = false;
return ;
としてもindexのビューは表示されます。
出来ればidcheckのerrorビューで止めたいのですが・・・
0162nobodyさん
2012/06/22(金) 12:26:35.74ID:???viewが2個連なってでてるの?
そんなことあったっけ?
解決しないようなら後で試してみるけど、
↓この順番にしたらどう?
$this->autoRender = false;
$this->render('/errors/error');
あとは、
idcheck()ではbooleanを返すようにして、
falseが帰ればそのindex()内でreturnしてみるとか?
つまりidcheckでreturnしてもidcheckを抜けるだけだから全く意味ない。
0163159
2012/06/22(金) 13:07:10.41ID:???その方法も一緒でした。
おっしゃるとおり、idcheckでreturnしても意味無いのですが、
index内で分岐をさせる場合
if ($this->_idcheck($id)) {
trueの場合の処理
} else {
falseの場合の処理(エラページ出力)
}
としていかなければならず、idcheckが必要な全アクションに
これを入れるのはどうかと思い、idcheck内で解決出来ないかと探していました。
renderで出力ではなく、cakeErrorで404を出力すれば
ページエラーとして表示され、その後の処理も止まるんですけどね・・。
0164nobodyさん
2012/06/22(金) 14:00:47.36ID:???$this->_idcheck($id);
こうしろ
if(!$this->_idcheck($id)) return false;
0165nobodyさん
2012/06/22(金) 14:17:55.24ID:???if (!$this->_idcheck($id)) return $this->render('/errors/error');
こーすりゃいいのかな
0166159
2012/06/22(金) 14:19:08.34ID:???>>164の方法を使用したいと思います。
みなさん、アドバイスありがとうございました。
0167nobodyさん
2012/06/22(金) 16:33:34.16ID:???0168nobodyさん
2012/06/23(土) 03:49:34.45ID:???みたいなのが書かれた時が、俺の乗り換え時と決めている
0169nobodyさん
2012/06/23(土) 10:37:00.10ID:???0170nobodyさん
2012/06/23(土) 15:20:05.50ID:???0171nobodyさん
2012/06/23(土) 15:29:01.95ID:???railsに行くのが一番中途半端じゃないんだろうな
0172nobodyさん
2012/06/23(土) 16:19:14.16ID:???0173nobodyさん
2012/06/23(土) 16:33:09.34ID:???これがweb frameworkの完成形なんだって
まぁruby覚えるの面倒くさいから常用はしないけど
0174nobodyさん
2012/06/23(土) 17:33:16.95ID:???言語以外で
0175nobodyさん
2012/06/23(土) 18:54:12.89ID:???分からないことがあったら
リソースが沢山転がってるcakephpのほうがいいなぁと思う
railsのスレみてみなよ
過疎ってるし荒んでるよ
cakephpだと必要なプラグインとかをvendorフォルダにぶっこんで
ftpであげるだけで大抵うごくけど
railsはサーバー環境を
1から構築していく必要がある
これが大変
敷居が高い
しかも、プラグイン同士の依存関係がかなり厄介だから
コーディング始める云々の前に
つまづいて辞める人がほとんど
cakephpに戻ろうかなと思う
0176nobodyさん
2012/06/23(土) 18:56:58.00ID:???負荷がかかりそうなアプリ開発している人いる?
素のPHPでやった方がパフォーマンス出ると思うんだが、
Cakeの作り方に慣れてるから困る
0177nobodyさん
2012/06/23(土) 19:07:09.76ID:???少し時間かけてYii習得したほうが後々その時間は回収できるよ
今も前のシステムの関係上CakePHP触らないといけないんだけど、
開発スピードが段違い
0178nobodyさん
2012/06/23(土) 19:54:38.82ID:???とある商用サイト作って運用してるけど、ユーザ登録でユーザに仮IDメール出
してるし、同時一斉配信つーならメルマガも運用してる。
今のとこパフォーマンスが問題になった事は無い。
0179nobodyさん
2012/06/23(土) 20:03:33.23ID:???幸い、問題が起きるほどユーザーが増えたことがない
負荷とか最初から気にするだけ無駄なんだなと気付いた
負荷対策は万が一サービスが当たってから考えるのが、結局効率が良い
0180nobodyさん
2012/06/23(土) 20:33:40.14ID:???0181nobodyさん
2012/06/23(土) 21:40:18.93ID:???0182nobodyさん
2012/06/23(土) 23:41:07.25ID:9D2aOBXb0183nobodyさん
2012/06/24(日) 00:05:46.88ID:???0184nobodyさん
2012/06/24(日) 09:51:40.07ID:???さくらインターネットでサブディレクトリにCakeディレクトリを入れて運用したいんだけどできない
/home/username/www/cakephp
www/がドキュメントルート
その下にcakephpをつっこんでそのまま運用したい
URLも/cakephpにアクセスする形でいいんだけど
500エラーが出るんで、.htaccessあたりの設定だろうと思うんだけど、
いじりまくっても回避できなかった
アドバイスください!
0185nobodyさん
2012/06/24(日) 12:41:22.32ID:???メール配信ってshell機能使って配信してるんだよね?
自分はそうしているけど、特にパフォーマンスの違いはないな。
>>179
当たってから変えるってのもどうかな?とは思うからね。
最初から「ユーザ数100万人!」とか目標にするのもどうかと思うが、
せめて1万人は想定する必要があると思う。
で、1万人の一斉配信って負荷やら配信ログやらの問題が出てくるから、
設計も考えなきゃいけないんだよね。
ま、どちらかというとCakeよりもサーバ側の問題だけど。
0186nobodyさん
2012/06/24(日) 13:39:09.72ID:???0187nobodyさん
2012/06/24(日) 15:52:42.05ID:???CakePHPに下記のプラグインありますか?
・会員登録、ログイン認証
・画像アップロード
・ページネーション
・キャプチャ
・会員同士のプライベートメッセージ
0188nobodyさん
2012/06/24(日) 16:14:03.48ID:???0194nobodyさん
2012/06/24(日) 17:47:28.20ID:???>・会員登録、ログイン認証
登録の機能は自分で作りこんで下さい。プラグイン不要です。
ログイン認証はAuthコンポーネントがあります。
>・画像アップロード
CakePHPの標準機能で作りこんで下さい
>・ページネーション
CakePHPの標準機能でよきに計らってくれます。プラグイン不要。
>・キャプチャ
???
>・会員同士のプライベートメッセージ
自分で作りこんで下さい。
0195nobodyさん
2012/06/24(日) 17:50:22.25ID:???0196nobodyさん
2012/06/24(日) 18:17:33.67ID:???0197nobodyさん
2012/06/24(日) 18:37:52.32ID:???いくつかあるテメーでさがせかす
0198nobodyさん
2012/06/24(日) 19:56:11.23ID:???0199nobodyさん
2012/06/24(日) 20:36:53.49ID:???0202nobodyさん
2012/06/24(日) 20:47:36.27ID:???込んでるけど、問題なく運用出来てる。まあがんがれ。
0203nobodyさん
2012/06/24(日) 20:56:58.63ID:???0204nobodyさん
2012/06/24(日) 21:36:35.96ID:???/home/www/cake_test/
として解凍したんだけど、アクセスすると
400 Bad Requestと出ます
0205nobodyさん
2012/06/24(日) 21:37:55.05ID:mIG0xQosです
http://cakephp.kojima-yoshio.net/?page_id=58
>症状2:400 Bad Requestエラーが出る。
>対処法:マルチドメインの設定を見直す。
>パスの列を見て、末尾に/が付いているとダメ。( ○/test ×/test/ )]
これも確認しましたが、大丈夫でした
0206nobodyさん
2012/06/25(月) 00:03:36.30ID:bAX9Bc0l別の既存の原因だったみたいだわ
0207nobodyさん
2012/06/25(月) 10:04:44.87ID:???$user = $this->User->read();
var_dump($user);
↑これがローカルではちゃんと取得できていて、
サーバにアップするとfalseが帰ってくるんだけど、何が原因?
サーバもローカルも1.3だったはずだけど、もしかしてマイナーバージョンぐらいがかもしれないんだけど、
マイナーバージョンアップで上記に影響されるような変更あったのかな?
0209207
2012/06/25(月) 10:17:38.50ID:???Configure::write('debug', 3);
} else {
Configure::write('debug', 0);
}
原因分かった
こういうふうにローカルとサーバでdebugの値変えてたからだった。
ただ、なぜこれが>>207に影響するんだ???????
まぁ直ったからいいんだけど・・・
0210nobodyさん
2012/06/25(月) 11:54:22.20ID:???0211nobodyさん
2012/06/26(火) 12:18:15.97ID:???0212nobodyさん
2012/06/26(火) 12:31:08.88ID:???0213nobodyさん
2012/07/01(日) 00:01:58.85ID:???cake ver.1.x から cake ver.2 への移行ってメンドクサイ?
まだcakeに手をつけてなくて、
この移行作業が初めてなんだけど。
0214nobodyさん
2012/07/01(日) 04:39:16.82ID:???loginページでログインしてokだったらtopページにredirectさせているんで
すが、loginページとtopページはコントローラが別で、かつloginページは
https接続です。
loginページではちゃんとAuth->user()が取得出来るのに、topページだと
Auth->user()が取得出来ません(nullしか取れない)
0216213
2012/07/01(日) 15:48:37.46ID:???そもそもサーバのリプレースに合わせて、
PHPとDBのバージョンアップが主目的で、
PHPとDBをバージョンアップしたら、
もちろんcakeもバージョンアップでしょ、
みたいな感じなんだよね。
「移行は止めた方が良い」という理由を
簡単で良いので教えてくれると助かる。
よろしくおねがいします。
0217nobodyさん
2012/07/01(日) 16:05:30.07ID:???二度と来るな
0218nobodyさん
2012/07/01(日) 16:13:00.28ID:???マイグレーションガイドっていうのがあるんだな?
そういうことは早く家カス
ってかお前ら暇だろ?
んで、その無駄な知識ひけらかす場所も此処ぐらいしかないんだから、
「二度とくるな」とか言ってないで答えとけよw
0219nobodyさん
2012/07/01(日) 16:19:14.42ID:???ああ、まだ今日は6月31日
0221213
2012/07/01(日) 20:30:48.36ID:???残念ながら納得はしねぇんだなぁ。
「バージョン上げないとセキュリティ的にヤベェんじゃねぇの?」
っていう幼稚園児でもわかる動機があるのさ。
PHPが ver4 ⇒ ver5.2 は必達なわけよ。だとすると、cake ver2 は必須だろ?
もともとが cake ver0.2 とかで作られちゃってるわけで・・・
>>219 「今日は6月31日」のガンバリ屋さん
マイグレーションガイドちょっと目を通したわ・・・
けっこうめんどくせぇのな・・・
教えてくれてサンクス。
仕事がんばれ。死ぬな。
作りなおしを提案するかなぁ・・・・
0222nobodyさん
2012/07/01(日) 21:01:00.46ID:???例えばSNSのようなウェブアプリを作ったとして、
ログインしていると仮定します。
他のメンバー一覧画面から送信先の人の行で「メッセージ送信」ボタンをクリックすると
メッセージ送信フォームが現れるようにしたいのですが、送信先の情報はどのように送信フォームへ引き渡しますか?
0223nobodyさん
2012/07/01(日) 21:24:18.70ID:???一覧にチェックボックスを配置して、そのチェックボックスにはメンバーIDを入れ、
送信ボタンを押した時に、選択したメンバーID宛にメールが送信されるように
するのはどうだ?
0224nobodyさん
2012/07/01(日) 22:06:48.14ID:???なるほど、ナイスアイデアです!
配信先が配列(複数)になってもOKってことですね。
例えばAさんから来てるメッセージの内容表示画面(scaffoldでいうshow)で
返信するボタン押したときは
新規メッセージの編集画面(edit)へは
どのように送信先の情報は渡して
持たすべきですか?
hiddenフィールドにすべき?
getで渡したら送信先のidとかがURLに表示されますよね?
スパマーとかにそのURLのID部分だけ書き換えられてスパムメッセージされまくりが不安です。
0225nobodyさん
2012/07/01(日) 22:10:54.69ID:???PHP&Mysqlを使ったよさげなシステムを作ったのを見てPHPちょっとづつ勉強してます。
でも、PHPでいちからゴリゴリ作るのはどうもって事で、フレームワークを探してたら
こちらにたどり着きました。
Accessに慣れきった体にはMVCの概念を理解するのはちときついと思いますが、cake
何とかものにしたいと思ってこちらのレス眺めさせてもらってます。
で、時々思うのですが、Accessからスンナr移行しやすいフレームワークって何かないでしょうか?
なんだろうなぁって思うのですが、だめもとで聞いてみました。。。。。
お手柔らかにお願いします。
0226nobodyさん
2012/07/01(日) 23:19:29.72ID:???イベント駆動とかってことなら、PRADOかな?
いまいち情報少ないし、素直にMS謹製asp.net web formsの方がいい気がするが。 .netも最近はasp.net mvcが多いみたいだけどね。
0227nobodyさん
2012/07/02(月) 00:46:19.94ID:???情報ありがとうございます。
こちらも調べて見ます。でもやっぱりWebはMVCアーキテクチャを採用するものが多いようですね。
後学のために両方調べつつ勉強することにします。
0228nobodyさん
2012/07/02(月) 10:37:29.40ID:???0229nobodyさん
2012/07/02(月) 10:44:53.79ID:???0231nobodyさん
2012/07/02(月) 13:22:20.55ID:???getで渡したくなけりゃpostでわたしゃいいだろ。
スパマー?
getで渡そうが渡さなかろうが、悪意を持ってたらいくらでも送信出来んだろ
つまりそんなところの対策は連続送信対策を打てよ
送信者は不特定多数じゃなく会員ユーザーなんだからいくらでも対策打ちやすいだろ
0232nobodyさん
2012/07/02(月) 13:31:16.85ID:???それをポストする時に何らかの対策をすればいい話だしCakeと関係ないっていうのも全く同意
■ このスレッドは過去ログ倉庫に格納されています