1 名前:nobodyさん [2008/12/19(金) 15:52:19 ID:ylogT+7c] ■本家 www.cakephp.org/ APIドキュメント api.cakephp.org/ cookbook(マニュアル) book.cakephp.org/ja the Bakery bakery.cakephp.org/ ■日本語フォーラム cakephp.jp/ ■過去スレ 【PHP】フレームワーク CakePHP 4ホール目【v1.2】 pc11.2ch.net/test/read.cgi/php/1213892680/ 【PHP】フレームワーク CakePHP 3ホール目【本命】 pc11.2ch.net/test/read.cgi/php/1205475360/ 【PHP】フレームワーク CakePHP 2ホール目 pc11.2ch.net/test/read.cgi/php/1194976228/ 【PHP】フレームワーク CakePHP pc11.2ch.net/test/read.cgi/php/1163850802/
274 名前:nobodyさん mailto:sage [2009/01/10(土) 20:30:14 ID:???] Cakeって世界で一番使われてるFWとかいうけど微妙にライブラリが充実してないことない? 他のFWもこんなもんなのかな
275 名前:nobodyさん mailto:sage [2009/01/10(土) 20:37:41 ID:???] >>273 だよね? ちょっと不安になったんで聞いてみた ありがと!
276 名前:nobodyさん mailto:sage [2009/01/10(土) 20:38:48 ID:???] >>274 ライブラリはそこそこだと思うけど、バグが多い…
277 名前:nobodyさん mailto:sage [2009/01/10(土) 20:58:25 ID:???] >>266 >>267 > それはCSSじゃなくてHelperのしわざだろ お〜い。ウソだよ。cssだよ。 form div.submit { border: 0; clear: both; margin-top: 10px; /* margin-left: 140px; */ } これでsubmittボタンの頭の空白はなくなるよ。
278 名前:nobodyさん [2009/01/10(土) 21:22:36 ID:tnQWYP/T] ルーティングだかコントローラー名を規約から変えると formヘルパーの吐く action属性もおかしくなるな
279 名前:nobodyさん mailto:sage [2009/01/10(土) 21:26:59 ID:???] コントローラー名を変えたときっぽいな Postコントローラーなのに <?php echo $form->create('Post', array('action' => 'edit')); ?> としても、 action="posts/edit" になりやがる なんでこんなバグだらけなんだよ…
280 名前:nobodyさん mailto:sage [2009/01/10(土) 21:30:15 ID:???] ちょっと本体のコード読むと分かるけど 汎用化すべきところも各所で独自実装してるからね ライブラリごとの整合性や競合といった問題が出てくる
281 名前:nobodyさん mailto:sage [2009/01/10(土) 21:33:55 ID:???] FWなのに、ソース見て、結局オーバーライド 意味ねーよ… 1.2finalでこれでしょ? もうちょいなんとかしてほしいなぁ
282 名前:nobodyさん mailto:sage [2009/01/10(土) 21:38:22 ID:???] 割と平凡な機能しかないサイトでもそうなるよね Securityコンポーネントもそうだけど 汎用的な機能すらバグ持ちかつ仕様がおかしかったり機能不足だったり 他のFWはどうなんだろうなあ
283 名前:nobodyさん mailto:sage [2009/01/10(土) 21:44:53 ID:???] いや、ほんと平凡なサイトなんだけど、バグありすぎだよ… ぱっと見はたしかに早いんだけど、使えるレベルに引き上げるのに相当苦労する気が とりあえずformヘルパー使うのやめて直書きする formヘルパー拡張してトークン出力メソッドだけ使うわ orz
284 名前:nobodyさん mailto:sage [2009/01/10(土) 21:47:38 ID:???] そうそう んで、ライブラリ類継承しようとしても、コアライブラリへのパス定数ないのね なんかいまいち甘いよね ぱっとみ手軽っぽくは見えるんだけど
285 名前:nobodyさん mailto:sage [2009/01/10(土) 22:00:30 ID:???] ありゃ formHelper継承して $helpers = array('MyForm') しても ビューで $myform 使えないぞw Helperクラス継承せんといけんのか? 拡張性低すぎだろ…
286 名前:nobodyさん mailto:sage [2009/01/10(土) 22:13:06 ID:???] Myform extends FormHelperにしたら $myformで参照できたわ MyFormだと$my_formでも$myformでも参照できない ヘルパーには大文字一つしか使えないんか? なんでこんなとこで苦労しなきゃいけないんだよw
287 名前:nobodyさん mailto:sage [2009/01/10(土) 22:14:07 ID:???] ビューにデフォルトでセットしてるのは コントローラのほうじゃないの
288 名前:nobodyさん mailto:sage [2009/01/10(土) 22:14:53 ID:???] Cake使ってるとコアのコードにハックする事が多すぎるんだよな
289 名前:nobodyさん mailto:sage [2009/01/10(土) 22:15:14 ID:???] あ、 $myForm で参照できたわ どういう命名規則だよ… キャメルケースは _ だろ…ファイル名もそうだし なんか一気にいやになってきたなー かといって他にあんまりいいのないんだよな
290 名前:nobodyさん mailto:sage [2009/01/10(土) 22:16:55 ID:???] >>287 ちゃんとやってるよ my_helper.php: MyFormHelper extends FormHelper コントローラー: $helpers = array('MyForm'); んで、ビューでは$myFormで参照したらいけた ヘルパーのクラス名だけ命名規則がおかしいだろ…
291 名前:nobodyさん mailto:sage [2009/01/10(土) 22:25:05 ID:???] 自前でトークン出力してみたが、 ルーティングしてるとSecurityコンポーネント使えないな ほんとにFWなのか疑問に思ってきたぞ…
292 名前:nobodyさん mailto:sage [2009/01/10(土) 22:58:06 ID:???] >>279 の件は <?php echo $form->create('Post', array('url' => '/post/edit')); ?> でurl使えばいけそうな感じなんだが、 Securityコンポーネントをあきらめてはずしたら、セッションが使えなくなった Sessionコンポーネントもヘルパーも使ってるのに だんだん頭にきてきた
293 名前:nobodyさん mailto:sage [2009/01/10(土) 23:05:43 ID:???] あ、自分がミスってたわw formヘルパーの吐くaction属性の件は <?php echo $form->create('Post', array('url' => '/post/edit')); ?> でうまくいった もっともSecurityコンポーネント使えない問題は残るが… もうちょいバグ少ないFWないのかね…
294 名前:nobodyさん mailto:sage [2009/01/10(土) 23:14:50 ID:???] バグがあるなら、開発者に連絡しとけよ
295 名前:nobodyさん mailto:sage [2009/01/10(土) 23:34:57 ID:???] そこまで使い込んでないし 使い続けるかわからんので、常連さん、お願いしますねーw
296 名前:nobodyさん mailto:sage [2009/01/10(土) 23:42:11 ID:???] まぁチケットあげるにしても原因がわからんとなぁ Securityコンポーネントとルーティングつかってるときに 404エラーになる原因の目星ある? コントローラー名かHTTP_REQUEST関係あたりかな とは思ってるんだけど、目星つかないとなぁ
297 名前:nobodyさん mailto:sage [2009/01/11(日) 00:25:09 ID:???] コントローラで共通して使うような関数はコンポーネント ビューで共通して使うような関数はヘルパ に実装すると思いますが、 コントローラでもビューでも使うような関数はどこに実装するのが cakephp のやり方ですか?
298 名前:nobodyさん mailto:sage [2009/01/11(日) 01:06:51 ID:???] 【質問】$form->input()のtextareaの幅(cols)の変更が出来なくて困ってます。 $form->input('honbun', array('type'=>'textarea', 'cols'=>'10', 'rows'=>'5'); 行数(rows)は指定どおり変化してくれます。 cake.generic.cssのどこかを修正すれば良さそうな所まで調べましたが、具体的に どこをどう修正すれば良いかわかりません。よろしくお願いします。
299 名前:nobodyさん mailto:sage [2009/01/11(日) 01:38:19 ID:???] >>297 普通のライブラリならvendersにでも入れて App::importでいいんじゃね
300 名前:nobodyさん mailto:sage [2009/01/11(日) 03:35:55 ID:???] 規約からちょっとはずれると 途端におかしな動作しだすな、このフレームワーク…
301 名前:nobodyさん mailto:sage [2009/01/11(日) 03:59:04 ID:???] Formヘルパー使うとHTMLソースが一行続きになる orz
302 名前:nobodyさん mailto:sage [2009/01/11(日) 08:53:45 ID:???] stable出ても、まだバグがあるの? というか、今までのバグは本家に報告してないの?
303 名前:nobodyさん mailto:sage [2009/01/11(日) 09:24:13 ID:???] 日本語公式サイトに報告フォーム作るくらいはすべき
304 名前:nobodyさん mailto:sage [2009/01/11(日) 12:04:42 ID:???] チケット出しておけばたいていのバグはなおしてくれるのに ここで文句ばっかり言ってるやつってなんなの?
305 名前:nobodyさん mailto:sage [2009/01/11(日) 12:23:51 ID:???] 使い続けるかもわからない上に 原因特定できないのにチケット出す意味ない その辺は日本公式(?)がうまく立ち回ってもらいたいところ
306 名前:nobodyさん mailto:sage [2009/01/11(日) 12:36:15 ID:???] 再現手順さえあればチケット出せば良いだろうけど 英語書くの遅いから嫌だ 大体、そんな苦労しなくても最初から使えるFWを使いたい
307 名前:nobodyさん mailto:sage [2009/01/11(日) 12:38:18 ID:???] 使い始めたばかりでバグかどうかも特定できていないのに騒ぐやつは無視で良い
308 名前:nobodyさん mailto:sage [2009/01/11(日) 13:11:03 ID:???] 手順書いてるんだからバグかわかるだろw それとも新参者ばかりなの?w
309 名前:nobodyさん mailto:sage [2009/01/11(日) 15:49:46 ID:???] この流れひでえなw
310 名前:nobodyさん mailto:sage [2009/01/11(日) 15:58:13 ID:???] コアに手入れたりすると 別のエンジニアが保守し辛くなるし FWの良さがなくなる
311 名前:nobodyさん mailto:sage [2009/01/11(日) 18:00:58 ID:???] バグだらけなのがCakePHPの特徴だろw 1.0正式版が出たときもそうだったぜ。 そこを自分で何とかするのがBaker。 文句いう人は他のFWを使えばいいと思う
312 名前:nobodyさん [2009/01/11(日) 19:36:58 ID:e07paZUF] 2年後くらいにcakeがまともになってたらまたきます><
313 名前:nobodyさん mailto:sage [2009/01/11(日) 20:09:38 ID:???] 全然オブジェクト指向じゃないしなあ
314 名前:nobodyさん mailto:sage [2009/01/11(日) 21:14:41 ID:???] PHP4対応なのになんでオブジェクト指向だと思ったの
315 名前:nobodyさん mailto:sage [2009/01/11(日) 21:53:49 ID:???] コード分ければ出来るじゃん
316 名前:nobodyさん mailto:sage [2009/01/11(日) 22:57:27 ID:???] クラス使われているんだからオブジェクト指向であってるよ。
317 名前:nobodyさん mailto:sage [2009/01/12(月) 00:44:27 ID:???] クラス使ってるからオブジェクト指向(笑)
318 名前:nobodyさん [2009/01/12(月) 08:02:17 ID:JmkPO6xq] PHP自体が関数指向で配列をぶん回すタイプの言語だからな オブジェクト指向言語の基本的な要素は持ってるけど 実際にオブジェクト指向プログラミングをやろうとすると苦労が多い cakeのapi設計もrailsからパクった部分はオブジェクト指向的だが、cake拡張部分は関数っぽくなてる
319 名前:nobodyさん mailto:sage [2009/01/12(月) 08:48:04 ID:???] Railsをパクるだけにしていてほしい
320 名前:nobodyさん [2009/01/12(月) 09:04:16 ID:3zI01Xa5] またまたバグ発見 formヘルパーで、フィールド名 (field)に数字を渡すと、 0のときだけ中身が消える $form->text('0'); とか empty()とかでしかチェックしてないっぽいな string型にキャストしても駄目だし
321 名前:nobodyさん mailto:sage [2009/01/12(月) 09:05:10 ID:???] $form->text('data[0]'); で動けばいいが、動かないし
322 名前:nobodyさん mailto:sage [2009/01/12(月) 09:17:19 ID:???] appごとにコアのファイルをオーバーライドしないと使えないな appディレクトリの意味ねー
323 名前:nobodyさん mailto:sage [2009/01/12(月) 09:38:56 ID:???] なんじゃこりゃ appディレクトリ側で /view/helper.php の置き換えできないのか?
324 名前:nobodyさん mailto:sage [2009/01/12(月) 09:42:41 ID:???] cakephp.jp/modules/newbb/viewtopic.php?topic_id=377&forum=9&post_id=669
325 名前:nobodyさん mailto:sage [2009/01/12(月) 09:44:45 ID:???] とん ってまじかよ helper.phpにバグあるんだが、直接編集しかないのかよ FWのはずがコアのバグつぶしにすり替わって、全然進まない
326 名前:nobodyさん mailto:sage [2009/01/12(月) 09:55:09 ID:???] とりあえず、バグっぽいとこ教えとくから、常連さんはチケットでもあげといてくれ 俺はたぶん、次回はもうCakeは使わない $form->text('0'); とかやると、0のときだけ <inpute name="data[]" 〜 /> みたくなる helper.phpのsetEntity()で、view->fieldにセットしてるとこが問題ぽい
327 名前:nobodyさん mailto:sage [2009/01/12(月) 11:06:01 ID:???] >>326 どうしてコアに手を入れてまでフィールド名を"0"にしたいのかがわからない。
328 名前:nobodyさん mailto:sage [2009/01/12(月) 11:48:59 ID:???] >>327 相手すんなって
329 名前:nobodyさん mailto:sage [2009/01/12(月) 11:51:38 ID:???] >>327 手を入れたいというより、HTMLを自由に組みたかっただけなんだけどね んだけど、規則からはずれると不具合がでまくる ちなみに、 >helper.phpのsetEntity()で、view->fieldにセットしてるとこが問題ぽい は $view->model の間違いかも かなり深いところに原因があるっぽくて、結局、あきらめて $form->text(null, array('name' => 'data[0]')); $form->text(null, array('name' => 'data[item][0]')); とかするようにした コンポーネントとか使う場合に、また問題がでるかもしれないけど
330 名前:nobodyさん mailto:sage [2009/01/12(月) 11:54:41 ID:???] DB使わないモデルや、 他のシステムと連携する場合に、数値の配列形式の方が扱いやすいから まぁ、html手打ちでもいいんだけどさ ヘルパーとかが規約と強く結びつきだなと思った
331 名前:nobodyさん mailto:sage [2009/01/12(月) 12:03:43 ID:???] 質問です データ追加フォーム -> データ追加 -> トップ画面にリダイレクト としようと思うのですが、アクション名に悩んでます add() -> ??? -> index() ???の部分をどうしようかと… add()で分岐してもいいんですが、分けたいのですが、 なにかいい名前ありませんかね? 確認画面とかなら add_confirm() にするんですが。
332 名前:331 mailto:sage [2009/01/12(月) 12:05:43 ID:???] >>331 実際は add_item() という名前なのですが、 追加するだけのアクション名をどうしようかなと、いうことです add_???_item() か ???_item() で なにかいいアクション名ありませんか?
333 名前:331 mailto:sage [2009/01/12(月) 12:07:32 ID:???] 連投ごめんなさい… update_item() とかどうですかね? add_item()とedit_item()から共通で使えそうですし
334 名前:nobodyさん mailto:sage [2009/01/12(月) 12:29:53 ID:???] update_itemでいいんじゃね?
335 名前:nobodyさん mailto:sage [2009/01/12(月) 16:21:35 ID:???] ここでバグバグ言われてるのって使い方解ってないだけなんじゃないのか
336 名前:nobodyさん mailto:sage [2009/01/12(月) 16:24:13 ID:???] じゃあどう使えば良いのか説明しろよ
337 名前:nobodyさん mailto:sage [2009/01/12(月) 16:54:47 ID:???] book.cakephp.org/
338 名前:nobodyさん mailto:sage [2009/01/12(月) 16:57:12 ID:???] そんなところは熟読した上での話だと思うが
339 名前:nobodyさん mailto:sage [2009/01/12(月) 16:58:39 ID:???] 本家に報告したくないってのはバグじゃなくて 自分の使い方がおかしいという自覚があるからに他ならないだろ
340 名前:nobodyさん mailto:sage [2009/01/12(月) 17:08:56 ID:???] 再現方法書いてるのにバグかどうかもわからんの? それとも、規約通りにしか作れない初心者しかいないのか?
341 名前:nobodyさん [2009/01/12(月) 17:09:25 ID:JmkPO6xq] バグではない 単にcakeの開発者が意図した使い方からはみ出ると途端に挙動が変になるだけ
342 名前:nobodyさん mailto:sage [2009/01/12(月) 17:10:38 ID:???] >>341 www それならバグではないかもなwww そうか、バグじゃないのか〜 使えないFWだな〜
343 名前:nobodyさん mailto:sage [2009/01/12(月) 17:11:01 ID:???] フレームワーク使ってて規約はずれたら動かなくなったってそっちの方が初心者だろ
344 名前:nobodyさん mailto:sage [2009/01/12(月) 17:11:49 ID:???] 機能不足、仕様が変、というのが正しいな バグと言っても良いレベルのものもたくさんあるが 組み込みで提供されてる機能が競合するのはバグと言っても良いだろ >>339 偏屈こねる前に10回くらい読み直せ
345 名前:nobodyさん mailto:sage [2009/01/12(月) 17:16:56 ID:???] いやだから本当にバグだと思うなら本家に報告しなよ
346 名前:nobodyさん mailto:sage [2009/01/12(月) 17:17:09 ID:???] >>343 そうだね 公式ドキュメントの半分以上は無視したほうがいいね! 設定もなんにも変えないほうがいいね! www
347 名前:nobodyさん mailto:sage [2009/01/12(月) 17:20:07 ID:???] 報告したところで今やってる案件には意味ないし 次は絶対に使わないから Cakeの開発スピードからして見つけたバグ全部修正されるのに半年はかかりそうw
348 名前:nobodyさん mailto:sage [2009/01/12(月) 17:20:48 ID:???] 間違えてCakeなんかを使ってしまう人を増やさないようにしないとな
349 名前:nobodyさん mailto:sage [2009/01/12(月) 17:21:25 ID:???] >>347 きみは別人だろw きみもいやになったのか?
350 名前:nobodyさん mailto:sage [2009/01/12(月) 17:21:58 ID:???] 1.2が公式にリリースされて危機感を持っている奴がいるらしいな どのフレームワークの信者だ
351 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:00 ID:???] >>347 次なに使うの?
352 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:19 ID:???] >>349 別人?なにを言ってるんだ おまえは誰か特定の相手に話しかけてるのか?こんな場所で? 俺は今回の話題ではCakeはバグ大杉使えないFW派だよ
353 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:30 ID:???] まぁこれからCake使うやつに助言 規約からはずれたことはするな でも、それじゃあ大した物は作れない 組み込みのライブラリは使うな 全部自分で一から書け FW使う意味ねーw まぁぱっとみ使いやすいとは思うんだけどね ここまでバグ多いとな…
354 名前:nobodyさん mailto:sage [2009/01/12(月) 17:23:49 ID:???] >>351 SAStrutsかDjango
355 名前:nobodyさん mailto:sage [2009/01/12(月) 17:25:25 ID:???] ちなみにCakeはオブジェクト指向じゃないって話あったけど 問題なのはAPIじゃなくてコアのコード内部なんだよね ハックするのも一苦労 あのスパゲッティな有様じゃCakeの将来は危ういよ
356 名前:nobodyさん mailto:sage [2009/01/12(月) 17:26:23 ID:???] というかPHPのFWはまともなのがないな Yiiとかってどうよ
357 名前:nobodyさん mailto:sage [2009/01/12(月) 17:54:39 ID:???] >>354 レンタルサーバで動かす気ない人か
358 名前:nobodyさん mailto:sage [2009/01/12(月) 17:55:17 ID:???] PHPでオブジェクト指向ってもっさりフレームワークの登竜門だろw
359 名前:nobodyさん mailto:sage [2009/01/12(月) 17:58:23 ID:???] Cakeは既にあらゆるフレームワークの中で最も重い部類
360 名前:nobodyさん mailto:sage [2009/01/12(月) 18:05:28 ID:???] で、なんかいいのないのか? 兄弟とか言われてるCIは、命名規則に統一性が乏しいし
361 名前:nobodyさん mailto:sage [2009/01/12(月) 18:06:17 ID:???] >>359
362 名前:nobodyさん mailto:sage [2009/01/12(月) 19:32:11 ID:???] でも、世界でsymfony、zend+frameworkを抜き、最も注目されているPHP FWという事実は どう理解すればいいの? www.google.com/trends?q=cakephp%E3%80%81symfony%E3%80%81zend+framework%E3%80%81mojavi%E3%80%81ethna
363 名前:nobodyさん mailto:sage [2009/01/12(月) 19:35:28 ID:???] PHPのユーザ層が重視するのは簡単に導入できる事と HOWTO情報の多さだからでしょ 使ってる人たちはCakeしか使ったことないんじゃないの
364 名前:nobodyさん mailto:sage [2009/01/12(月) 19:40:29 ID:???] PHPったって殆どの人は楽天やGREEを作る訳じゃないんだから 重さって気にする意味無いよね 重さで言えばRoRとか死ぬほど重いんだし
365 名前:nobodyさん mailto:sage [2009/01/12(月) 19:43:30 ID:???] 重いのは誰も問題にしてないけどね
366 名前:nobodyさん mailto:sage [2009/01/12(月) 20:59:16 ID:???] すみません>>298 なんですが $form->input('honbun', array('type'=>'textarea', 'cols'=>'10', 'rows'=>'5')); で横幅のせまいtextareaを表示したいのですが、何かヒントありませんか?
367 名前:nobodyさん mailto:sage [2009/01/12(月) 21:10:40 ID:???] ところで、セッションってモデルだと思うんだが、 なんで、モデルで使えないのかね
368 名前:nobodyさん mailto:sage [2009/01/12(月) 21:13:12 ID:???] セッションはモデルじゃねーよw
369 名前:nobodyさん mailto:sage [2009/01/12(月) 22:33:10 ID:???] >>366 cake.generic.css input, textarea { width: 100%; ←これ? }
370 名前:nobodyさん mailto:sage [2009/01/12(月) 22:57:16 ID:???] >>369 app/webroot/css/cake.generic.css input, textarea { /* width: 100%; */ } width: 100%をコメントにすることで $form->input('honbun', array('type'=>'textarea', 'cols'=>'80', 'rows'=>'5')); textareaの横幅(cols)設定が有効になるようになりました。ありがとうございました。 合わせて、 $form->input('meado', array('type'=>'text', 'size'=>'50')); のsize設定も有効になり二重の喜びです。ありがとうございました。
371 名前:nobodyさん mailto:sage [2009/01/12(月) 23:07:20 ID:???] >>368 そうか? データのやりとりするんだから、モデルだと思うけど? まあ場合にもよるだろうけど
372 名前:nobodyさん mailto:sage [2009/01/12(月) 23:11:10 ID:???] セッションはモデルじゃないよ データを永続化するのがモデルであって セッションってのはデータでhiddenで引き回してるのと同じようなことだから
373 名前:nobodyさん mailto:sage [2009/01/12(月) 23:33:55 ID:???] なんでこんな使いにくくてバギーなcakephpが人気あるんかね? たしかに、とっつきやすさはsymfonyやzendよりも上だと思うが それだけなんだよね。 PHP使ってるやつはプログラム自体初心者が多いんだろね。 チュートリアル作って終わりなやつが多いんじゃね?
374 名前:nobodyさん mailto:sage [2009/01/12(月) 23:39:43 ID:???] 玄人の言語で作れば?
375 名前:nobodyさん mailto:sage [2009/01/12(月) 23:44:35 ID:???] 確かにPHPを使う意味なんてないんだよね フレームワークを使うほどの開発になった時点で
376 名前:nobodyさん mailto:sage [2009/01/12(月) 23:50:55 ID:???] 殆どのものはレンタルサーバで動かすんだからPHPかPerlじゃないと動かんわね 専用サーバならJavaにした方が楽だし
377 名前:nobodyさん mailto:sage [2009/01/12(月) 23:52:44 ID:???] >>375 いいこというね〜 PHPが最高に輝く使い方だね。
378 名前:nobodyさん mailto:sage [2009/01/12(月) 23:56:14 ID:???] 好きな言語すら入れられない環境の方がかなりマイナーだと思うよ 個人だろうと企業だろうと普通はその程度の自由度はある環境でやってるよ
379 名前:nobodyさん mailto:sage [2009/01/13(火) 00:36:35 ID:???] 企業で大規模にやるような開発でCakeやRoRみたいなのは使わないと思うよ レンタルサーバで動かすCMSとかDBのCRUDがメインのシステムならぴったりだけどさ
380 名前:nobodyさん mailto:sage [2009/01/13(火) 11:22:28 ID:???] セキュリティ面のバグの多さからWWWに出す時点でCakeは良くない
381 名前:nobodyさん mailto:sage [2009/01/13(火) 11:48:16 ID:???] >>379 TwitterやCookPad、楽天でもRoRを使ってるのすら知らんのか。 そういえばここCakePHPスレだったなw
382 名前:nobodyさん mailto:sage [2009/01/13(火) 13:31:48 ID:???] >>379 > DBのCRUDがメインのシステム ほとんどの会社で必要とされるシステムって、それだぞ?w
383 名前:nobodyさん mailto:sage [2009/01/13(火) 15:39:41 ID:???] RoRを覚えるのが面倒というのもあるな Ruby動かせないときもあるしなあ
384 名前:nobodyさん mailto:sage [2009/01/13(火) 21:53:50 ID:???] >>382 実際作ってみると業務システムのパターンは極めて限られていることがわかるよね。
385 名前:nobodyさん mailto:sage [2009/01/13(火) 22:27:13 ID:???] そうでもないけどな データ登録以上にワークフローと帳票が多い
386 名前:nobodyさん mailto:sage [2009/01/13(火) 22:33:33 ID:???] ワークフローと帳票といっても 結局はCRUDだしなぁ。
387 名前:nobodyさん mailto:sage [2009/01/13(火) 22:58:25 ID:???] 可哀想な人が来たな
388 名前:nobodyさん mailto:sage [2009/01/13(火) 23:03:28 ID:???] >>387 その人、いらっしゃ〜いw
389 名前:nobodyさん mailto:sage [2009/01/13(火) 23:58:47 ID:???] パターンは極めて限られていると見積もったCRUDシステムを 作るたびに炎上させる優秀な技術者様達
390 名前:nobodyさん mailto:sage [2009/01/14(水) 13:24:41 ID:???] 1つのテーブルにいろいろな画面(コントローラ)からアクセスする場合、 モデルは、テーブルと対になるようにして1つのモデルにするのがよいか、 それともコントローラと対にするか、どちらが一般的でしょうか? 例えば受注テーブルがあり、 あるコントローラでは受注数を表示するのがメインの処理で、 また別のコントローラでは受注金額を表示するのがメインの処理、 のような場合、受注テーブルのモデルを1つ作成するのか、それとも コントローラ毎に作るのか…。
391 名前:nobodyさん mailto:sage [2009/01/14(水) 13:42:37 ID:???] おまえはMVCの基本についてすべて一つ一つt質問するつもりか
392 名前:nobodyさん mailto:sage [2009/01/14(水) 13:44:19 ID:???] >>390 無論、モデルはひとつ。
393 名前:nobodyさん mailto:sage [2009/01/14(水) 13:45:45 ID:???] >>390 コントローラーってのは要するに人がプログラムにアクセスする時のURLなわけよ。 だから人から見てわかりやすけりゃ良いわけで、モデルと対になってる必要なんて無い。 ってのが俺の考え。 逆に同じテーブルにモデルがいくつもあったらプログラム作る時に混乱するんじゃない? それぞれ特殊なfindメソッドでも作ってるんなら別だけど。
394 名前:nobodyさん mailto:sage [2009/01/14(水) 14:52:22 ID:???] サブホストや接続IPによってDB接続先を変える方法知ってる?
395 名前:nobodyさん mailto:sage [2009/01/14(水) 14:53:24 ID:???] やっぱりモデルは1つにまとめるべきなんですね。 今回質問したのは、>>393 の 「それぞれ特殊なfindメソッドでも作ってるんなら別だけど。 」 がまさしくそれで、取得対象のテーブルは1つなんですけど、 そのデータの取得方法や見せ方が全然違って、ただ当然コントローラは 個別に存在するので、 1つのテーブルを元にその見せ方毎にモデルを作りモデルの中で、 var $name = 'table'; としておきつつ、 それぞれの取得するためのメソッドを作成していこうかな、と思い作りはじ めた矢先、取得テーブルは1つなので、そのモデルに全部メソッドをまとめた ほうがいいのか?と迷いはじめてしまい…。 テーブル単位にメソッドをまとめるのか、機能毎にモデルを分割するのか…。 まだまだ精進がたりませんね、大変すみませんでした。
396 名前:nobodyさん mailto:sage [2009/01/14(水) 15:08:08 ID:???] >>394 ttp://d.hatena.ne.jp/charly24/20070512/1178956046
397 名前:nobodyさん mailto:sage [2009/01/14(水) 15:11:54 ID:???] >>395 findメソッドは、カンタンにオーバーライドできる テンプレの↓参照 CakePHPを使ったMVC設計のベストプラクティス - Sooey ttp://www.sooey.com/journal/2008/03/26/717/
398 名前:nobodyさん mailto:sage [2009/01/14(水) 15:49:49 ID:???] >>395 >テーブル単位にメソッドをまとめるのか、機能毎にモデルを分割するのか 一律的な分け方をすると後で縛りがきつくなるから 機能目的によってバランスよく分別した方がよい
399 名前:nobodyさん mailto:sage [2009/01/14(水) 15:51:45 ID:???] むしろ厳密に言えば両方違う 2モデルを1つのテーブルに格納することが可能だから
400 名前:nobodyさん mailto:sage [2009/01/14(水) 15:59:26 ID:???] テーブルやモデルの対に関して議論することがアホらしいw 後退的議論で無意味
401 名前:nobodyさん mailto:sage [2009/01/14(水) 16:02:02 ID:???] どんなケースも可能だから 何を作るか?どんな機能を作るかを前提してから モデルとテーブルの対の議論をしないと 抜け穴からのもぐら叩き合戦になるよ
402 名前:nobodyさん mailto:sage [2009/01/14(水) 20:32:29 ID:???] 1.1と1.2って大分違いますか? ガイドブック買ってやってみたけど早々に躓いて しまいました。
403 名前:nobodyさん mailto:sage [2009/01/14(水) 21:28:26 ID:???] 1.1と1.2は大分違うと思う。 ガイドブックで1.2で始めるのは初心者にはつらいと思う。 「CakePHP徹底入門」は1.2で書いてあるから1.2入門者にお勧め。 ガイドブックも良著だから、1.2の入門が終わってから読み直す ことを勧めるなあ。
404 名前:nobodyさん mailto:sage [2009/01/15(木) 04:27:43 ID:???] 「CakePHP徹底入門」のamazonのレビューがよくないというか一人しか書いていない それも星一つ。自分は少し立ち読みしただけだから何とも言えないが・・ ガイドブックは評価が高いけど
405 名前:nobodyさん mailto:sage [2009/01/15(木) 12:14:25 ID:???] ぶっちゃけ、公式Webの情報で十分なのがPHP界隈の良いところだとおもうんだが。
406 名前:nobodyさん mailto:sage [2009/01/15(木) 18:02:47 ID:???] >>389 > パターンは極めて限られていると見積もったCRUDシステムを > 作るたびに炎上させる優秀な技術者様達 なんで炎上させないといけないんだよw お前の会社か?それ。
407 名前:nobodyさん mailto:sage [2009/01/15(木) 19:16:12 ID:???] viewのキャッシュする直前にキャッシュする対象をいじりたいんだけど なんかいい方法あるのかな
408 名前:nobodyさん mailto:sage [2009/01/15(木) 23:13:14 ID:???] SQLiteとMySQLを同時に使うのって可能?
409 名前:nobodyさん mailto:sage [2009/01/15(木) 23:16:50 ID:???] 可能。
410 名前:nobodyさん mailto:sage [2009/01/16(金) 00:17:54 ID:???] なにそれ、どうやんだ?
411 名前:nobodyさん mailto:sage [2009/01/16(金) 00:21:09 ID:???] DATABASE_CONFIGに複数設定して切り替えるだけだろ
412 名前:nobodyさん mailto:sage [2009/01/16(金) 01:45:44 ID:???] そりゃだるいな
413 名前:nobodyさん mailto:sage [2009/01/16(金) 16:24:26 ID:???] >>412 モデルに使用する、データベースを指定する以外で、 だるく無い方法があるのか?
414 名前:nobodyさん mailto:sage [2009/01/16(金) 17:30:29 ID:???] >>413 アホはほっとけ
415 名前:nobodyさん mailto:sage [2009/01/16(金) 18:16:16 ID:???] Model::$validateで値そのものを利用して'message'を動的に設定ってできますか? 'この番号は使用できません'って出力してdata[]にそのまま残すのも間抜けなので、 data[]を使用した'message'を設定してdata[]消したいんですけどよく分かりません 通常ルールでのチェックも行っているので、View側でエラーメッセージチェックしてから 特定のエラーメッセージのときだけdata[]からメッセージ作成して input value= にセットされないように処理するって何か変な気がしたので
416 名前:nobodyさん mailto:sage [2009/01/16(金) 18:30:22 ID:???] メソッド内でうまいことエラーメッセージを書き換えられればいいんだろうけど 説明下手なきがするのでやりたいこと 入力フォーム→結果の表示フォームとエラー [ab]→[ab]数字で入力しやがれ [25]→[25]25は使えねえぜ
417 名前:nobodyさん mailto:sage [2009/01/16(金) 21:29:52 ID:???] emailコンポーネントって文字化けするよね しかも普通にPHP標準のメール送信機能使うと化けないケースで化けたりするから困る また組み込みライブラリの糞ソースを修正する作業が始まるのか・・・
418 名前:nobodyさん mailto:sage [2009/01/16(金) 21:37:31 ID:???] emailコンポーネントを継承して 問題ないようにしているけど? オブジェクト指向になっているおかげで いくつかのメソッドをオーバーライドするだけですんだ。
419 名前:nobodyさん mailto:sage [2009/01/16(金) 21:40:49 ID:???] 文字化けしないよ別に ファイルの文字コードとか問題ないの?
420 名前:nobodyさん mailto:sage [2009/01/16(金) 22:28:03 ID:???] toに全角使うと化ける 本文も特定のパターンで化ける
421 名前:nobodyさん mailto:sage [2009/01/16(金) 22:36:11 ID:???] toはエンコしなきゃ化けるだろそりゃ
422 名前:nobodyさん mailto:sage [2009/01/16(金) 22:38:28 ID:???] だからそれをコンポーネント内部でなんでやってないの?って話だよ
423 名前:nobodyさん mailto:sage [2009/01/16(金) 22:39:12 ID:???] toってset()じゃなくてプロパティに直接設定するようになってるけど どうやってエンコはさめばいいの? 本体のコード見て解析してエンコードはさむくらいしか思いつかないんだけど。
424 名前:nobodyさん mailto:sage [2009/01/16(金) 22:42:13 ID:???] 最後に送信するときにでもやればいい。
425 名前:nobodyさん mailto:sage [2009/01/16(金) 22:47:48 ID:???] >>422 世の中には日本語以外もあるわけでな 必要なら日本人が修正してコミットすべき部分だろうに
426 名前:nobodyさん mailto:sage [2009/01/16(金) 22:49:09 ID:???] そんなに不満だらけなら他のFW使えばいいじゃん メールのエンコードも完璧なFWをさ
427 名前:nobodyさん mailto:sage [2009/01/17(土) 10:19:42 ID:???] 1.2.1
428 名前:nobodyさん mailto:sage [2009/01/17(土) 11:36:23 ID:???] お、今度はstableを謳ってる # If you are using AuthComponent without SecurityComponent you should update to CakePHP 1.2.1.8004 asap (gwoo) だってさ
429 名前:nobodyさん mailto:sage [2009/01/17(土) 11:38:12 ID:???] 1.2 CheatSheet キタ━━━━(゚∀゚)━━━━!!!! cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
430 名前:nobodyさん mailto:sage [2009/01/17(土) 13:58:26 ID:???] >>428 なにがかわったんだ?
431 名前:nobodyさん mailto:sage [2009/01/17(土) 14:40:37 ID:???] >>429 これはいいね。早速プリントした。 あと、毎回html->linkの何番目をfalseだっけ?ってマニュアル見なきゃならん俺のために 付属のヘルパー分もお願いしたい。
432 名前:nobodyさん mailto:sage [2009/01/18(日) 11:31:02 ID:???] >>430 groups.google.com/group/cake-php/browse_thread/thread/659682805f3d71d7 Essentially, an attacker may be able to obtain credentials as the first user of the system. If you are interested in testing your site, you can use the SQL Inject Me plugin for Firefox
433 名前:nobodyさん mailto:sage [2009/01/19(月) 16:13:21 ID:???] 会員登録時とかで、パスワードが勝手にハッシュ化されるけど 確認画面いって入力画面に戻るとハッシュ化されたものがパスワードのとこに入る そしてまた確認画面に行くと再度ハッシュ化される 登録されるのは2度ハッシュ化されたデータ 当然認証は通らない これはどうすれば?
434 名前:nobodyさん mailto:sage [2009/01/19(月) 16:21:13 ID:???] パスワード消す
435 名前:nobodyさん mailto:sage [2009/01/19(月) 16:23:37 ID:???] 詳しく
436 名前:nobodyさん mailto:sage [2009/01/19(月) 17:12:40 ID:???] 入力画面に戻るときに消していいんなら formへるぱーで'value'=>false指定すればよろし
437 名前:nobodyさん mailto:sage [2009/01/19(月) 17:15:56 ID:???] 再入力させるのはなぁ 既にハッシュ化してるんだからそのまま入れてもセキュリティ上問題無いのに ハッシュ化されていれば再ハッシュ化は行わないようになってくれてたら良かった フォームのパスワードの初期値と送信されたデータが同じだったらハッシュ化はしない とするだけで出来たはずなのにな
438 名前:nobodyさん mailto:sage [2009/01/19(月) 17:38:24 ID:???] ちょっとコード読んでみたけど ハッシュ化のタイミングでセッションは既に今送信されたデータに書き換えられてて 元あったものとの比較が出来なくなってる これ以上手間が要るならめんどくさいなー
439 名前:nobodyさん mailto:sage [2009/01/19(月) 17:45:57 ID:???] 確認用の入力分を使えばいいんじゃねえの?
440 名前:nobodyさん mailto:sage [2009/01/19(月) 18:11:18 ID:???] 確認入力のバリデーションと競合して分け分かんなくなってきた どういう仕様になってるんだろ passwordフィールドはハッシュ化されるが password_confirmはハッシュ化されない おかげで確認画面にいってから戻るとパスワードが違うと言うエラーが出る問題も絡んでくる
441 名前:nobodyさん mailto:sage [2009/01/19(月) 18:17:05 ID:???] やはり確認用の入力を使うと言う手段が本筋じゃないな passwordもpassword_confirmも同様にハッシュ化して フォームの初期値から変更がなければハッシュ化は行わない、 と言う設計にすべきだと思う でもこれをやるには今のAuthコンポーネントの仕様からじゃだいぶ手間がかかる
442 名前:nobodyさん mailto:sage [2009/01/19(月) 18:26:26 ID:???] つーかもう Authの自動ハッシュ化を無くして 手動でハッシュ化するのが一番楽だわ
443 名前:nobodyさん mailto:sage [2009/01/19(月) 19:02:35 ID:???] cakeは謙虚な心がないと使いこなせない
444 名前:nobodyさん mailto:sage [2009/01/19(月) 19:20:43 ID:???] ハッシュ化なんてユーザパスワードくらいでしかやってないし 自動ハッシュ化止めてセーブ時とログイン時にハッシュ化するようにしたらできたくせえ!
445 名前:nobodyさん mailto:sage [2009/01/19(月) 22:36:21 ID:???] form部分は name="raw_password" name="raw_password_confirm" にしといて、 validateでは、 raw_passwordとraw_password_confirmを比較 saveの前にpassword = raw_passwordしとくのは?
446 名前:nobodyさん mailto:sage [2009/01/19(月) 22:42:10 ID:???] それもいいかもね コンポーネントに手入れ無くて良いし でもAuthで暗黙的にハッシュ化されるわりにそれを意識したコーディングになってるから 違和感はあるけどね それなら明示的に書く方が、とおもう
447 名前:nobodyさん mailto:sage [2009/01/20(火) 00:34:26 ID:???] Validationで戻ったときはパスワードは再入力させる方が一般的だと思うけどね。
448 名前:nobodyさん mailto:sage [2009/01/20(火) 00:36:53 ID:???] あぁ、そういう話か。 普通再入力の際にはパスワードは消えてるでしょ
449 名前:nobodyさん mailto:sage [2009/01/20(火) 02:09:06 ID:???] エレメントを呼び出すんじゃなくて ビューからアクションを呼び出す事って出来ないのかな?
450 名前:nobodyさん mailto:sage [2009/01/20(火) 02:15:23 ID:???] 事故解決
451 名前:nobodyさん [2009/01/20(火) 02:47:07 ID:W42hdWVL] iis,oracle,php5インストール後、 cakePHP入れて、ブログのチュートリアルやってんだけど、 ビュー作って確認するところのテーブル一覧表示で日本語データが表示されません。 半角英数ですと表示されます。数値、日時も問題なく表示されています。 db内には、正しい全角データが入っているのですが、 なぜでしょう?
452 名前:nobodyさん mailto:sage [2009/01/20(火) 02:49:30 ID:???] >>451 ソースの文字コードとMySQLの文字コード確認
453 名前:nobodyさん [2009/01/20(火) 02:50:47 ID:W42hdWVL] 両方、utf8です。
454 名前:nobodyさん mailto:sage [2009/01/20(火) 03:21:49 ID:???] そもそもoracleか・・
455 名前:nobodyさん mailto:sage [2009/01/20(火) 11:56:56 ID:???] >>452 oracleだと書いてあるだろボケ なにがMySQLの文字コードだよ
456 名前:nobodyさん mailto:sage [2009/01/20(火) 13:54:45 ID:???] >>451 phpのinternal_encodingとかその辺の設定確認 あとcakeを介さず直接接続→出力が文字化けするか否か確認
457 名前:nobodyさん mailto:sage [2009/01/20(火) 15:52:01 ID:???] >>455 www
458 名前:nobodyさん mailto:sage [2009/01/20(火) 16:57:25 ID:???] あれ、一人だけID出てるな
459 名前:nobodyさん [2009/01/20(火) 17:03:38 ID:b4+xy3zg] sage無きゃ出るでしょ
460 名前:nobodyさん mailto:sage [2009/01/20(火) 17:07:06 ID:???] なるほどそういうことか
461 名前:nobodyさん mailto:hage [2009/01/20(火) 17:13:23 ID:???] sage無くても出ないけどね
462 名前:nobodyさん mailto:sage [2009/01/20(火) 17:41:48 ID:???] 1.2なってからのfindやinputの修正は地味だけど良いね 非常に分かりやすくなった
463 名前:nobodyさん mailto:sage [2009/01/21(水) 01:59:22 ID:???] scaffoldだとAuthコンポーネントってちゃんと働かない? webルートにアクセスすると、一応/users/loginへ リダイレクトされるんだけど、そこでurlを/users/indexって 書き替えると、ログインしてなくてもユーザーの一覧が 見えてしまう。(´・ω・`)
464 名前:nobodyさん mailto:sage [2009/01/21(水) 05:54:40 ID:???] Controllerになんか書くんじゃなかったっけ。
465 名前:nobodyさん mailto:sage [2009/01/21(水) 10:09:05 ID:???] >>464 Controllerには許可する方を書くわけだから不要だと思う >>463 ほかのControllerでも同じ症状なら、scaffoldが原因だろうけど、、、
466 名前:nobodyさん mailto:sage [2009/01/21(水) 10:42:49 ID:???] 空のindexを書くと、indexにはAuthが効く。 やっぱ、scaffoldが原因かなぁ。 ちゃんと全部自分で書かないとダメか。
467 名前:nobodyさん mailto:sage [2009/01/21(水) 10:48:54 ID:???] action内でscaffoldのフローに飛ばせないのが、辛いよね この問題にぶちあたって、結局1から書くことになる すべてのactionを
468 名前:nobodyさん mailto:sage [2009/01/21(水) 10:55:35 ID:???] 試してないけどさ beforeFilter()でaction名を見て、適宜login()に飛ばしてみたら?
469 名前:nobodyさん mailto:sage [2009/01/21(水) 11:01:21 ID:???] if (in_array($this->action ,a('index' ,'etc')) && !$this->Auth->user()) { // リダイレクト }
470 名前:nobodyさん mailto:sage [2009/01/21(水) 11:34:17 ID:???] 認証掛けるくらいなんだから、うかつに編集されないように scaffoldを使わないのが正しいやり方だと思う。思うけどね。
471 名前:451 mailto:sage [2009/01/21(水) 16:59:21 ID:???] 事後報告です。 >>456 > >>451 > phpのinternal_encodingとかその辺の設定確認 この辺りの設定も甘い所がありましたが、utf8で調整するも変わりませんでした。 で切り分けるためにも下を行ったのですが・・・。 > あとcakeを介さず直接接続→出力が文字化けするか否か確認 直接データもらうと、sjisで出力されてきて意味がわからず悩みました。 知っている人はなんでもないんでしょうけど。 で、結構な時間を費やしDBからデータ出力の時点があやしいとなり、 いろいろググってたら判明! CAKEインストの時のDB設定で文字コード設定があることがわかり、 (設定した時は、どこぞのブログの設定をコピペしてきたんで文字コードを 設定している意識がなかったorz)確認するとsjisになってた、でこれをutf8へ 指定して、cakeの問題無くDBデータが表示されることが確認出来た。 で、ここで疑問が直接もらうとなぜSJISでもらうのか、 恐らくcakeでsjisからutf8へ文字コード変換してることになるんだと思うけど、 結局、oracleが出力文字コードを変えるようで、OSの環境変数を設定して、 NLS_LANG=JAPANESE_JAPAN.AL32UTF8 問題無く直でもutf8で出力されることを確認。 ふー時間くったー。 途中oracleの調子が悪くなって、再インストに見舞われるし。 チュートリアルを進めよう〜。
472 名前:nobodyさん mailto:sage [2009/01/21(水) 17:57:23 ID:???] >471 へぇ〜、いまはOracleでもまともに動くんだなぁ。 2年位前はDBO周りがバグだらけで使い物にならなかったけど。
473 名前:nobodyさん mailto:sage [2009/01/21(水) 20:17:56 ID:???] 投稿された記事の編集権限みたいなものもACLで管理する? 機能制限みたいなものはACLでやるんだけど 同じ機能でもオブジェクトのidによって変わる、みたいなのもACLでやるべきなのかな?
474 名前:nobodyさん mailto:sage [2009/01/22(木) 01:10:40 ID:???] containでモデル指定すると親モデルと同じ階層に並ぶ形で出てくるけど 親モデルの奥に配置するにはどうすればいい? Model1->find('all',array( 'contain'=>array( 'Model2' )), 結果: array( [0]=>array( [Model1]=>array(), [Model2]=>array(), ) )
475 名前:nobodyさん mailto:sage [2009/01/22(木) 10:29:14 ID:???] decorte.phpのCakePHP1.2.1対応版はまだかな〜
476 名前:nobodyさん mailto:sage [2009/01/22(木) 12:48:42 ID:???] cakeのDB接続まわりを参考にしたいのですけど どのあたりのソースを見ればよいのでしょうか? /app/config/database.php.default に接続情報がありますが これらの情報を使用して接続している部分あたりを見たいです
477 名前:nobodyさん mailto:sage [2009/01/22(木) 12:53:15 ID:???] >>476 cake/libs/model/datasources cake/libs/model/datasources/dbo あたりかな
478 名前:nobodyさん mailto:sage [2009/01/22(木) 12:54:16 ID:???] /cake/libs/model 接続に言ってる所と言うのならその下のdatasources/dboの下
479 名前:nobodyさん mailto:sage [2009/01/22(木) 15:44:55 ID:???] CakePHP には、Railsでいうmigrationがないけど、 みんなはDBスキーマはどうやって管理してる? 前スレを見たら少し話題になってたけど、なんかgdgdに終わってた。
480 名前:nobodyさん mailto:sage [2009/01/23(金) 00:16:41 ID:???] CakePHPの1.2.0.7962でセキュリティコンポーネントを使って 二重投稿防止しようとしてるんだけど全然防止できない saveした後に明示的にセッションからトークン消してやればうまくいくんだけど、 皆様方そんなことをしている様子はないし www.1x1.jp/blog/2006/12/cakephp_csrf.html やってることはほぼこのまんま 1.2なんで$formでフォーム生成してるのが違うくらい フレームワーク使ってるってのに全然サクサク感がねぇー
481 名前:nobodyさん mailto:sage [2009/01/23(金) 02:23:23 ID:???] >>479 とりあえず、普通にSQLでやってる。 create_tables.sqlとか適当なファイルにcreate table文まとめてる。 で、Subversionで管理。 ほんとは、マイグレーションあると便利だけどね。 こんな感じの使い方ができるPHPスクリプトを作ればいいんだけど、 面倒だからやってない。でも、そのうちやるつもりw php rake.php db:migrate php rake.php db:migrate VERSION=3 php rake.php db:create php rake.php db:drop
482 名前:481 mailto:sage [2009/01/23(金) 02:38:24 ID:???] 今調べてみたら、1.2だと非公式だけどマイグレーションあるんだね。 知らなかったわ。 今度試してみよう。
483 名前:nobodyさん mailto:sage [2009/01/23(金) 04:06:53 ID:???] >>473 マニュアルのauthコンポーネントとACLのページを少ないから読んで見るといいかも 単純なログイン後とログインして無いとかならauthでいける
484 名前:nobodyさん [2009/01/23(金) 07:29:32 ID:YSArohX3] cakeのfindで、一番大きなidのデータを取得したり、 一番新しいcreatedのデータを取得したりとかって、簡単にできますか? やり方があれば、教えてください。
485 名前:484 mailto:sage [2009/01/23(金) 07:37:43 ID:???] sortして1番めを取得すれば良かったのか… >>484 自己解決で。素人ですみません。
486 名前:nobodyさん mailto:sage [2009/01/23(金) 10:46:31 ID:???] >>481-482 自分もこういうのを見つけていた。まあ「cakephp migration」でググっただけ だけど。 "CakePHP migration" フォーラム - CakePHP Users in Japan cakephp.jp/modules/newbb/viewtopic.php?topic_id=1176&forum=3 CakePHP のおいしい食べ方: DBマイグレーションか、DBスキーマシステムか cakephp.seesaa.net/article/97882341.html 誰か使っている人いないかな。
487 名前:nobodyさん mailto:sage [2009/01/23(金) 17:31:45 ID:???] >>484 sql の max 関数 調べてみい
488 名前:nobodyさん mailto:sage [2009/01/24(土) 16:41:32 ID:???] AuthComponent の認証をディレクトリ単位でわけるよい方法ってないでしょうか? /document_root/siteA/ 配下と /document_root/siteB/ 配下でわけたい。 siteA 配下は 教師モデルを対象に認証済みのユーザーはアクセス可能とし、 siteB 配下は 生徒モデルを対象認証済みのユーザーを対象にする。 当然、教師認証済みであってもは siteB にはアクセスできず、生徒は認証済みであっても siteA にはアクセスできない みたいな事がやりたいんですが。。。
489 名前:nobodyさん mailto:sage [2009/01/24(土) 16:51:08 ID:???] acl
490 名前:488 mailto:sage [2009/01/24(土) 17:14:12 ID:???] acl は、同一ユーザーテーブルの中での権限の割り当てではないでしょうか? がんばって読んでみたんですが、そもそもユーザー認証を行なうモデルが異なる場合は 対応できないように思いました。 今回は、教師と生徒で登録されているテーブルが違うのでログインページも教師用と生徒用があります。 教師は siteA/login.php にて。生徒は siteB/login.php にて認証します。 で、教師でログインした場合は siteA 配下のみアクセス可能。生徒でログインした場合は siteB のみ アクセス可能としたい。 かっこ悪いすが、サブドメインきって cake そのものを2通り用意したほうが簡単かもしれないと思ってしまいました。 何かよい方法があればいいな、と。
491 名前:nobodyさん mailto:sage [2009/01/24(土) 22:19:27 ID:???] もっと嫁
492 名前:nobodyさん mailto:sage [2009/01/24(土) 22:20:11 ID:???] cake2個用意するとか前にも言ってるやつが居たが プログラマーのやり方じゃない
493 名前:nobodyさん mailto:sage [2009/01/24(土) 22:44:47 ID:???] cakeはもっとサンプルが公開されてると、こうした初心者の人も助かりそうだね。 初心者がcakeのソースなんて追え無いんだから。
494 名前:nobodyさん mailto:sage [2009/01/24(土) 22:58:31 ID:???] つーか公式マニュアルにAROとACOの説明があるのに >>490 の理解になるのはおかしい ちゃんと読んでない
495 名前:nobodyさん mailto:sage [2009/01/25(日) 11:58:58 ID:???] アクションが増えるとコントローラーの行数も増えるのたが、 お前らのコントローラーの行数は最大でどの位ですか。
496 名前:nobodyさん mailto:sage [2009/01/25(日) 12:03:41 ID:???] アクションの数自体、1コントローラ最大で10くらいしか経験無いわ
497 名前:nobodyさん mailto:sage [2009/01/25(日) 19:50:45 ID:???] 「CakePHPポケットリファレンス」の資料に載ってる CakePHPの命名規則って、かなりでたらめ?
498 名前:nobodyさん mailto:sage [2009/01/25(日) 21:22:02 ID:???] 一つの関数(アクション)の行数を短くしろとは聞くが 一つのクラス(コントローラー)の行数を短くしろとは あまり聞かない。
499 名前:nobodyさん mailto:sage [2009/01/25(日) 23:34:20 ID:???] >>497 「CakePHPポケットリファレンス」の命名規約(p.406-408)で 「これ、おかしんじゃない」のワースト3を教えて。 ttp://book.cakephp.org/ja/complete/22/CakePHPの規約
500 名前:nobodyさん mailto:sage [2009/01/25(日) 23:37:01 ID:???] 俺も手元の開いてみた なんか楽しいw
501 名前:nobodyさん mailto:sage [2009/01/26(月) 00:04:38 ID:???] えーっと、どれも酷いので順番は付けられないけど コントローラーの命名規則 英単語の単数形+"Controller" って書いてるのに、例が PowerUsersController モデル名+"_id"って書いてるのに、例がpower_users_id あとある?
502 名前:nobodyさん mailto:sage [2009/01/26(月) 01:11:31 ID:???] ホントだ。あるねえ。 コントローラの命名規約 ○クラス名 英単語の複数形+"Controller" PowerUsersController テーブルとカラムの命名規約 ○外部キー モデル名+"_id" power_user_id、article_id (モデル名は単数形だよね。) 修正しました。
503 名前:nobodyさん mailto:sage [2009/01/26(月) 10:35:54 ID:???] 編集フォームの初期値をセットするには $form->create('User'); で作っていたとしたらどういう変数名・配列構造でセットすればいいの?
504 名前:nobodyさん mailto:sage [2009/01/26(月) 10:52:09 ID:???] >>503 $this->data['User']['name'] = '麻生太郎';
505 名前:nobodyさん [2009/01/26(月) 12:24:49 ID:j8WtT0GU] 1.2系のAuthComponentにおいて任意のidでユーザ認証されてしまう、という脆弱性が。 1.2.1.8004へアップデート推奨らしいぞ。 cakephp.jp/modules/newbb/viewtopic.php?topic_id=1696&forum=1&post_id=4032#forumpost4032 www.pseudocoder.com/archives/2009/01/22/cakephp-digest-6/
506 名前:nobodyさん mailto:sage [2009/01/26(月) 13:21:32 ID:???] AuthComponentをStableから使い始めた俺は勝ち組w
507 名前:nobodyさん mailto:sage [2009/01/26(月) 13:41:36 ID:???] >>505 ワロタw どこがAuthなんだよ
508 名前:nobodyさん [2009/01/26(月) 16:40:15 ID:j8WtT0GU] これってやばいんだよね?
509 名前:nobodyさん mailto:sage [2009/01/26(月) 20:39:14 ID:???] testsuiteって使ってる? マニュアル見ても、よく分からん。
510 名前:nobodyさん mailto:sage [2009/01/26(月) 22:55:14 ID:???] >>508 機能として破綻してるw
511 名前:nobodyさん mailto:sage [2009/01/26(月) 23:57:03 ID:???] ああー よくわからんままやったら、 フィールド消えたわ まじか、これ
512 名前:nobodyさん mailto:sage [2009/01/27(火) 10:11:27 ID:???] バグが取れるまでstableにしませんとか誇らしげに語ってなかったっけ?w
513 名前:nobodyさん mailto:sage [2009/01/27(火) 11:51:11 ID:???] >511はtestsuiteの話しな testsuiteの解説がガイドブックとかに無いし、 web上にもあんまり情報が無いので、よくわからん。 でも。simpletestをインスコしたら、bakeの際に いろいろ聞かれなくなったのは楽だな。
514 名前:nobodyさん mailto:sage [2009/01/27(火) 12:20:04 ID:???] 1.2.1.8004 Stable ですが 設置 URL が example.jp/t/ の時、tests というコントローラにアクセスしようと、 example.jp/t/tests/ ってやると、example.jp/t/ests/ に勝手になってしまって Error: EstsController could not be found. となります。 t に限らず webrootが1文字で とコントローラの最初の一文字が同じだと 上記のようになると思いますが、何か注意するところはありますか?
515 名前:nobodyさん mailto:sage [2009/01/27(火) 12:32:20 ID:???] >>514 cakephp.jp/modules/newbb/viewtopic.php?topic_id=1706&forum=6&post_id=4025#forumpost4025 これと同じかな
516 名前:nobodyさん [2009/01/28(水) 11:36:58 ID:AHb2WVE2] 既存テーブル名が日本語で、cakeが認識しません。 どうすればいいのでしょうか? php直ですと日本語テーブル名でクエリは通ります。
517 名前:nobodyさん mailto:sage [2009/01/28(水) 12:33:02 ID:???] cake周りの文字コードをutf-8にしたら とりあえず、認識した。
518 名前:nobodyさん mailto:sage [2009/01/28(水) 18:06:35 ID:???] テーブル名が日本語ってトラブルの元じゃない? って、以前言われた。 testって、データを入れて出して一致してるか確認してるんだって事が ようやく少し分かった。
519 名前:nobodyさん mailto:sage [2009/01/28(水) 18:29:34 ID:???] テーブルとかカラムが全角文字だと激怒する奴いるけど 別に日本で使うシステムなら問題ないんだけどな Oracle/Access+VBのシステムなんかよくあるし PHPだって変数名ですら全角文字でもOKなんだし
520 名前:nobodyさん mailto:sage [2009/01/28(水) 19:00:41 ID:???] >>519 全角って、そんなに変じゃないの? bakeする時に日本語で全部作ってくれると楽そうだなーって思ってた。 多言語化を考える必要なんて全くない物を作るのにi18nすら面倒で、 ソースに日本語のエラーメッセージを書いてやろうと思ってた。
521 名前:nobodyさん mailto:sage [2009/01/28(水) 19:02:34 ID:???] あ。でも、そうすると複数形ってどうすんだ?
522 名前:nobodyさん mailto:sage [2009/01/28(水) 19:04:55 ID:???] DB関連の開発系ツールも含めて全て対応出来てるんならいいんだろうけど 海外製のライブラリは対応出来てないものが多いし 結局、全角ゴリ押しは開発者側に負担を強いることが多いよ プロジェクト内で使う環境を全部調査して、誰にも迷惑かけないと判明したら使えばいいと思うけど
523 名前:nobodyさん mailto:sage [2009/01/28(水) 19:05:44 ID:???] >>521 個別テーブル名定義で対応するしかないと思う やったことないし試そうとも思わないから詳しくは知らない
524 名前:nobodyさん mailto:sage [2009/01/28(水) 20:22:20 ID:???] 早速、日本語名utf8のテーブルやフィールドを作って、 cake bake allしてみた。 コンソールは微妙に文字化けしてたけど、難なく焼けた。 でも、アクセスしたらエラーが出た。ファイルを見たら、 ファイルがshift jisで認識されて、日本語部分は全部文字化け。 こんなことで苦労したくないので、これ以上は試すの止める。
525 名前:nobodyさん mailto:sage [2009/01/29(木) 05:37:51 ID:???] CakePHPは使ったことがありませんが、非常に興味があり質問させて いただきます。 今まで自作の簡易フレームワークで業務アプリを作ってきました。 画面数は数十あります。 表示はSmartyを使っています。 これを少しづつCakePHPに置き換えたいと考えていますが、 フレームワークを変更するとかなり大掛かりな作業になりそう ですし、部分的に置き換えていくのが実際できるのかわかりません。 CakePHPは、上述のように既存のWebアプリを部分的に置き換えていける ものなのでしょうか? それとも、新規Webアプリから採用するべきものなのでしょうか?
526 名前:nobodyさん mailto:sage [2009/01/29(木) 11:43:51 ID:???] >>525 新規案件だけにしたほうが苦労が少なくていいと思う
527 名前:nobodyさん mailto:sage [2009/01/29(木) 11:51:59 ID:???] >>525 思いついたところから書くと 最低クリアされるべき条件 ・DBの構造(idとか) ・URL(/controller/action/param.. の形式) がクリアされないといけない そのうえで、Modelごと(≒tableごと)移行していくというのであれば、不可能ではないと思うが。 現実的には、DBを共通化して、Cakeによるサイトを作っていき、同時に稼働させてテストし、一気にリプレイスってことになりそうな気がするけど、どうなんだろうね。 ただ、Cakeに慣れるまである程度時間がかかるから、いずれにせよ新規アプリから始めないと、苦労すると思うよ。
528 名前:525 mailto:sage [2009/01/30(金) 06:58:44 ID:???] >>526 , 527 レスありがとうございました。 やはり新規案件からCakePHPをはじめたほうが無難ですね。 スキルを醸成してから、既存システムの変更を検討します。
529 名前:nobodyさん mailto:sage [2009/01/30(金) 11:51:03 ID:???] 自作クラスのインスタンスを得るにはどうすればいいの? データを引数に持たせてインスタンス同士をいろいろ比較してくれるクラスを 昔作ったんだけどどう持ち込めばいいのかわからない
530 名前:nobodyさん mailto:sage [2009/01/30(金) 17:53:58 ID:???] ポケットリファレンスを見てるんだが。 1.2になってModel::findが大幅に機能強化されたのに、 記述が少なすぎる。もしくは、Model::generateList() のページに代わりの方法が書いてあればいいが、 Model::find()だけでは意味不明だろう。
531 名前:nobodyさん mailto:sage [2009/01/30(金) 18:27:52 ID:???] >>530 おとなしく改訂版を待ってろ
532 名前:nobodyさん mailto:sage [2009/01/30(金) 18:55:05 ID:???] 改訂版って出るの?
533 名前:nobodyさん mailto:sage [2009/01/30(金) 19:21:00 ID:???] コントローラから2つのモデルとデータをやり取りする場合、 アソシエーションを使う方がいいのか、 Controller::usesで直接指定する方がいいのか。
534 名前:nobodyさん mailto:sage [2009/01/30(金) 19:29:43 ID:???] アソシエーション使うと結果変わる事ない? たぶん親モデルと関連してるレコードしか該当しないよ
535 名前:nobodyさん mailto:sage [2009/01/30(金) 23:31:39 ID:???] コントローラからコントローラへデータを渡すのって、どうするの?
536 名前:nobodyさん [2009/01/31(土) 01:44:15 ID:ZNZRtHpp] flash
537 名前:nobodyさん mailto:sage [2009/01/31(土) 04:27:13 ID:???] >>536 なるほど。 urlでパラメータを渡すなら、redirectでも良さそう。 でも、urlだと大きなデータは渡せないよね。 データが丸見えになるし。 あと、同じウィンドウの中でのみ渡すってなると、 どんな方法が良さそう?
538 名前:nobodyさん mailto:sage [2009/01/31(土) 04:30:59 ID:???] >>537 まあなんだ。 ウェブアプリはデスクトップアプリと 考え方が違うが・・・ まあ、がんばれや。
539 名前:nobodyさん mailto:sage [2009/01/31(土) 05:48:56 ID:???] Session->renew()で新しいsession_idを割り振れば いけるかな?と思ったが、甘かった。同じブラウザでは renewする前のが消える。 別のブラウザなら大丈夫だった。(当たり前か)
540 名前:nobodyさん mailto:sage [2009/01/31(土) 08:38:22 ID:???] 解決。セッションの使い方を間違ってる。 ユニークキーの発行が正しい。
541 名前:nobodyさん mailto:sage [2009/01/31(土) 09:18:36 ID:???] Cakeユーザーの低レベルさが泣けてくる
542 名前:nobodyさん mailto:sage [2009/01/31(土) 09:28:15 ID:???] >>541 今CakePHPが注目を集めている為、素人が「PHPフレームワークなら俺にも何か簡単に Webアプリが作れるかな。」という気になっているじゃない? 見方を変えるとCakePHPの功績は大きいかも?
543 名前:nobodyさん mailto:sage [2009/01/31(土) 09:38:59 ID:???] にしてもプログラマーと呼べないレベルの質問が多すぎる
544 名前:nobodyさん mailto:sage [2009/01/31(土) 09:47:48 ID:???] そろそろsymfonyの時代か・・・?
545 名前:nobodyさん mailto:sage [2009/01/31(土) 10:44:44 ID:???] それでも作れちゃうなら凄いこと
546 名前:nobodyさん mailto:sage [2009/01/31(土) 10:46:19 ID:???] そんなレベルの人が正しくフレームワークを使いこなせてるとは思えない 保守不可能なシステムを作ってそう
547 名前:nobodyさん mailto:sage [2009/01/31(土) 11:16:37 ID:???] Web屋と呼べないレベルではあるが exe屋だったら最初そんなもんだろ。 まあ、フレームワーク知識自慢しかできないようじゃ、 お前らすぐに抜かれるよ。
548 名前:nobodyさん mailto:sage [2009/01/31(土) 13:50:46 ID:???] >>529 自作クラスなんてコンポーネントにしちゃえばいいよ。 で、コントローラーで $this->Myclass->eat('hoge'); で。 >>535 作り方としてデータを渡したいような内容のものがあるならモデルに書いた方がいい。 で、コントローラーからそのモデルのアクションを読み出してデータを取得。
549 名前:nobodyさん [2009/01/31(土) 16:13:14 ID:x6QrlarV] authcompornentでユーザ登録した後、自動的にログイン状態に遷移する処理について なにか方法があれば教えていただけませんでしょうか?
550 名前:nobodyさん mailto:sage [2009/01/31(土) 16:23:21 ID:???] マニュアルを読め
551 名前:nobodyさん mailto:sage [2009/01/31(土) 17:40:26 ID:???] データが全然こなくて小一時間悩んでたけどconditionsて書く所がconditonsになってた〜 時間返せー
552 名前:nobodyさん mailto:sage [2009/01/31(土) 17:50:06 ID:???] 色々読んでみたが、結局趣味でやるぶんにはイイFWってことか
553 名前:nobodyさん mailto:sage [2009/01/31(土) 18:44:40 ID:???] >>551 あるあるwwww JavaScriptでもundefinedとunidentifiedをよく間違えるんだよな
554 名前:nobodyさん mailto:sage [2009/01/31(土) 18:55:23 ID:???] 配列仕様だからそういうミスしても分からないんだよね なにかあるたびに配列にミスが無いかチェックしてるわ
555 名前:nobodyさん mailto:sage [2009/01/31(土) 19:10:10 ID:???] よく使うやつはテキストエディタの強調表示設定に入れておくのが吉
556 名前:nobodyさん mailto:sage [2009/01/31(土) 19:38:57 ID:???] symfonyを採用したオープンソースのSNS OpenPNE3.0が1/27にリリースされたそうな。 ttp://www.openpne.jp/archives/1117/ と言う事は、OpenPNE3.0はPHP4のサーバにはインストール出来ないと言うことか? 多くのアプリがPHP4で開発されたもので、PHP5での稼働が保証されていないので、 サーバのPHPを5に出来ないんだよな。
557 名前:nobodyさん mailto:sage [2009/01/31(土) 21:24:40 ID:???] >>548 モデルAとモデルBで、一応形としては A hasMany B B blongTo A なんだけど、普段必要になるのは、Bのうちnot deleteのフラグが立ってる 1つのデータだけなのよ。そして、まれに(not delete関係なく)全ての データが必要になる。これをどう扱ったら良い? A hasOne B にしても、BにA_idというフィールドが必要なだけに、こちらが望む 通りに紐付けするには条件(not delete=true)が足りない気がするし、 SQLの実行に時間や負担がかからないか心配だし、汎用性がどうか? Bのデータをidで直接呼び出した方が早いような気がしたので・・・ Aに、not deleteに当るBのデータのidを入れるフィールドを作っていて、 AのコントローラでBのモデルも扱ってread(Bのid)ってするつもりだった。 だけど、このやり方って変?
558 名前:nobodyさん mailto:sage [2009/01/31(土) 21:53:45 ID:???] >>557 ゆとりなの?死ぬの? こんな風に A のモデル書いて class A extends AppModel { var $hasMany = array('B' => array( 'className' => 'B', 'conditions' => array('B.delete' = 'not delete'), ),); function hogehoge() { unset($this->hasMany['B']['conditions']['B.delete']); return $this->find('all'); } } で、普段はコントローラから $this->A->find() でデータ取得して、 B.delete を無視する時は $this->A->hogehoge() 使うようにするだろう。jk
559 名前:nobodyさん mailto:sage [2009/01/31(土) 23:42:40 ID:???] コントローラーから別のコントローラーに値を渡す方法と言われて、セッションとかそういう話じゃなかったことしかないな
560 名前:nobodyさん mailto:sage [2009/02/01(日) 01:12:20 ID:???] 質問です。 $data = array( array( 'User' => array('id' => 1, 'name' => 'suzuki'), 'Tag' => array( array('id' => 1, 'title' => 'hoge'), array('id' => 2, 'name' => 'fuga') ), ), array( 'User' => array('id' => 2, 'name' => 'sato'), 'Tag' => array( array('id' => 1, 'name' => 'piyo'), array('id' => 3, 'name' => 'moge') ) ) ); $result = Set::extract('/Tag[id=1]/..', $data); debug($result); このとき$resultには、結果的に$dataと同じデータが入ると思うんですが、 「Notice (8): Undefined offset: 1 [CORE/cake/libs/set.php, line 415]」 というエラーが出て、2つめのデータが表示されません。何が原因なのでしょうか?
561 名前:560 mailto:sage [2009/02/01(日) 01:26:07 ID:???] すみません、追記です。 PHPのバージョンは5.2.8、CakePHPのバージョンは1.2.1.8004です。 あと「array('id' => 1, 'name' => 'piyo'),」は、 「array('id' => 1, 'title' => 'hoge'),」とした方が自然ですね。 よろしくお願いします。
562 名前:nobodyさん mailto:sage [2009/02/01(日) 22:33:35 ID:???] >>560 よくわからんけど。 Tagの添字のID=1が二つあるからじゃね? それ以外の条件での検索については、エラーは出ないし。
563 名前:nobodyさん mailto:sage [2009/02/01(日) 22:46:30 ID:???] ちょっと複雑?なアソシエーションについて教えて。 基本は A hasMany B , B belongTo A なんだけど、 AとBは hasAndBelongToMany でもある。 (Aが担当教員で、Bが生徒と思えば。 Aの中に担任が一人居るような感じ。) belongTo のAと、hasAndBelongToManyのAsを どうやって取得し分けたらいい?
564 名前:nobodyさん mailto:sage [2009/02/02(月) 01:23:57 ID:???] >>563 アソシエーションのbindとunbindを使い分ければいいんじゃない?
565 名前:nobodyさん [2009/02/02(月) 05:46:05 ID:lBmCzdKa] 1.2でpaginatorを1画面に複数使う方法が書いてあった blog、どこにあったか知ってるひといたら教えてプリーズ あとで見ようとしててどっかにいってしまいました
566 名前:563 mailto:sage [2009/02/02(月) 15:51:42 ID:???] >>564 一方を取得したくない時には、それでいけそうです。ありがとう。 だけど逆に、両方取得したい時に困りました。 当たり前かもしれませんが、両方が同じ変数に混ざってしまいます。 [B] => Array ( [id] => 1 [name] => hoge [0] => Array ( [id] => 1 [name] => hoge [AsB] => Array ( [id] => 4 [A_id] => 1 [B_id] => 1 ) ) ) これ、どうやって分離する? もしくは、別々の変数でとり出す方法は? それとも、そもそもデータベースの設計がおかしい?
567 名前:nobodyさん mailto:sage [2009/02/02(月) 16:28:39 ID:???] >>566 良くのみこめてないけど、tableに問題がありそうなきがする teachers , students があるのかな? classes があればすべて解決するような気がするけど違うのかい?
568 名前:563 mailto:sage [2009/02/02(月) 19:05:21 ID:???] Authも兼ねるつもりなので、 A hasMany B のAはusersなのです。 だからgroupsも作ってあるけど、classesやgroupsのいずれでも B blongsTo〜の関係にならないのです。
569 名前:nobodyさん mailto:sage [2009/02/02(月) 19:06:34 ID:???] www.google.co.jp/trends?q=cakephp%2Cruby+on+rails&ctab=0&geo=all&geor=all&date=all&sort=0 逆転しそう
570 名前:nobodyさん mailto:sage [2009/02/02(月) 19:55:59 ID:???] >>568 いやいやそういうこっちゃないでしょ もっと具体的に書いてみたらどうよ。 「A hasMany B , B belongTo A なんだけど、 AとBは hasAndBelongToMany でもある」って言われてもねえ 関係するModelと、そこで使われているアソシエーションの内容を、具体的にたのむ
571 名前:nobodyさん mailto:sage [2009/02/02(月) 20:48:11 ID:???] >>569 これってGoogleでの検索件数のトレンドグラフだよねえ。 CakePHPは色々と問題が多くて、その解決法を探す為にみんなせってと「CakePHP」 キーワードで検索をしている。だから最近検索件数がウナギ登りなんだ。 と言う見方もあるのかなあ?世間の注目を集める為のCakePHPの戦略では?
572 名前:nobodyさん mailto:sage [2009/02/02(月) 21:19:08 ID:???] >>566 必要なデータを得られるfindをして、自前で工夫すればいいんじゃないかな
573 名前:563 mailto:sage [2009/02/02(月) 21:22:19 ID:???] usersテーブル id name personsテーブル id name user_id //これが主たるuser persons_usersテーブル id person_id user_id //その他のuser Userモデル var $hasMany = array('Person' => array('className' => 'Person', 'foreignKey' => 'user_id')); Personモデル var $belongsTo = array('User' => array('className' => 'User', 'foreignKey' => 'user_id')); var $hasAndBelongsToMany = array('User' => array('className' => 'User', 'joinTable' => 'persons_users', 'foreignKey' => 'person_id', 'associationForeignKey' => 'user_id', 'unique' => true));
574 名前:563 mailto:sage [2009/02/02(月) 21:23:10 ID:???] Personsコントローラ class PersonsController extends AppController { function view($id = null) { $this->set('person', $this->Person->read(null, $id)); debug($this->Person->read(null, $id)); } } すると、$person['User']に、>566みたいに、belognsToとhasAndBelongsToManyの 両方のデータが入ってしまう。 ['User'][id] ['User'][name]とかは、blongsToのデータ ['User'][0][id] ['User'][0][name]とかはhasAndBelongsToManyのデータだと思う。
575 名前:nobodyさん mailto:sage [2009/02/02(月) 22:34:43 ID:???] var $hasMany = array('Profile1' => array('className' => 'Profile', 'foreignKey' => 'user_id', ), 'Profile2' => array('className' => 'Profile', 'foreignKey' => 'user_id', ) );
576 名前:563 mailto:sage [2009/02/02(月) 22:56:48 ID:???] >>575 それだ!!うまくいきました!多謝多謝
577 名前:nobodyさん mailto:sage [2009/02/03(火) 09:54:32 ID:???] モデル間のデータのやり取りや、 一つのモデルで複数のフィールドの データを操作するのって、どうやるの? というか、そういうのは奨められない? あるフィールドにデータが書き込まれたら、 同時に別のフィールドにもデータを書き込みたい。 (DBの設計がそもそも冗長との批判は分かる。)
578 名前:nobodyさん mailto:sage [2009/02/03(火) 10:15:42 ID:???] >>577 afterSave , afterDelete
579 名前:nobodyさん mailto:sage [2009/02/04(水) 16:42:15 ID:???] セレクトメニューを作るために、find('list')で配列を取得して、 この配列の先頭に、例えば、 $sel[0]='ここから選んで'; みたいなのを追加するのって、どうする? array_unshiftだと、IDに当る数字が再割り付けされてしまう。
580 名前:nobodyさん mailto:sage [2009/02/04(水) 17:30:08 ID:???] formヘルパーのオプション指定にそういう機能が無いかと 配列に直にデータを入れてバリデーションと合わせて簡単にやれないかを検討する
581 名前:nobodyさん mailto:sage [2009/02/04(水) 18:18:31 ID:???] ポケットリファレンスだと、そもそも $form->input('sel_id') の説明が無いんだよなー。 $form->selectにもなさげ。 配列に直にデータ入れて、ksortでできたからいいか。
582 名前:nobodyさん mailto:sage [2009/02/04(水) 18:39:48 ID:???] >>581 え? $form->select()だと第5引数showEmptyに文字列指定 調べてないけどinputもいけるはず
583 名前:nobodyさん mailto:sage [2009/02/04(水) 19:26:25 ID:???] ほんとだ。出来た。 そうだよなー。素人の私でも、出来ないと不便だって思うもんなー。
584 名前:nobodyさん mailto:sage [2009/02/04(水) 23:27:52 ID:???] ポケットなんとかがどんなもんだか知らないけど、まずマニュアル見ましょうよ。 せっかくCakeは日本語ドキュメントが充実してるんだから。
585 名前:nobodyさん mailto:sage [2009/02/05(木) 00:17:23 ID:???] うむ・・・おっしゃる通り。結局、Webの日本語マニュアルが一番参考になってる。 これだけでもCakePHPを選んで良かったと思う。 だけど、紙の本で探す方が早い事も多いし、狭い画面でやってるのでwebマニュアル を開いてる場所が無いのです。 ポケリファの1.2.1対応した改訂版が早く出て欲しい。できれば、Authとか1.2の 新機能をきっちり説明して欲しい。
586 名前:nobodyさん mailto:sage [2009/02/05(木) 00:26:39 ID:???] 1.2stable出たし、各社対応版発売を狙ってるでしょ 逆引き的なのは欲しいなぁ〜
587 名前:582 mailto:sage [2009/02/05(木) 09:29:26 ID:???] >>584 まずマニュアル見ようというのは同意だけど、マニュアルの記述がまだまだ不完全なのは事実 今回の件であれば select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty) 空の選択オプションを表示したくない場合、$showEmpty を false にします。 と、ある boolean の引数にテキストを指定するなんて、api.cakephp.org/ でソースを見るしかない (今回はポケットリファレンス見たというから、つっこんだまで)
588 名前:nobodyさん mailto:sage [2009/02/05(木) 09:35:20 ID:???] >>581 付け加えると、詰まったら api.cakephp.org/class/form-helper#method-FormHelperselect を見るのが、一番手っ取り早い こっちは、マニュアルよりは更新早いし、最終的にはソースを追えるし まあ、がんばってくれ
589 名前:nobodyさん mailto:sage [2009/02/05(木) 17:58:21 ID:???] findAll で フィールド price か item のどちらかにマッチするというクエリを書く場合って どうすればいいの?
590 名前:nobodyさん mailto:sage [2009/02/05(木) 18:28:27 ID:???] >>589 1.2だったら $this->MODELNAME->find('all', array( 'conditions'=>array( 'MODELNAME.price' => '2000', 'MODELNAME.item' => 'ITEM') ) ); こんな感じ
591 名前:nobodyさん mailto:sage [2009/02/05(木) 18:29:43 ID:???] >>590 ありがとう! その前にMYSQLが日本語ひっかからないという。。。 なんでだろ。 参考になりました。ありがとうございます。
592 名前:589 mailto:sage [2009/02/05(木) 18:34:16 ID:???] cakephp とは関係ないと思いますけど $option = array('Faqlist.name LIKE BINARY' => $str); ってBINARY ってのをつけると 日本語もうまくひっかかるようになります。 今まではちゃんとひっかかってたのに。MYSQLの仕様がかわったのかなー
593 名前:nobodyさん mailto:sage [2009/02/05(木) 18:52:42 ID:???] >>590 "or"とか入れなくても良いんでしたっけ?
594 名前:nobodyさん mailto:sage [2009/02/05(木) 18:55:11 ID:???] db側の文字コードがLatin1とかだとBinaryで処理するしかないってことだと思うけどね。
595 名前:nobodyさん mailto:sage [2009/02/06(金) 03:00:32 ID:???] Model::save()の際に、複製を残したいと思って、 idが空になれば新規保存されるのかな?と思って、 モデルに function beforeSave() { unset ($this->data[$this->name]['id']); return true; } と書いてみたが、UPDATEされてしまった。 かといって、 function beforeSave() { $d = $this->data; unset ($d[$this->name]['id']); $this->create(); $this->set($d); return true; } ってしたら、createdの日付が0になってしまった。 何か良い方法無い?
596 名前:nobodyさん [2009/02/06(金) 08:05:18 ID:OIEK7Rhk] 複製を残したいなら二回saveする必要があるんじゃねーか?
597 名前:nobodyさん mailto:sage [2009/02/06(金) 09:38:20 ID:???] >>595 どのように複製したいのだろうか? updateだろうがinsertだろうが、同じデータをinsertするということなら afterSaveで、create後saveすれば良いと思われ 別のDBに保存したいというのならuseDbConfigを変更してsaveかな? いずれにせよafterSaveじゃないと、validationErrorのときにもsaveされちゃうんじゃないかな
598 名前:nobodyさん mailto:sage [2009/02/06(金) 10:28:16 ID:???] >>596 ,597 複製って表現が違ったかもしれん。すまん 「バックアップを残す」って感じ。 既存のデータの編集の際、既存のデータは そのまま(削除のフラグを立てる)で、 新しいidで保存したい。 すると、afterSaveでは上書きされた後だから ダメでしょ? そこで、beforeSaveでidを 空にすれば新しいidで保存されるかなと思ったが、 なぜか上書きされてしまった(前者)。 コピーしたデータで書き込んだら、createの 情報が抜けてしまった(後者)。という次第であります。
599 名前:nobodyさん mailto:sage [2009/02/06(金) 10:42:52 ID:???] >>599 履歴を残すってことね。理解した。 でも、それでもafterSaveだろう 新規のデータをinsertして、afterSaveで既存のデータをupdateする感じじゃないかな book.cakephp.org/ja/view/76/ beforeSaveはあくまで保存するデータをいじったりするときに使うものだと思うよ ※>>597 のvalidationErrorのときにもsaveされるは間違いのようだ
600 名前:nobodyさん mailto:sage [2009/02/06(金) 10:53:08 ID:???] >>599 >新規のデータをinsertして、afterSaveで既存のデータをupdateする ↑ この処理はコントローラに書くことになるよね? どこかで、「ビジネスロジックはモデルに」なんて書いてあったので、 モデルに書く方法を考えてた。(コントローラからは普通にsaveしてる ように見えるけど、モデルの方でバックアップを残してる、って感じ) もしくは、モデルに上記の処理をするメソッドを作る方法もある? Model::save()を上書きしたら・・・さすがにややこしいことになるよな。
601 名前:nobodyさん mailto:sage [2009/02/06(金) 11:04:42 ID:???] >>600 afterSaveと言ってるくらいだから、Modelでしょーが おまいさんのいうように、自動的に履歴が残るぞ。 まずは、マニュアル読んでコールバックメソッドを理解するべし
602 名前:nobodyさん mailto:sage [2009/02/06(金) 11:08:14 ID:???] あ。そうか。ちょっと勉強して、試してみる。
603 名前:nobodyさん mailto:sage [2009/02/06(金) 11:16:38 ID:???] >>602 Have a nice cooking !
604 名前:nobodyさん mailto:sage [2009/02/06(金) 12:54:05 ID:???] >>601 「新規のデータをinsertして」もModel?? その後、afterSaveの中でgetIDできるのは 新しい方のデータで、既存のデータのidは 取得できないのでは?
605 名前:nobodyさん [2009/02/06(金) 12:58:50 ID:Fuxx6e9Y] バリデーションが効かない。助けて下さい。 モデルに追加するだけで動作するよね? var $validate = array( 'xxx' => array( 'rule' => VALID_NOT_EMPTY, 'message' => '必須項目です。' )
606 名前:nobodyさん mailto:sage [2009/02/06(金) 13:12:45 ID:???] >>604 それは、Controller 既存のidについては、自分で工夫してみてくれ。getIDする必要があるとは思えんから
607 名前:nobodyさん mailto:sage [2009/02/06(金) 13:51:55 ID:???] >>606 ありがとう。わかりました。 いくつかのモデルで同様の処理が有るので、 メソッド作って、AppModelに書いてみました。
608 名前:nobodyさん mailto:sage [2009/02/06(金) 14:27:27 ID:???] CakePHPってXSSとかSQLINJECTIONに対応してますか? 自分で処理するしかないですあk?
609 名前:nobodyさん mailto:sage [2009/02/06(金) 14:49:58 ID:???] 基本的に処理はされるが、知らずに穴を作ることはできるので、 自分で意識する必要はある。当然だが。
610 名前:nobodyさん mailto:sage [2009/02/06(金) 16:08:24 ID:???] >>608 XSSやSQLインジェクションの仕組みと対策方法を知っていれば、 おのずと分かる話だと思うが?
611 名前:nobodyさん mailto:sage [2009/02/06(金) 16:17:31 ID:???] Cakeのセキュリティ関係はあまり信用出来ないけど
612 名前:nobodyさん mailto:sage [2009/02/06(金) 16:32:25 ID:???] さすがにXSSについては、Helper使わない限りは、自分でh()に通すしかないわな
613 名前:nobodyさん mailto:sage [2009/02/06(金) 16:44:06 ID:???] Ajaxしてると見落とすこともあるかも。
614 名前:nobodyさん [2009/02/06(金) 22:15:58 ID:OIEK7Rhk] これってDBにロックかけることってできないの? BEGINでトランザクション開始 SELECT FOR UPDATEで更新用データ取得と同時にロック UPDATEでデータ更新 COMMITでトランザクション終了 みたいな感じにしたいんだけど、SELECT FOR UPDATEって どうやって設定してやったらいいんだ?
615 名前:nobodyさん [2009/02/07(土) 09:27:29 ID:u7AiZVmn] webrootの.phpファイルからcakeのコントローラを読んで 表示したいのですが、 includeでコントローラが読めませんでした。 viewにすれば解決するのはわかるのですが、 外部からcakeの結果を受けとることって無理なんですかね?
616 名前:nobodyさん mailto:sage [2009/02/07(土) 10:22:18 ID:???] >>615 (今考えている解決方法がどうやったらできるかじゃなくて) 具体的に今抱えている問題を書き込んだほうが、解決につながりやすいと思うよ webrootにphpファイルを置くというのは、方向性が間違っている可能性が高い
617 名前:nobodyさん mailto:sage [2009/02/07(土) 18:26:40 ID:???] 複数のモデルデータを保存したい時ってどうやってる? 条件としてはどちらもバリデーション通ったら保存。 バリデーションチェックとその表示との両立が上手くできない。
618 名前:nobodyさん mailto:sage [2009/02/07(土) 18:37:09 ID:???] >>617 'validate' => 'first' でsaveAll() book.cakephp.org/ja/view/75/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B
619 名前:nobodyさん mailto:sage [2009/02/07(土) 19:28:59 ID:???] >>618 明確な答えをありがとう。 フォームのバリデーションエラー表示も少してこずりましたが試して見ます。 saveAllをネット上の情報で試したんですが、エラー表示がきちんと出なかったんですよね。 フォームヘルパーの指定方法の問題じゃないかと思っていましたが。 taskモデルと、アソシエーションしたTimelineモデル(hasMany)のフォームはこんな感じで書いてます。 echo $form->input('task'); echo $form->input('Timeline.progress'); ちょっと前見たときはsaveAllの説明なかった気がするのは気のせいかな・・。 履歴を見ると気のせいじゃない気もする、今月に入って誰か訳してくれたんだねありがとう訳者さん。
620 名前:nobodyさん [2009/02/07(土) 23:38:50 ID:K4fXwaLQ] 「マニュアル/開発例/ACLを制御するシンプルなアプリケーション」で User自身が書いたPostのみ編集できて、他人のPostは編集できないようにしたいのですが、 どうしたらいいのかわかりません。>< isAuthorized()とかbeforeFilter()になんかちまちま書くしかないんでしょうか? 例えば、ACL使ってないけど、 function isAuthorized() { if ($this->Auth->user('username') == 'admin') { return true; } if (!empty($this->params['pass'][0])){ // ユーザー名 if ($this->Auth->user('username') != $this->params['pass'][0]) { return false; } } return true; } こんな感じとか?
621 名前:nobodyさん mailto:sage [2009/02/07(土) 23:48:49 ID:???] book.cakephp.org/ja/view/171/%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E5%BE%A1%E3%83%AA%E3%82%B9%E3%83%88
622 名前:nobodyさん [2009/02/08(日) 00:16:52 ID:XBcxfvCP] TRPGオタしか喜ばなそうな上記説明を熟読すれば、 「マニュアル/開発例/ACL〜」のサンプルで id:1のUserのみがuser_id:1のPostを編集できるようにできるんですか?
623 名前:nobodyさん mailto:sage [2009/02/08(日) 01:12:57 ID:???] >>622 「TRPGオタしか喜ばなそうな上記説明を熟読すれば、」ってことは、 ちゃんと読んでないのか。 マニュアルくらい読めよw それとも読めないくらい馬鹿なの?ww もしそうだったらごめんねwww
624 名前:nobodyさん mailto:sage [2009/02/08(日) 02:18:10 ID:???] >>622 マニュアルの更なる理解のために「指輪物語」を読破するんだw
625 名前:nobodyさん mailto:sage [2009/02/08(日) 02:30:48 ID:???] formヘルパーで、複数のテキスト入力boxを 1行に並べるのって、どうするの?
626 名前:nobodyさん mailto:sage [2009/02/08(日) 04:45:10 ID:???] >>625 自分でフォームを書く
627 名前:nobodyさん mailto:sage [2009/02/08(日) 04:56:26 ID:???] >>626 えっ、マジ?
628 名前:nobodyさん [2009/02/08(日) 11:29:47 ID:XBcxfvCP] いや、読んだ上で言ってるんだが。。。 これだとテーブル単位では大丈夫だけど、レコード単位での権限の設定が できないんじゃないかと思うんだが、違うのか? なんか、ここはレベル低いなぁ。
629 名前:nobodyさん mailto:sage [2009/02/08(日) 11:49:57 ID:???] その処理は、自分で書くんだよ。 自分が投稿したやつだけ編集できるって。 当たり前だろ。 管理者は全員のものを編集できるかもしれないし、 別に編集者という人を作るかもしれない。 誰が何を編集できるかを決めるのはお前。 よってお前がそういうコードを書く。OK? レベルが低いのはお前。
630 名前:nobodyさん mailto:sage [2009/02/08(日) 12:03:59 ID:???] >>625 tableタグ使うと$form->text()を1行に並べること出来るよ。 後は、app/webroot/css/cake.generic.cssの内容を自分の好みに編集するだな。 (でも、なんでCakePHP1.2のdefaultのcssはこんなに変態なのだろ?)
631 名前:nobodyさん mailto:sage [2009/02/08(日) 12:10:49 ID:???] 'div' => 'false' とかで横に並べられた気もするが・・・ > (でも、なんでCakePHP1.2のdefaultのcssはこんなに変態なのだろ?) 同意。デフォルトのフォントの大きさとかマージンとか 各ブラウザの間での違いを吸収する程度にしておけばいいのに。
632 名前:nobodyさん [2009/02/08(日) 12:17:33 ID:XBcxfvCP] >>629 > その処理は、自分で書くんだよ。 いや、書かなきゃならないのは、最初からわかってるよ。 でも、どこに書けばいいのかがわからない。 isAuthorized()やbeforeFilter()に書くのか?
633 名前:nobodyさん mailto:sage [2009/02/08(日) 12:21:23 ID:???] チケットを投げるんだ。 Summary: "cake.generic.css" looks like hentai Type: RFC
634 名前:nobodyさん mailto:sage [2009/02/08(日) 12:23:13 ID:???] >>632 ご飯から食べるか味噌汁から食べるか。 好きにしろw
635 名前:nobodyさん mailto:sage [2009/02/08(日) 13:06:23 ID:???] >>631 <?php echo $form->text('hoge0', array('div' => 'false')); echo $form->text('hoge1', array('div' => 'false')); echo $form->text('hoge2', array('div' => 'false')); ?> これでは縦に3つ並んでしまったが、こんな書き方ではないのかな??
636 名前:nobodyさん mailto:sage [2009/02/08(日) 13:29:45 ID:???] >>628 レベルが低いのはお前の頭
637 名前:622 [2009/02/08(日) 13:32:48 ID:ByGZ6/FB] >>632 教えてやるから土下座して「自分の頭の程度が悪うございました」とPCの前で言え 単にACOにmodel,foreign_keyを目的のレコードのものに設定して登録して、 AROとACOの関係を定義するだけ ACO登録位置は種類考えて適宜選べ 関係の定義とチェック関数については>>622 に書かれてる
638 名前:621 [2009/02/08(日) 13:33:26 ID:ByGZ6/FB] 622じゃなくて621だった
639 名前:nobodyさん mailto:sage [2009/02/08(日) 14:40:18 ID:???] CakePHPで掲示板作れます?
640 名前:nobodyさん mailto:sage [2009/02/08(日) 14:43:20 ID:???] >>639 お前は何を言っているんだ?
641 名前:nobodyさん mailto:sage [2009/02/08(日) 14:45:17 ID:???] >>640 質問しているのです。
642 名前:nobodyさん mailto:sage [2009/02/08(日) 15:03:43 ID:???] >>641 はいはい、ソーデスネ。 次のネタが思いつかないので、マジレスする。 作れます。 以上。
643 名前:nobodyさん mailto:sage [2009/02/08(日) 15:04:30 ID:???] >>639 ベタのPHPで作るより、短時間で、高機能(Ajaxなど)な掲示板が作れますよ。 がんばってください。
644 名前:nobodyさん mailto:sage [2009/02/08(日) 16:07:39 ID:???] >>642-643 がんばります!
645 名前:nobodyさん mailto:sage [2009/02/08(日) 16:20:11 ID:???] 自分の頭の程度が悪うございました
646 名前:nobodyさん [2009/02/08(日) 16:26:13 ID:SHT1by4H] バリデーションで、一つのフィールドに対して、 複数のルールを設定していた場合に、 一つのエラーが検知した場合以降の バリデーションはおこわないことは、出来ますか? 例えば、期間の入力があった場合、入力値が正しく なかった場合、その後の妥当な期間であるかどうかの チェックはいらないのですが。
647 名前:nobodyさん mailto:sage [2009/02/08(日) 16:41:27 ID:???] >>644 これから始めるなら、この本お勧め。 「CakePHP徹底入門」 CakePHP1.2で説明してあるから、とても楽に入門できた。 ttp://www.amazon.co.jp/CakePHP徹底入門-イージーゲート/dp/479811717X ↓このページも入門者にお勧めかな。 ttp://kuri6005.sakura.ne.jp/cake/wiki/
648 名前:nobodyさん mailto:sage [2009/02/08(日) 16:53:37 ID:???] >>646 book.cakephp.org/ja/view/133/ 'last' => true
649 名前:nobodyさん mailto:sage [2009/02/08(日) 17:20:04 ID:???] >>648 ありがとうございます。 すみません。 しっかりと説明されていますね。 もっとちゃんと読まないといけませんね。
650 名前:nobodyさん [2009/02/08(日) 17:46:55 ID:srWubjja] 携帯対応ページを作ろうと思って、/m/でリクエストされたら携帯ページを表示ってやろうとしていて 表示はうまくできたんですけど、PC用ページのフォームで、 $form->create('post', array('action' => 'view')); ってやったときに、$this->dataにデータが入っているときは、 action="/post/view/1"とかになるんだけど、データが入ってないと action="/m/post/view"って/m/が先頭につけられてしまいます。 プログラム中で/m/をつけてるのはroutes.phpで Router::connect('/m/:controller/:action/*", array('prefix' => 'mobile')); としているとこだけなんだけど、$form->createってここを見てURLを 自動生成してるんでしょうか? だとしたらどうやったらうまく解決できるんでしょうか?
651 名前:nobodyさん [2009/02/08(日) 18:01:22 ID:srWubjja] すんません、Router::Connectをコメントにしたらちゃんとうごきました。 ということは$form->createではこれをみてURLを生成してるんですね。 携帯、PCの両用サイト作ってる人はどうやって解決してるんでしょうか?
652 名前:nobodyさん mailto:sage [2009/02/08(日) 21:16:52 ID:???] >>647 ご丁寧にありがとうございます。 明日の夜にでも本屋に行ってこようと思います!
653 名前:nobodyさん mailto:sage [2009/02/08(日) 21:59:25 ID:???] cakephp.jp/
654 名前:nobodyさん mailto:sage [2009/02/08(日) 22:39:55 ID:???] >>635 うちもそれ試した。3行になっちゃった。 やっぱ、>626の言う通り、自分で フォームを書かないといけないのか・・・マンドクセ 生年月日を入力させるのに、セレクトメニューでは 不便なので、直接「年」「月」「日」の数字を 入力させたいのね。 何か、簡単な方法ある? できれば、年号(MTSH)が付いてると西暦に直して 欲しいんだけど・・・(そこまで求めるのは無理か。)
655 名前:nobodyさん mailto:sage [2009/02/08(日) 22:49:40 ID:???] 素のhtmlのタグを、cake流に変換するようなフィルタとかあればいいなー
656 名前:nobodyさん mailto:sage [2009/02/08(日) 23:14:43 ID:???] >>654 'div' => false にして、出てくるフォームが改行されるのは、FormHelperの問題と違う。 CSSでそう指定してあるから改行される。 input { clear: both; } みたいな感じで。 いっぺん、読み込んでるCSSファイルを移動するなりして、読み込めないようにしてみろ。
657 名前:nobodyさん mailto:sage [2009/02/09(月) 00:07:57 ID:???] >>656 CakePHP1.2の変態cssをとっぱらったら、'div' => 'false'を付けなくてもtextBoxが1行に ちゃんと3つ並ぶ。質問者はCakePHP1.2の変態cssを突破してtextBoxを1行に並べる方法を 質問しているのだと思う。 <?php echo $form->text('hoge0'); echo $form->text('hoge1'); echo $form->text('hoge2'); ?> <br> <br> <?php echo $form->text('hoge0', array('div' => 'false')); echo $form->text('hoge1', array('div' => 'false')); echo $form->text('hoge2', array('div' => 'false')); ?> >>654 自分でフォームを直接書いたとしても、CakePHP1.2の変態cssの壁に阻まれると思う。 敵はCakePHP1.2の変態cssだと思う。変態cssを攻略するのが近道。 tableタグを使うと変態cssの中でもtextBoxを1行で表示できる。が詳細なレイアウトを 調整しようとすると変態cssと戦わざるを得ない。 <table> <tr> <td><?php echo $form->text('hoge0'); ?></td> <td><?php echo $form->text('hoge1'); ?></td> <td><?php echo $form->text('hoge2'); ?></td> </tr> </table>
658 名前:nobodyさん mailto:sage [2009/02/09(月) 00:13:00 ID:???] 何で変態CSSのために 無駄な労力使ってるんだw
659 名前:nobodyさん mailto:sage [2009/02/09(月) 00:18:41 ID:???] >>658 暇で他にやる事もないので、チョットやってみただけ。
660 名前:nobodyさん mailto:sage [2009/02/09(月) 01:19:15 ID:???] てことはCSSを、YUIとかのリセットに変えればいいだけか
661 名前:nobodyさん mailto:sage [2009/02/09(月) 02:53:29 ID:???] >>659 じゃあ僕のサイト作るの手伝ってくれません?