【PHP】フレームワーク CakePHP 15ホール目【v2.2】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
2012/12/04(火) 13:06:36.87ID:ExCLhBiPCakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※他フレームワークとの比較等はスレ違いです
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
Issue
http://cakephp.lighthouseapp.com/dashboard
CheatSheet[1.2] (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
[2.x] http://book.cakephp.org/2.0/ja/index.html
[1.3] http://book.cakephp.org/ja
前スレ
【PHP】フレームワーク CakePHP 14ホール目【v2.1】
http://kohada.2ch.net/test/read.cgi/php/1335859124/
0850nobodyさん
2013/07/24(水) NY:AN:NY.ANID:???任せておけばプレースホルダ使ってくれるんだよね?
0852nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???0853nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???find と save だけ使ってりゃ大丈夫だったか。
0854nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???結構使ってるつもりだったが初めて知ったわ
0855nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???正直面倒
0856nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???何か難しい問題があるのかな
既に別のフレームワークへ移ってしまったが
0857nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???これ問題じゃないだろ
カラム名+1とか出来るようにしてんじゃないの?
0858nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???カウンター増減専用メソッドが存在しないための対処なんだな
0859nobodyさん
2013/07/25(木) NY:AN:NY.ANID:???難しい問題があるというよりも、生のSQLを用いた
更新ロジックを作りたかったんじゃないかな。
とは言え、他のは自動的にサニタイズされるのに
これだけ自前でやるだなんて、問題ないとは言えないと思うが。
オプションで "sanitize" => false とか
指定できるようにすればいいわけだから。
0860.net 99
2013/07/30(火) NY:AN:NY.ANID:li987LIG!次のサイトでは、セッションのタイムアウト時間として
'timeout' => 259200,
と記載されていますが、timeoutに指定する時間単位は分ですよね?
259200分 = 4320時間 = 180日
の設定となり異常に長いのですがこれは開発用に敢えて長い
時間を設定しているという認識で良いでしょうか?
http://weble.org/2012/03/22/cakephp-session-database
0861nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???0862nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???何でその長さにしたのかはブログの作者に直接聞くといい
0863.net 99
2013/07/30(火) NY:AN:NY.ANID:li987LIG!ありがとうございます。うーん。
ブログで得意気に情報を公開するのは結構ですが間違った
情報を堂々と公開するのは勘弁してほしいですね。
ちょっと自分でブログにまとめます。
0864nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???お前の用途に合って無かっただけ
0865nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???あとブログの情報なんてのは間違っていても全然おかしくないわ。公式のヘルプでも間違ってんのに。
問題はお前みたいに間違いに気づいたと思っても、
恥ずかしかったり面倒くさかったりでアクションを起こさないやつだ。
0866nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???はよ
0868860
2013/07/30(火) NY:AN:NY.ANID:qDXmbOPS騙るなクズ
0869nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???そんなに改良するところがあるもんなのかな
CakePHPにかぎらず、なかなか一つの定番に落ち着かないもんだな
ま、PHP 自体が変化しているから仕方ないのかな?
0870nobodyさん
2013/07/30(火) NY:AN:NY.ANID:???0871nobodyさん
2013/07/31(水) NY:AN:NY.ANID:???0872nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???http://blog.sumyapp.com/2013/07/no-recommend-rails/
0873nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???0874nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???同意だわ
0875nobodyさん
2013/08/03(土) NY:AN:NY.ANID:???0876nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???>どれもプログラマにとっては当たり前のキーワードだが、オートインクリメントって何?って人がほとんどなのではないだろうか?
どんな連中が回りにいるんだよwww
0877nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???0878nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???てかcake触る人でもDB構築してるわけじゃん?autoincrement知らないわけないんじゃないのか
0879nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???0880nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???そのため架空のフィールド名'tmp.hoge.huga'みたいなのでタグを生成してるのですが、編集の際にまたこねくり回してフォームに値を戻したいです
その際にどこかに値をセットすれば値を戻してくれたりするのでしょうか?
コントローラでthis->dataに辺りに値を戻せば戻してくれると思ったのですが、上書きすんなってdata上書きすんなって怒られました
0881nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???0882nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???0883nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???意図することはわかるのですが具体的にどんな感じで書けばいいのでしょうか??
0885nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???ファイルのアップロードを行っていて
mysqlのカラム名はfile_nameでtext型 not NULL で作っていて
コントローラーでfileの名前を変えた後
$this->request->data['Model']['file_name'] = $imageName;
$this->Model->save($this->request->data)
で保存しています
ほかのIDやbodyなどは正常に保存できていて
file_nameだけphpmyadminで見ると全部NULLになります
でもviewのほうで<?php echo $Item['Model']['file_name']; ?>
とするとしっかり保存されている名前がでてきます
ファイルもしっかり保存されています
mysqlとの食い違いがよくわかりません
原因とかえすぱーできませんか(´;ω;`)ブワッ
0886nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???> file_nameだけphpmyadminで見ると全部NULLになります
おかしくないか?
0887nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???phpmyadminのバグなのかもしれないけど
カラム名も表示されないんだよね
なんか違反してるのかなぁ
>>886
ちゃんとnot NULLで作ってるけど
表示はNULLで中身はしっかり入ってる状態っていうのかなぁ・・・
値は取れるから・・・
プログラミング自体初心者だから積んでる(´;ω;`)ブワッ
0888nobodyさん
2013/08/04(日) NY:AN:NY.ANID:???バグでもなんでもなくてphpmyadminの仕様で表示が省略されるっていうのでした
すいませんでした
0889nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???class こねくるモデル extends AppModel {
public function こねくる(元のデータ) {
// こねくりまわす
return こねくり回されました!
}
public function もどす(こねくり回されました!){
// こねくりを元にもどす
return 元のデータ
}
}
場合によっては不可能だけど、事情が許せば
static にして、更に可能なら Utility とかのディレクトリに
別のクラスを作ってそこに実装する
そうするとテストや保守がしやすい。
0890nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???beforeSaveで加工して
afterFindで戻せばいいだけじゃないの
0892880
2013/08/05(月) NY:AN:NY.ANID:???あとは、返却された値を$this->request->dataに入れればスムーズに行きそうな感じですね
>884の通りrequestの方でした、this->dataもあって中身は同じでした
ちなみにやりたかったのは複数レコードの挿入で、
A. x
B. y
C.1
d.1 2 3
E. 9
f. 4 5 6
と入力された時に
[x y 1 - 1][x y 1 - 2][x y 1 - 3]
[x y 9 - 4][x y 9 - 5][x y 9 - 6]
みたいな6レコードを挿入するみたいな感じです
0893nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???>>892の最後の段落とかわけわからん
0894880
2013/08/05(月) NY:AN:NY.ANID:???0895nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???>ちなみにやりたかったのは複数レコードの挿入で、
なんでそれを解決してから書くの?
なんで先に書かないの?
0896880
2013/08/05(月) NY:AN:NY.ANID:???仕切りなおしで意見を聞きたいんですけど、formヘルパーのinputメソッドを使う時、typeやoptionとかの指定ってviewに直接書いてますか??
自分はmodelのメンバ変数にカラム名=type等を設定しておき、コントローラでそれを$this->set('options',$this->model->hoge)として
、viewで$this->Form->input('hoge',$options)としています
どこかでまとめて設定しておければ後々便利だと思うのですが、みなさんはどうしているのでしょう?
inputDefaultもありかと思うのですが、修正の際に該当箇所が複数あった場合、直すのがめんどいですよね
0897nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???0898nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???0899880
2013/08/05(月) NY:AN:NY.ANID:???なるほど、helperを自分で作るか改造するかってことですね
ありがとうございます
>897
いろいろと参考になったので消えときます!
0900nobodyさん
2013/08/05(月) NY:AN:NY.ANID:n+BD/Kj+不可解な動きに困っています。ユーザ認証用に作成した user モデルの
中に email 入力エリアがあり、次の様な画面フォーマットになっています。
バリデーションとして
メールアドレスかIDを入力する為、メールアドレス形式では無い
値を�@に入力される場合もあります。
その場合には、当然メールアドレス形式として打倒か否かのバリデーション
を無効化したいのですが、コメントアウトしてもバリデーションがどうやら
掛かってしまっています。何が原因なのでしょうか?
�@ID(メールアドレス) ■■■■
�Aパスワード ■■■
[ログイン]
public $validate = Array(
'email' => Array(
/*
'required' => Array(
//'rule' => Array('notEmpty'), // 空でないか
'rule' => Array('date'),
'message' => 'メールアドレスを入力してくださいね!。'
)
*/
),
0901nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???登録時じゃなくてログインのこと?
0902900
2013/08/05(月) NY:AN:NY.ANID:???emailのバリデーションをどうしても外す事が出来ません。
0903nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???それでもやはりバリデーションが掛かっている様です。。。
public $validate = Array(
/*
'email' => Array(
'required' => Array(
//'rule' => Array('notEmpty'), // 空でないか
'rule' => Array('date'),
'message' => 'メールアドレスを入力してくださいね!。'
)
),
*/
0904nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???それモデルのバリデーション全く関係ないから。
たぶん Auth コンポーネント使ってるんだろうけど、
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1128&forum=8
http://d.hatena.ne.jp/lagos_on/20090803/1249292495
http://blog.xao.jp/blog/cakephp/customize-authorization-for-login-using-dual-fields/
あたりを参考にすれば良いと思う。
0905nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???・・・�@
を実行すると
type="email" の属性がなぜか自動で出力されている事が原因でした。
そこで�@を実行した時に type="email" が自動で吐き出されない様にするにはどうすれば良いでしょうか?
0906nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???サンクス
取り敢えず type="email" の属性をブラウザがどうやら自動で判定し
余計なバリデーションを行っていた様です。
※最近のブラウザは結構おせっかいな事をしてくれますね。
0907nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???0909nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???http://api.cakephp.org/2.3/
0910nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???>そんな指定方法もあったのですね。
じゃねーーーーよ!
>>872 のこの記事、ジワジワ来るわ
今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」 | つい全力ツッコミしてしまうエンジニアCEOのブログ | sumyapp
http://blog.sumyapp.com/2013/07/no-recommend-rails/
0911nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???0912nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???HTML5の仕様に含まれてる
0913nobodyさん
2013/08/05(月) NY:AN:NY.ANID:???0914nobodyさん
2013/08/06(火) NY:AN:NY.ANID:???ブラウザのバリデーションは利便性の為のもので、ちょっと手を入れればスルーできるからな。
0915nobodyさん
2013/08/06(火) NY:AN:NY.ANID:???0916nobodyさん
2013/08/06(火) NY:AN:NY.ANID:g0SrcHvj日記とかでもし同じadd.ctpに2つのpostボタンとかあったらどうやって処理わけるんですか?
function add(){
ポストしたときの処理
}
で書いてます
0917nobodyさん
2013/08/06(火) NY:AN:NY.ANID:???そうですか。続けてください。
0919nobodyさん
2013/08/06(火) NY:AN:NY.ANID:???同じとこ飛ばして処理をわけるならフラグをhiddenで埋め込むとか
0920nobodyさん
2013/08/06(火) NY:AN:NY.ANID:???馬鹿は答えなくていいぞ
複数のボタンを設置してどちらを押されたかをコントローラーで判別するってことだろ
「で書いてます」辺り意味不明だけど
submitにnameで値もたせたらコントローラーから取れるから
debug($this->request)とかでどこに入ってるか確認してみろ
0921nobodyさん
2013/08/06(火) NY:AN:NY.ANID:g0SrcHvj同じfunction内でどうやって2つのPOSTを区別して処理するか
が質問です
>>920のやり方でやってみます
0922nobodyさん
2013/08/06(火) NY:AN:NY.ANID:???素の書き方がわかってないのが丸わかり
0923nobodyさん
2013/08/06(火) NY:AN:NY.ANID:kElqUIofまじでか、知らんかった
あとで見てみよう
ちなみに飛び先(URL)変えるのはを変えるのはさすがにJSじゃないと無理だよね?
0924nobodyさん
2013/08/07(水) NY:AN:NY.ANID:???なんなんだアレは
0925nobodyさん
2013/08/07(水) NY:AN:NY.ANID:???なんだこれ
0926nobodyさん
2013/08/08(木) NY:AN:NY.ANID:9qCFded1ログインありだと表示したいボタンがありログインなしだと登録ボタンを見せたいんですけど
ログインしてるかしてないかを判定したいんだけどどうすればいいんですか?
0927nobodyさん
2013/08/08(木) NY:AN:NY.ANID:???0928nobodyさん
2013/08/08(木) NY:AN:NY.ANID:???0929nobodyさん
2013/08/08(木) NY:AN:NY.ANID:???0930nobodyさん
2013/08/11(日) NY:AN:NY.ANID:2Jj9WN6cそこで質問があります。
$message = "aaa"."\t"."bbb";
としてメールを送ったところ
"aaa" と "bbb" はタブ文字で区切られていると思ったのですが
実際にメールを送信してみると、タブでは無くスペースになっていました。
なぜ、タブ文字を指定しているのにメールを送信すると
スペースに置換されてしまっているのでしょうか?
0931nobodyさん
2013/08/11(日) NY:AN:NY.ANID:???0932nobodyさん
2013/08/11(日) NY:AN:NY.ANID:2Jj9WN6cメールで送信すると
タブがメール本文に含まれずスペースとして
送られるのでしょうか?
0933nobodyさん
2013/08/12(月) NY:AN:NY.ANID:???ソースは全部手中にあるんだから。
デバッグというのは実に地道な作業なんだよ。
0934nobodyさん
2013/08/12(月) NY:AN:NY.ANID:???エラー無くそうなったのなら、そういうものなんだろう。
終わり。
0935nobodyさん
2013/08/12(月) NY:AN:NY.ANID:???0936nobodyさん
2013/08/12(月) NY:AN:NY.ANID:???ちなみに呼びたいコンポーネントの関数はスタティックメソッドなので、そのコンポーネントを初期化する必要はなく、ただ関数呼びたいだけ
だけどApp::Usesとかrequire_onceとかやっても、何故か呼び出しできません
どこかに例があったら教えてください
必要ならサンプルコードうpします(読んでくれる親切な人がいるなら)
0937nobodyさん
2013/08/12(月) NY:AN:NY.ANID:???componentsにセットされていれば
$this->ComponentName;ってやって初めて初期化し始めるはずだからコンストラクタ内で
↑これしたら使えない?
0938nobodyさん
2013/08/12(月) NY:AN:NY.ANID:LSkO70Rp尖閣どこ吹く風、日本が依然として首位 台湾の「最も好きな国」
【台北=吉村剛史】台湾における「最も好きな国・地域」で「日本」が
43%の支持を集めてトップを維持し、2位の米国、中国、シンガポール
(各7%)から依然突出していることが2012年度対日世論調査で分かった。
尖閣諸島(沖縄県石垣市)の領有権を主張する中国との関係が冷却化する中、
同じように領有権を唱える台湾での根強い日本人気を裏付けた。
調査は日本の対台湾窓口機関、交流協会台北事務所(大使館に相当)が
外部機関に委託し、台湾の20〜80歳の男女1千人余を対象に今年1月に
実施した。
尖閣周辺で台湾漁船の操業を認めた日台漁業取り決め調印(4月)前の調査
だが、日本は昨年度より2ポイントアップ、米中は1ポイント下げた。年代別
では20代の54%、30代の50%が日本を支持し、高齢者より若者の親日
感情の強さが際立った。
「行きたい海外旅行先」も日本が首位(38%)だった。
0939nobodyさん
2013/08/12(月) NY:AN:NY.ANID:???App::uses の設定が間違っている以外に考えられない
設置してる場所、ファイル名、クラス名とApp::uses()のパラメータを書いてみ
ちなみにオンザフライでインスタンス生成する場合は ComponentCollection::load() メソッド
0940nobodyさん
2013/08/14(水) NY:AN:NY.ANID:JcfSCVXQ0941nobodyさん
2013/08/27(火) NY:AN:NY.ANID:???0942nobodyさん
2013/08/28(水) NY:AN:NY.ANID:???ルートじゃなくて、デフォルトドキュメントのこと?
0943nobodyさん
2013/09/02(月) 17:13:35.20ID:???コントローラに合わせてcategories.cssにするか
モデルに合わせてcategory.cssにするかで悩みます
0944nobodyさん
2013/09/02(月) 17:22:43.46ID:???0945nobodyさん
2013/09/02(月) 22:00:56.53ID:???if ( テスト実行中ではない ){
該当コード
}
とやりたいんだけど、テスト中かどうかを知るにはどうすればいいのでしょうか
Cake2です
0946nobodyさん
2013/09/02(月) 22:18:18.62ID:???これ以上聞くな
0947nobodyさん
2013/09/03(火) 01:20:44.38ID:???0948nobodyさん
2013/09/03(火) 02:15:37.83ID:???俺も今度使うわw
0950nobodyさん
2013/09/03(火) 07:12:38.51ID:???無理じゃねーよ
ローカルで本番と同じ構造のDB用意するだけだろ
それできないなら、本番用になんか作るのやめろ危なくてしょうがねーよ
レス数が950を超えています。1000を超えると書き込みができなくなります。