[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 09/24 18:53 / Filesize : 35 KB / Number-of Response : 144
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 2ホール目



1 名前:nobodyさん mailto:sage [2007/11/14(水) 02:50:28 ID:???]
本家
www.cakephp.org/

10分で作るCakePHPアプリ for Windows
p4life.jp/cake/

マニュアル日本語化
www.cakephp.jp/doc/

日本語フォーラム
cakephp.jp/modules/newbb/

あとこのへんとか(初心者向けTIPS)
www.avatarfinancial.com/pages/cake/


2 名前:nobodyさん mailto:sage [2007/11/14(水) 03:12:01 ID:???]
乙。

3 名前:nobodyさん mailto:sage [2007/11/14(水) 03:25:56 ID:???]
深夜遅くに乙。

4 名前:nobodyさん mailto:sage [2007/11/14(水) 03:26:45 ID:???]
あと前スレ。

【PHP】フレームワーク CakePHP
pc11.2ch.net/test/read.cgi/php/1163850802/

5 名前:nobodyさん mailto:sage [2007/11/14(水) 11:46:19 ID:???]
>>1
>>あとこのへんとか(初心者向けTIPS)
>>www.avatarfinancial.com/pages/cake/

ヒント:初心者は英語読めないw

6 名前:nobodyさん mailto:sage [2007/11/14(水) 12:26:42 ID:???]
つ「帰国子女の新米プログラマー」

7 名前:nobodyさん mailto:sage [2007/11/14(水) 16:44:29 ID:???]
CakePHP入門リンク集
ttp://pub.studio15.jp/2007/11/13/cakephp-links/

8 名前:nobodyさん [2007/11/14(水) 21:45:34 ID:Y+NYefM3]
先輩方、

なぜ $this->set('hoge','hoge'); といちいちコントローラーからviewへ送るものを
指定する必要があるのか不思議に思うのですがいかがでしょうか。

$this->set(get_defined_vars()); を app_conrtoroller に直接書いておくというのが
一番手間かからず楽だと思うのですが、何かデメリットありますかね

ご指導、ご鞭撻のほど、よろしくお願いします。

9 名前:名無しさん@Vim%Chalice mailto:sage [2007/11/14(水) 22:22:26 ID:???]
>>8
$this->set()を拡張するって事?

そういう風に纏めても結局、コントローラとアクションの
組み合わせごとにビュー側へ渡す変数ってバラバラだよね。
変数を渡したくない時もあるし、条件ごとにセットしたりしなかったり。

そーゆー所ってのは往々にして関数で一括りにしようとすると大変な思いをする。
んで後からキモい拡張を繰り返す羽目になる。

つーかね、$this->set();をいっぱい書くのが嫌だっつーんなら
こういう書き方があるぞ

$this->set( array(
  'foo' => $foo,
  'bar' => $bar,
));

10 名前:nobodyさん [2007/11/15(木) 16:51:14 ID:k/tuboV7]
>>9

ありがとうございます。

$this->set( array(
  'foo' => $foo,
  'bar' => $bar,
));

といった書き方でやることにします。ありがとう!



11 名前:nobodyさん mailto:sage [2007/11/16(金) 00:07:15 ID:???]
>>9
人のアイディアを握りつぶすのが得意な方ですね。

12 名前:nobodyさん mailto:sage [2007/11/16(金) 06:01:31 ID:???]
デメリットがないかと書いていたから、
デメリットと、
おまけでそれへの対処の一例を書いてるだけのように見えるが...

ゆとりか?

13 名前:名無しさん@Vim%Chalice mailto:sage [2007/11/16(金) 08:08:28 ID:???]
>>11
そういう風に見える?
たしかに口は悪いけど、こういう事ってひとりじゃなかなか
気付かねーと思うんだけどな

習い事でも何でもそうだけど、最初は人の真似から始まるじゃん
プログラミングだけ個人のアイディアが〜とか言ってたら
切磋琢磨できないよ

//まあ、苦労するのもいい勉強だけどな

14 名前:nobodyさん mailto:sage [2007/11/16(金) 11:05:41 ID:???]
ダイアログ的な汎用のページを作る方法って無いかな?

たとえば、商品入力ダイアログボックス
検索も出来て、クリックして選択。
そういうページだけど、これは汎用。

あるページの商品入力にこのダイアログを使う。
また、違うページの商品入力にもこのダイアログを使う。
ダイアログ的な用途だけど、ウインドウポップアップで
出てくるのではない普通のページ。

15 名前:nobodyさん mailto:sage [2007/11/16(金) 11:56:29 ID:???]
それはJavascriptの仕事なんだぜ

16 名前:nobodyさん mailto:sage [2007/11/16(金) 13:26:25 ID:???]
>>13
> たしかに口は悪いけど、こういう事ってひとりじゃなかなか
> 気付かねーと思うんだけどな
>
> 習い事でも何でもそうだけど、最初は人の真似から始まるじゃん
> プログラミングだけ個人のアイディアが〜とか言ってたら
> 切磋琢磨できないよ

ヘタレのくせに自意識過剰じゃね?

17 名前:13 mailto:sage [2007/11/16(金) 15:42:29 ID:???]
へたれで自意識過剰なので、スキルアップのため
ぜひ>>16様の神実装を参考にさせてください><

18 名前:nobodyさん mailto:sage [2007/11/16(金) 17:32:00 ID:???]
findAllを使うと

$data[0]['Model']['column']

の形式の配列が帰ってくるんですが、これを

$data[0]['column']

の形式で取得したいんです。何か楽な方法って用意されていませんかね?

19 名前:nobodyさん mailto:sage [2007/11/16(金) 17:41:50 ID:???]
>>16
文句しか言えないモマエのほうが>>13よりずっとヘタレ


20 名前:nobodyさん mailto:sage [2007/11/16(金) 17:52:26 ID:???]
>>18
app_model.php内に以下のようなコードでも入れてあげれば?

function hoge($data)
{
  foreach($data as $i => $data2){
    foreach($data2[$this->name] as $column => $Value){
      $newData[$i][$column] = $Value;
    }
  }
  return $newData;
}

で、各々のモデルでfindAllした後に$data[0]['Model']['column']形式のデータを引数にしてhogeする



21 名前:nobodyさん mailto:sage [2007/11/16(金) 19:37:38 ID:???]
>>20さん
なるほど、ありがとうございます。
やっぱり自分で作らないといけないんですね。
お手数おかけしました。

22 名前:nobodyさん mailto:sage [2007/11/17(土) 02:24:41 ID:???]
東京では勉強会も企画されてるのか。
都会の人はうらやましいな。本当に。

23 名前:nobodyさん mailto:sage [2007/11/17(土) 02:59:12 ID:???]
じゃあ田舎でもやろうぜ!@福岡

24 名前:nobodyさん mailto:sage [2007/11/18(日) 00:59:28 ID:???]
福岡は都会だろ@佐賀

25 名前:nobodyさん mailto:sage [2007/11/18(日) 19:13:19 ID:???]
最低と比べちゃすべて上だわな。

26 名前:nobodyさん mailto:sage [2007/11/20(火) 01:45:08 ID:???]
CakePHPガイドブック、誤字脱字多すぎだろw

27 名前:nobodyさん mailto:sage [2007/11/20(火) 08:22:30 ID:???]
簡単と言われるCakePHPも俺には難しい…orz
オマイラ天才だな

28 名前:nobodyさん mailto:sage [2007/11/20(火) 11:57:28 ID:???]
>>27
まず一度自分で簡単なMVCフレームワークを作ってみると
理解が段違いに早くなるよ。

29 名前:nobodyさん mailto:sage [2007/11/20(火) 12:21:14 ID:???]
>>26
途中までしか読んでないが説明と画面のスクリーンショットが一致してないとかゴロゴロあるな

30 名前:nobodyさん mailto:sage [2007/11/20(火) 13:01:09 ID:???]
>>26
誤字脱字以前に最初からbakeの使い方を説明しているのはどうなんだろ。
Railsから来た人ならわかるのかも知れないけど、Cakeから始めたら
絶対に混乱すると思うんだが。
modelとか複雑な例を出してるし、コードが長すぎて理解できないっしょ。



31 名前:nobodyさん mailto:sage [2007/11/20(火) 14:37:23 ID:???]
それはあるな。導入編で一気に作ってから実践編で基本に立ちかえってる。
それと実践編のサンプルの仕様が良くわからない(実践的なものと思えない)

32 名前:nobodyさん [2007/11/20(火) 15:35:43 ID:WpMCnsjr]
質問させてください。

public_html
└app/
└cake/
└vendors/
└hoge/(任意のディレクトリ)
 
と配置した場合に、hoge/ はcakePHPの影響を受けたくない場合はどうしたらいいんでしょうか。
具体的にはxreaのlogディレクトリで、中にはphpmyadminが入ってます。

sample.sxxx.xrea.com/log/phpmyadmin/でアクセスすると、
cakeのエラー:you are seeing this error because controller LogController could not be found.
.htaccessの問題かとは思うんですが、そもそもディレクトリ配置の仕方に問題アリですか?

33 名前:nobodyさん mailto:sage [2007/11/20(火) 15:49:32 ID:???]
サーセン自己解決したみたいです。

参考:
ttp://purazumakoi.info/blog/archives/2007/09/cakephp.html

34 名前:nobodyさん mailto:sage [2007/11/20(火) 19:29:14 ID:???]
>>33
publicなところにコアを置くのは感心しないな。

35 名前:nobodyさん mailto:sage [2007/11/20(火) 20:13:05 ID:???]
ツリー構造をしたデータをオブジェクトとしてうまく扱う方法ってあるの?

つまり、$model->findTree('id = a1') とかやったら、
- a1
 +- b1
   +- c1
   +- c2
 +- b2

こんな感じでツリーのデータとして返してくれる感じ。

参考までにほかのO/Rマッパーの話でもいいけど。

とここでふと思ったけど、自分のモデルに対してアソシエーション設定すればうまく行くのか?


36 名前:nobodyさん mailto:sage [2007/11/21(水) 02:55:26 ID:???]
railsのscaffoldがcakeのbake?

cakeもrailsみたいにコマンド一つでファイル作ってくれればいいのに
質問に答えていくのがなんか面倒

37 名前:nobodyさん [2007/11/21(水) 08:30:39 ID:Cl2dTAkZ]
答えるのも面倒だし、M・V・C別々なのも面倒だよね。

38 名前:nobodyさん mailto:sage [2007/11/21(水) 12:29:06 ID:???]
wraper書きゃいいだけじゃん。

39 名前:nobodyさん mailto:sage [2007/11/21(水) 15:54:05 ID:???]
>>35
TreeBehaviorといふものがあつてだな

40 名前:nobodyさん mailto:sage [2007/11/22(木) 01:19:04 ID:???]
ユーザー登録によくある、登録するメールアドレス宛に一回メールして、そこに記載されているリンクをクリックして登録みたいな処理ってコントローラーにベタガキかな?



41 名前:nobodyさん [2007/11/22(木) 08:23:16 ID:nlNH1bOE]
ベタ書きの意味が分からないけど、メソッド分けて、それぞれにモデルとビューを作ればいいんじゃないの?

コンポーネントにすべきか、という意味?

42 名前:nobodyさん mailto:sage [2007/11/22(木) 10:30:25 ID:???]
メールを使ったユーザー登録をcakeに書くならどういうのが最適かな程度の意味でいったんだけど

43 名前:nobodyさん [2007/11/22(木) 12:06:19 ID:AuFQqZEI]
普通に書けばいいんじゃないかな。

44 名前:nobodyさん mailto:sage [2007/11/22(木) 18:33:00 ID:???]
cakeやばい、どうやばいのかはやばすぎるので言えないぐらいやばい

一回自分でサイト構築までやってみて、これ試すと相当やばい
PHP野郎にとっては麻薬以上にやばい

45 名前:nobodyさん mailto:sage [2007/11/22(木) 19:19:37 ID:???]
それっていいって意味?

46 名前:nobodyさん mailto:sage [2007/11/23(金) 01:56:02 ID:???]
Railsの方がもっといいけどね。

47 名前:nobodyさん mailto:sage [2007/11/23(金) 02:09:41 ID:???]
れいるずだとぱふぉーまんすちゅーにんぐがたいへんそうなのです

48 名前:nobodyさん mailto:sage [2007/11/23(金) 12:37:53 ID:???]
cakeの勉強会、二つも企画されてるのか。

49 名前:nobodyさん mailto:sage [2007/11/23(金) 13:00:29 ID:???]
AjaxとかJavascriptに手を出したことがない初心者なんですが、
Cakeのヘルパーからこれらの世界に入っていくのは不味いですかね?
ある程度本でも何でも読んでから出直したほうが良いのかな

50 名前:nobodyさん mailto:sage [2007/11/23(金) 17:34:58 ID:???]
>>49
そういう人用のヘルパーだと思われるよ。
普通に書きたきゃ書けばいいし、ライブラリ使いたきゃ使えばいい。
まずいも何もないと思う。



51 名前:nobodyさん mailto:sage [2007/11/23(金) 18:26:39 ID:???]
ログインしてなかったら「ここは何々のページです。ログインしてください。」みたいに、viewの表示を変えるとかってview側でif分岐するしかないのかな。
あまりviewにロジック組みたくないんだが。

52 名前:nobodyさん mailto:sage [2007/11/23(金) 18:38:55 ID:???]
普通ログインが必要なページにリクエストしてきて
ログインしてなかったら一括でログイン促すページにリダイレクトだろ
おまえwebアプリ作ったことあるのか?

53 名前:nobodyさん mailto:sage [2007/11/23(金) 21:16:55 ID:???]
>>50
そうですか、助かりました。
でも少しはAjax, Javascriptの本もかじってみようと思います。
ありがとうございました。

54 名前:nobodyさん mailto:sage [2007/11/23(金) 21:17:41 ID:???]
ログインしてなかったら「ログイン」
してたら「ログアウト」を表示したいってことじゃないの?


55 名前:nobodyさん mailto:sage [2007/11/24(土) 04:15:26 ID:???]
いやそのページが何をするページかだけ説明をいれたいから飛ばすとかは無理。さすがにWebアプリ未経験ではないわ。
ログインしてない時はグローバルナビのリンク先urlでも変えて、ログインフォームと新規登録リンクと個別説明ページに飛ばすか
できれば同じurlにしたかったが。

56 名前:nobodyさん mailto:sage [2007/11/24(土) 04:17:02 ID:???]
なんか意味わからない文章なったから放置で…

57 名前:nobodyさん mailto:sage [2007/11/24(土) 07:36:32 ID:???]
よくわかんないけど「ここは何々のページです。ログインしてください。」って
テンプレートだけ作ってコントローラから何々の部分のメッセージを設定して
renderればいいんじゃないのん

58 名前:nobodyさん mailto:sage [2007/11/24(土) 13:35:28 ID:???]
>>55

お前、Webアプリ未経験者だなw

59 名前:nobodyさん [2007/11/24(土) 14:44:27 ID:+GWOZRBH]
僕は

○ログインしている場合
view/layout/default.thtml に
if($_SESSION['Login']['email'] != ''){ $this->render('loginok.thtml');}
(ログイン中のエレメントを表示させる)

○ログインしていない場合
view/layout/default.thtml
if($_SESSION['Login']['email'] == ''){ $this->render('loginng.thtml');}
(ログインしてね♪ボックスを表示させる)

という処理でわけてますね。
わかりやすいし、いいと思いますよ。


60 名前:nobodyさん mailto:sage [2007/11/24(土) 16:57:12 ID:???]
どっちにしろviewでロジックは入れなきゃいけないね。
エレメントにしておいて、コントローラで切り替えるってのはいいかも。



61 名前:nobodyさん mailto:sage [2007/11/25(日) 03:26:25 ID:???]
Cake1.2系使ってみてるんだけど、Viewでエラー出すときのメソッドって変わってるよね?
<?php echo $html->tagErrorMsg('Post/body', '本文は必ず入力してください。')みたいだったやつ。
Modelでメッセージ内容決められるようになったから。

あとエラーって一個ずつしか出ないけどまとめて表示とか出来ないの?

<?php echo $html->tagErrorMsg('Post/body', '本文は必ず入力してください。') ?>

62 名前:nobodyさん mailto:sage [2007/11/25(日) 08:44:45 ID:???]
>>61
$form->input()を使えばエラーも一緒に表示されるようになる。
エラー文はmodelでも指定できるし、今まで通りControllerでも
指定できるけど、tagErrorMsgは無くなったので、inputの第二引数に
messageとして渡してあげればOK。

一個のinputに対してエラーを全部表示するのはコアを触らないと
無理じゃないかな。よく知らん。

63 名前:nobodyさん mailto:sage [2007/11/25(日) 20:28:15 ID:???]
お答えありがとう。
一個ずつしか出ないならJavascriptの使用を強制してエラー出してあげるしかないかな

64 名前:nobodyさん mailto:sage [2007/11/25(日) 22:38:25 ID:???]
フォーム周りやヴァリデーションに関してはEthnaのほうがわかりやすいなぁ

65 名前:nobodyさん mailto:sage [2007/11/26(月) 00:36:21 ID:???]
べ、勉強会、ど、どうだったの!?アッー

66 名前:nobodyさん mailto:sage [2007/11/26(月) 21:19:27 ID:???]
ケーキももう腐りかけなんかなぁ

67 名前:nobodyさん [2007/11/26(月) 21:32:38 ID:g6VI9o/i]
今勉強中だからそれは勘弁して欲しい。

68 名前:nobodyさん mailto:sage [2007/11/26(月) 22:20:15 ID:???]
Railsにようこそ

69 名前:nobodyさん [2007/11/26(月) 22:37:57 ID:9laXyXH+]
それは断る。

70 名前:nobodyさん mailto:sage [2007/11/27(火) 00:22:24 ID:???]
このスレは、ホモが集まってんの?



71 名前:nobodyさん mailto:sage [2007/11/27(火) 04:42:44 ID:???]
たしかに楽なんだけど
細かい部分で変な仕様っていうか不具合っていうか
いまいちな動作するよねえ

validationとかsaveとか

おかげでソースとにらめっこで時間かかる…

72 名前:nobodyさん [2007/11/27(火) 07:25:54 ID:q198YkJr]
もちろんフィードバックはしてるんだよな?

73 名前:nobodyさん mailto:sage [2007/11/27(火) 09:33:56 ID:???]
validationは2系ならよいんじゃ?
saveはidも更新されちゃうとかか?

74 名前:nobodyさん [2007/11/27(火) 11:12:10 ID:O5dAXXRh]
テーブル設計のとき、外部キーは「テーブル名_id」と命名しますよね。
テーブル名が「prefix_テーブル名」の時は「prefix_テーブル名_id」となるんでしょうか?

また、テーブル名は複数形ですか?

75 名前:nobodyさん mailto:sage [2007/11/27(火) 21:07:05 ID:???]
環境をまず言うべきだ

76 名前:nobodyさん mailto:sage [2007/11/27(火) 21:16:36 ID:???]
>>72

そこまでまだ使いこんでない

>>73

2は少しよさそうだね

なんかわかりにくいというか 仕様が曖昧だよね
まあ楽につくろうっていうのが趣旨だからしかたないのかもしれない

もうちょっといじってみる

77 名前:nobodyさん mailto:sage [2007/11/27(火) 22:46:38 ID:???]
>>74
日本人じゃないから仕方が無いけど、
単数と複数の意味を考えよう。

テーブルとは、レコードの集まりだ。
で、一つのレコードは、一つのもの。つまり単数だ。
だからレコードのID・・・つまり一つのもののIDなのだから
単数形_IDになる。

そしてその集まりであるテーブルは当然複数形となる。

ついでにいうと、テーブルのレコードに相当するModelは当然単数形だし、
そのモデル(単数)の一覧(複数)を表示したりするコントローラは複数形となる。

単数形と複数形の使い分けはこんな感じ、

あと残りの単語の区切りがアンダーバー区切りか頭大文字かはクラス名は頭大文字
ファイルやテーブルはアンダーバー区切りとなる。

78 名前:nobodyさん mailto:sage [2007/11/28(水) 00:30:00 ID:???]
テーブル A hasMany B
テーブル B hasAndBelongsToMany A

のときの A のデータの編集(新規追加)画面を作ってる

Aの編集画面で、Bのデータを持ってきて表示・選択できるところまでできた

で、Aのデータをsaveするときに、Bのデータのsaveとかvalidatesは自動でやってくれるの?

この辺り、いまいちややこしいなああ

79 名前:nobodyさん mailto:sage [2007/11/28(水) 01:03:43 ID:???]
>>78

続きだけど
この場合、自前でvalidatesするときはどこでするの?

AとBを関連づけるための A_Bテーブルも作ってるけど A_Bモデルでやるのかな?
それともAモデル?
Bモデルだとデータの形式が違うから AモデルかA_Bモデルだとは思うんだが…

80 名前:nobodyさん [2007/11/28(水) 03:05:53 ID:k8OzrBLt]
1.1で特定のコントローラーだけtagErrorMsgでエラーメッセージがでなくなったんですが、同じ現象にあたったひといませんか?
コントローラ内で
pr($this->User->invalidFields());
とかってやるとちゃんとvalidateは行われているようなんですが・・・



81 名前:nobodyさん [2007/11/28(水) 14:51:33 ID:Zvh5a2IN]
cakephp 動作がすげー重いような気がするんだけど・・・
どうなんすか。先輩方。

82 名前:nobodyさん mailto:sage [2007/11/28(水) 15:01:13 ID:???]
何と比べて?

ただの一枚のphpファイルだけで完結するものと
データベースにアクセスするものを比べたら
そりゃ重いのは当然だと思うが?

83 名前:nobodyさん mailto:sage [2007/11/28(水) 15:18:31 ID:???]
CodeIgniterなどお召し上がり下さい、ふくよかなお方

84 名前:nobodyさん mailto:sage [2007/11/28(水) 20:51:41 ID:???]
CakePHP使ってる人たちは、他のPHPフレームワークをどう見てる?

85 名前:nobodyさん mailto:sage [2007/11/28(水) 21:56:36 ID:???]
railsは神

86 名前:nobodyさん [2007/11/29(木) 17:42:41 ID:IwtVKe0+]
>>82
フレームワークcakephpを使ったプログラムと
普通にベタ書きでプログラムを書くのと比べて。

87 名前:nobodyさん mailto:sage [2007/11/29(木) 18:11:52 ID:???]
馬鹿すぎてわらた

88 名前:nobodyさん mailto:sage [2007/11/29(木) 21:15:28 ID:???]
さすがにネタでしょう。

89 名前:nobodyさん [2007/11/30(金) 18:57:34 ID:uOWFJHM3]
エラー文忘れましたけど、
fatal で 30秒どうのこうの・・・というエラーが出るんですよ。

更新キーを押してもなかなか表示しなかったり。
キャッシュ使わないときついんですかね。cakephp。

プログラムのみならある程度いけるんですが、画像使うともう厳しいくらい重いですね。

なんか良い方法ないでしょうか。

90 名前:nobodyさん mailto:sage [2007/11/30(金) 20:08:26 ID:???]
共有サーバやめたらいいんじゃないかな



91 名前:nobodyさん [2007/11/30(金) 21:45:10 ID:uOWFJHM3]
>>90

ありがとうございます。

今でました。

Fatal error: Maximum execution time of 30 seconds exceeded in /home/hoge/www/hoge/cake/libs/session.php on line 154

セッション周りがおかしいんですかね〜。
ちなみにcakephp1.1 サクラサーバーのプロっていうレンタルサーバーですね。

レンタルサーバーでも他のプログラムならさくさく動くんですが・・・。

92 名前:nobodyさん mailto:sage [2007/11/30(金) 21:53:08 ID:???]
そのエラーを出せと言われたら、俺は速攻で無限ループを書くだろうな。

93 名前:nobodyさん mailto:sage [2007/12/03(月) 19:35:14 ID:???]
オマイラ一つのMVCセットを書くときにどんな順番や頭のロジックで書いてる?

94 名前:nobodyさん mailto:sage [2007/12/04(火) 19:21:59 ID:???]
複合で

95 名前:nobodyさん [2007/12/04(火) 19:35:56 ID:5jWwGUYJ]
M C V の順番かな。

96 名前:nobodyさん mailto:sage [2007/12/04(火) 19:52:21 ID:???]
頭の中ではVMCの順で考えて、書くのはMCVかな。

話が変わってしまって申し訳ないけど、
1.2のcake/libs/session.phpの470行目
$config = CONFIGS . Configure::read('Session.cookie') . '.php';
ってなってるけど
$config = CONFIGS . Configure::read('Session.save') . '.php';
の間違いじゃね?

1.1だと
$config = CONFIGS . CAKE_SESSION_SAVE . '.php';
ってなってるし。

ticket出したいけど英語ができない・・・orz

97 名前:nobodyさん mailto:sage [2007/12/04(火) 20:01:17 ID:???]
1.2のcake/libs/session.phpの470行目 
$config = CONFIGS . Configure::read('Session.cookie') . '.php'; 
ってなってるけど 
$config = CONFIGS . Configure::read('Session.save') . '.php'; 
の間違いじゃね? 

をそんまま訳せばいいだろw

98 名前:nobodyさん mailto:sage [2007/12/04(火) 21:09:42 ID:???]
機能の豊富さで1.2系つかいはじめたが、もしかしてまだ実用的には早かったかな?
全然話違うけど、フォームの確認画面はググってすぐ見つかる方法くらいしかないんだろうか。そもそもcake使っているものに確認画面が見当たらない

99 名前:nobodyさん mailto:sage [2007/12/04(火) 22:56:12 ID:???]
おい。おまいら。ここクリックしてみろ!
運がよければいいことがあるぜ!
localhost/users/deletel/1

100 名前:nobodyさん mailto:sage [2007/12/05(水) 01:13:52 ID:???]
deletelにしてる奴いるのか?



101 名前:nobodyさん mailto:sage [2007/12/05(水) 13:38:48 ID:???]
せめてtinyurlとか使うだろ常考…
心優しい奴だな

102 名前:nobodyさん mailto:sage [2007/12/05(水) 15:45:18 ID:???]
deletelわらた

103 名前:nobodyさん mailto:sage [2007/12/05(水) 19:21:03 ID:???]
いま気づいたw

104 名前:nobodyさん mailto:sage [2007/12/06(木) 08:26:19 ID:???]
なんかログイン画面がでてきたよw

105 名前:nobodyさん mailto:sage [2007/12/08(土) 10:30:04 ID:???]
api.cakephp.org/classes.html
IE6で見たらなぜかクラス一覧が表示されないんだが
これって漏れのPCだけ?

IE7とかFirefoxであれば普通に表示されるからそっちで見てるんだけど・・・


セキュリティ設定の問題かなと思って低めにしたけどやっぱ表示されねぇw
なんでや〜〜〜?

106 名前:nobodyさん mailto:sage [2007/12/08(土) 11:38:27 ID:???]
IEイラネって事でしょ

107 名前:nobodyさん mailto:sage [2007/12/11(火) 11:02:44 ID:???]
ttp://www.cakephp.jp/doc/apas12.html
のeditのsaveの引数はなぜ
$this->dataではなく$this->data['Post']なのでしょうか?


108 名前:nobodyさん [2007/12/11(火) 12:31:59 ID:fmpEROAG]
>>107

タイトル:
<?php echo $html->input('Post/title', array('size' => '40'))?>

っていうのは $this->data['Post']['title'] に格納されるから。

ようは $this->data['Post'] ってのは Postモデルのデータってこと。

よくわからなければ まず pr($this->data); をやってみるとセクシーになるよ。

109 名前:nobodyさん mailto:sage [2007/12/11(火) 15:27:06 ID:???]
いや〜ん

110 名前:nobodyさん mailto:sage [2007/12/11(火) 15:43:20 ID:???]
あは〜ん



111 名前:nobodyさん mailto:sage [2007/12/11(火) 15:53:50 ID:???]
あのー
意図的に404エラー出したいときはどうすればいいですか?

AppController内で404エラーページを表示する共通のメソッドがあるんだけど
どうもうまくいかないっす

$this->cakeError('error404', array(array('url' => ???)));

こんな感じかなあという感じなんですけど
???の部分がわからない

$this->cakeError('error404', null);

とかにすると $param['url'] か $param['action'] がないっておこられてしまいます

デフォの404エラーページが表示できればいいんですけど
なんかいい方法ないですかあ?

112 名前:111 mailto:sage [2007/12/11(火) 15:55:13 ID:???]
あ、ちなみにビューを切り替えるとかいうのはなしでお願いします

HTTPステータスコードが404にならないと思うので…
よい方法があればおたすけください…

113 名前:107 mailto:sage [2007/12/11(火) 15:58:30 ID:???]
>>107
ありがとうございます。それは理解しているつもりなのですがaddの時は
$this->Post->save($this->data)
でeditの時は
$this->Post->save($this->data['Post'])
なのはどうしてでしょうか?実際$this->Post->save($this->data)でも
更新されるようですし。


114 名前:nobodyさん [2007/12/11(火) 17:40:19 ID:MudQMHo6]
フレームワークでファイルのアップロード処理を書くと、どうも不細工になってしまう。
うまくフレームワークとなじませられないというか・・・。

115 名前:nobodyさん mailto:sage [2007/12/11(火) 18:05:21 ID:???]
>>111
ソース見たらURLは単にメッセージ表示のために使われているだけみたいだから
こんなのでもいいんじゃないの? cake 1.2 pre-betaの場合。

$this->cakeError('error404',array(array('url'=>'アドレスバーに書いてあるURLミロ')));

116 名前:111 mailto:sage [2007/12/11(火) 18:17:07 ID:???]
>>115

レスありがとうです
やっぱりそんな感じになりますかあ

AppControllerに書く場合、URLは $this->here とかでいいんでしょうか?

なんかしっくりこない気がするんですけど
他にもよい方法ありましたらよろしくおねがいします

117 名前:nobodyさん mailto:sage [2007/12/11(火) 19:24:00 ID:???]
マルチしね
無能

118 名前:nobodyさん mailto:sage [2007/12/11(火) 21:21:49 ID:???]
>>113
書き方の違いでしょ。
この例の場合はどちらでもOKだと思う。
二つ以上のモデルに格納するデータをフォームから送るなら
$this->dataにすべきだね。

119 名前:111 mailto:sage [2007/12/11(火) 22:52:21 ID:???]
>>117

おれのこと?
マルチなんかしてないけど?

というか他にCakePHPのスレあったっけ?

120 名前:111 mailto:sage [2007/12/12(水) 00:43:10 ID:???]
フォーラムにも同じような話題でてたんだな
しかし決めつけはひどいな 別人だよ

>>117

おまえが無能だ


んで、フォーラムにでてるように array(array('url' => 〜)) をつかうとうまくいかない場合ある
array(array(action)) つかったほうがいい

しかし、この辺りがCakePHPはなんかいまいちスマートじゃないね



121 名前:nobodyさん [2007/12/12(水) 13:47:30 ID:fuv5QvzR]
モデルのヴァリデートにNgWord判定させるにはどうしたらいいのですか?
cake2日目ではまってまっすん

122 名前:nobodyさん mailto:sage [2007/12/13(木) 02:11:34 ID:???]
正規表現でそのワード弾けばいいんじゃない?

123 名前:121 mailto:sage [2007/12/13(木) 10:54:35 ID:???]
>>122
レスありがとうございます。

正規表現ではじくのは考えたのですが、NGワードをDBで管理してあとから追加や削除をできるようにしたいのです。
ヴァリデートに関数呼び出しなどを書く方法はあるのでしょうか?

言葉足らずですみませんです。

124 名前:121 mailto:sage [2007/12/14(金) 13:58:00 ID:???]
自己解決しました

validate() をオバーライドするか、別途関数を呼び出してチェックすればいいみたいです。

save()の第二引数に falseを指定すれば、save時にヴァリデートしなくなるようです。


125 名前:nobodyさん [2007/12/14(金) 23:47:10 ID:dPU6DaHz]
オバーライドwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

126 名前:nobodyさん mailto:sage [2007/12/15(土) 02:49:30 ID:???]
一つのテーブルに10個のフィールドがあるとして半分ずつを別の機会にsaveしたい時は後に保存するほうは空の値を許可するにしなきゃいけないんだろうか。すべて必須項目にしたいんだが。
自分でModelに複雑なValidationを実装するのかな

127 名前:nobodyさん [2007/12/15(土) 05:19:24 ID:Ybu1PDKf]
CakeSWXPHPの使い方で良いサイト知らない?

ActionScriptの方の使い方が難しくて、何かわかりやすいサンプルを探してるんだけど。

具体的にはFlexのMXMLとの連携のコードを全て公開してくれてるところ。

128 名前:cWTrQzhwyu mailto:tfcbks@wxejbj.com [2007/12/15(土) 05:32:32 ID:???]
w8dffW <a href="tjfirgbtchzm.com/">tjfirgbtchzm</a>, [url=skatqimodaiu.com/]skatqimodaiu[/url], [link=bjtumegdtulp.com/]bjtumegdtulp[/link], uteijdlqllxz.com/

129 名前:nobodyさん mailto:sage [2007/12/18(火) 02:17:35 ID:???]
1.2系だとHABTMも標準でsaveできるようになったんな。すごい便利

130 名前:nobodyさん mailto:sage [2007/12/18(火) 02:25:56 ID:???]
>>129

諸刃の剣の悪寒
いじりたいときは返って面倒

まあそのまま使うときはよさそうだね



131 名前:nobodyさん mailto:sage [2007/12/18(火) 11:36:32 ID:???]
モデル書くときって簡単なSQLでもfindとか使わずに
queryでSQL文が見えてた方が開発効率がよくね?

132 名前:nobodyさん mailto:sage [2007/12/18(火) 19:39:14 ID:???]
返ってくるデータが予測つかない人はそうだな

133 名前:nobodyさん mailto:sage [2007/12/19(水) 02:24:25 ID:???]
>>131
俺はすでにそれじゃだめだな。

CakePHPつかう以前からの話だが、
何かのデータを保存・・・時にほかのテーブルにも保存
なんて処理をやりたいことがある。

SQLでいえばトリガーでやるところなのだが、
トリガーはDBMSに依存してしまう。

そういうときにフレームワークで処理を割り込ませられると便利。
CakePHPでいうBehaviorの仕事だ。

134 名前:nobodyさん mailto:sage [2007/12/19(水) 02:34:00 ID:???]
それから、俺は、Behaviorを使うことで
SQL文の拡張のようなことをやっている。

たとえば・・・これは俺が実際に使っている例ではないんだが、
全文検索をするための構文はDBMSによって違う。

しかし、それがなんであれ,
$conditions = array('field' => 'FULLTEXTSEARCH ' . $keyword);
という風にFULLTEXTSEARCH キーワードを条件文に使用できる。

あとはBehaviorのbeforeFindで条件を調べて
DBMSにあわせた適切な構文に置き換えるだけ。

135 名前:nobodyさん mailto:sage [2007/12/19(水) 11:09:58 ID:???]
>>126
saveに渡す配列にフィールドのキーが存在しなければvalidationもされないし
データ更新もされないから気にしないでOK

136 名前:nobodyさん mailto:sage [2007/12/19(水) 13:28:34 ID:???]
Paginationまわりがわかりにくいと思うのは俺だけ? 特に1.2

フレームワークそのままの形だけの使い方をしている分にはいいんだけど
データ取得の命令がfindAllがpaginate関数になったりと、
理由はわからなくは無いんだけど、どうも設計に違和感を感じる。

とりあえず、1.2用のコントローラー以外(たとえばComponent)でも
使えるような汎用的なコードを書いておくよ。といっても怪しいけどな。
変なことをしているかもしれん。まあ俺が見つけた方法ということで。

しかし、コントローラ以外からコントローラのpaginate変数を設定したり
paginate関数を読んだりするのが気持ち悪い。
もっとスマートな方法ないのかな。



※$controllerはどこからか取得

$model_name = 'Post';
loadModel($model_name);
$model = new $model_name;
$conditions = array('id' => '> 3');
$controller->paginate[$model_name] = array(
  'limit'=>2,
  'page'=>1,
  'conditions'=>$conditions);
$data = $controller->paginate($model);

pr($data); //検索情報
pr($controller->params['paging'][$model_name]); //ページ情報

137 名前:nobodyさん [2007/12/19(水) 19:37:24 ID:nmvrwuDT]
recursiveが2以上のアソシエーションを動的に変更する方法がよくわからない。

例えば
blog
ってテーブルがhasManyで
post
ってテーブル持ってて、そのまたさらにhasManyで
comment
ってテーブルを持ってたとする。

普段はそれぞれは一覧で表示したいのでlimitを10くらいに設定してるんだけど、
ブログの一覧からpostとそれに紐付くcommentを全て取得する際に
$this->Blog->findAll();
でコメントだけはlimitを3にしたい。

$this->Post->hasMany['Comment']['limit'] = 3;
$this->Post->bindModel(array('hasMany' => array('Comment' => array('limit' => 3))));
とか試したけど、もう無理。

何か間違ってる?

138 名前:nobodyさん mailto:sage [2007/12/20(木) 02:56:46 ID:???]
出来ないこともないが、
テーブル名を複数形にしない時点で
自分で調べてなさすぎ感が伝わってきて
アドバイスしたい気持ちになれない。

139 名前:1/3 [2007/12/20(木) 04:06:27 ID:XdoaO407]
調べてないつもりではないんだけど、確かに情報を小出しにしてるこちらが悪かった。
ごめんなさい。
誤解を生まないようにもう一度説明すると、
blogs テーブルはBlogモデルの中で
var $hasMany = array('Post' => array('classname' => 'Post', 'limit' => 10));

postsテーブルではPostモデルで
var $hasMany = array('Comment' => array('classname' => 'Comment', 'limit' => 10));

そいで最後に
commentテーブルがCommentモデルでそれぞれ定義されてたとして。


普通はコントローラーで最初に
var $uses = array('Blog', 'Post', 'Comment');
ってやっておいて、
$blogs = $this->Blog->findAll(null,null,null,null,null, $recursive = 2);
でそれぞれ
count($blogs['Posts']);// が10件
count($blogs['Posts']['Comments']);// が10件
入るよね。

140 名前:2/3 [2007/12/20(木) 04:06:58 ID:XdoaO407]
でもblogの一覧から全てのPostとCommentを取り出すのがリs−スが勿体無いときがあったとして、
 1.Postを3件だけ取り出したい
 2.Commentを3件だけ取り出したい
とすれば、

1のPostのほうは
$this->Blog->hasMany['Post']['limit'] = 3;
なり
$this->Blog->bindModel(array('hasMany' => array('Post' => array('limit' => 3))));
なりしてやればあとは
$blogs = $this->Blog->findAll(null,null,null,null,null, $recursive = 2);
で3件だけPostを取り出せるんだけど、

2に関しては
$this->Post->hasMany['Comment']['limit'] = 3;
をやっても
$this->Post->bindModel(array('hasMany' => array('Comment' => array('limit' => 3))));
をやっても、
その後
$blogs = $this->Blog->findAll(null,null,null,null,null, $recursive = 2);
これをすると
count($blogs['Posts']['Comments']);
は10件取り出されてしまうんですよ。



141 名前:3/3 [2007/12/20(木) 04:07:32 ID:XdoaO407]
自分では
$this->Blog->findAll()
でblogsテーブルの直下のhasManyは動的にアソシエーションできるんだけど、
そのさらに下のアソシエーションに関しては動的に変更できなくて悩んでるんだけど、
何か決定的に間違ってる?
普通は出来るもんなんだったら、
別のところで自分が途方も無いケアレスミスを犯しててたまたま出来てないだけだってわかるだけでも
対策考えれるからありがたいんですけど。

142 名前:nobodyさん mailto:sage [2007/12/20(木) 04:10:41 ID:???]
あああ、推敲したはずなのに…。
>>139
> そいで最後に
> commentテーブルがCommentモデルでそれぞれ定義されてたとして。



> そいで最後に
> commentsテーブルがCommentモデルでそれぞれ定義されてたとして。
       ~~

の間違いです。
重ね重ねごめんなさい。

143 名前:nobodyさん [2007/12/20(木) 13:00:08 ID:rEyzQF0b]
$this->Blog->Post->hasMany['Comment']['limit'] = 3;






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<35KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef