- 1 名前:nobodyさん [2008/03/14(金) 15:16:00 ID:HF9x5ODX]
- www.cakephp.org/
10分で作るCakePHPアプリ for Windows p4life.jp/cake/ マニュアル日本語化 www.cakephp.jp/doc/ 日本語フォーラム cakephp.jp/modules/newbb/ あとこのへんとか(初心者向けTIPS) www.avatarfinancial.com/pages/cake/ CakePHP入門リンク集 ttp://pub.studio15.jp/2007/11/13/cakephp-links/ 【PHP】フレームワーク CakePHP 2ホール目 pc11.2ch.net/test/read.cgi/php/1194976228/ 【PHP】フレームワーク CakePHP pc11.2ch.net/test/read.cgi/php/1163850802/
- 727 名前:nobodyさん mailto:sage [2008/04/20(日) 00:01:18 ID:???]
- >>711
非正規化は、一般的な業務システムでもよくやるな。 ただ、明らかに正規化をさぼってて、テーブルのカラム数が100個超えているのを 「性能を考えて非正規化している」と言い張る人はカンベンしてほしい。 あぁごめん。cakePHPの話から逸脱した。 >>723 どこか忘れたけど、コントローラあたりの設定で、DBを使わないようにもできたはず。 だれか補足頼むw 特殊な使い方でもしない限り、あんましメリットはなさそうだね。
- 728 名前:nobodyさん mailto:sage [2008/04/20(日) 00:32:54 ID:???]
- >>726
相手を見下さないと精神を保てない糞FWユーザ涙目www
- 729 名前:nobodyさん mailto:sage [2008/04/20(日) 00:33:33 ID:???]
- 図星だったのか? その反応は。
- 730 名前:nobodyさん mailto:sage [2008/04/20(日) 00:34:22 ID:???]
- モデルが貧弱なCodeIgnitorよりは
CakePHPの方が実用的に見て優れているな。
- 731 名前:nobodyさん mailto:sage [2008/04/20(日) 00:46:44 ID:???]
- >>728
フレームワークに問題が無い話をしているのに 糞FWとか言っているようじゃ 説得力皆無だゾ
- 732 名前:nobodyさん mailto:sage [2008/04/20(日) 01:31:23 ID:???]
- >>723
だからDB使わない事もできるって。 デフォルト設定がDB使用になってるだけで、全然強制じゃない。 ttp://www.1x1.jp/blog/2007/08/cakephp_no_db.html ファイルベースの設定方法は、わざわざ書かなくてもいいよね? >730 CodeIgnitorを使いたい人は使えばいいし、CakePHPを使いたい人は 使えばいいし、それだけの事。 CodeIgnitorは機能が少ない分、実装がシンプルで軽いのが特徴なんだから、 機能的に足りていれば、そっちでもいいでしょ。
- 733 名前:nobodyさん mailto:sage [2008/04/20(日) 01:35:00 ID:???]
- ちいたん最強
- 734 名前:nobodyさん [2008/04/21(月) 16:11:05 ID:Hc1e0Bqc]
- 追加の検証が必要な不確実な情報
俺のコードに問題がある可能性もあり。 1.2.0.6311-beta のデフォルトのセッション管理(ファイルベース?) Configure::write('Session.save', 'cake'); のとき、同時に複数のアクセスがあるとロックされるかもしれない。 つまり、一つの目のアクセスで長い処理を行っていると 二つ目のアクセスがロックされ一つ目が終わるまで実行されない。 Session->read()で待たされる。 Configure::write('Session.save', 'database');にして DBベースのセッションにするととりあえず回避できる。 関係ないとは思うがPostgreSQLの場合。
- 735 名前:nobodyさん mailto:sage [2008/04/21(月) 16:34:17 ID:???]
- PhpNutいなくなっちゃったの?
- 736 名前:734 mailto:sage [2008/04/21(月) 19:37:53 ID:???]
- よく考えたら、ロックされるほうが正しいのか。
アクセスしたユーザーはロックされるが 他の人(ようするにセッションファイルが違う人)は ロックされないようだ
- 737 名前:nobodyさん mailto:sage [2008/04/22(火) 13:08:38 ID:???]
- 初歩的な質問で申し訳ありません。
bakeで作ったコントローラをみると $this->Session->setFlash(__('hogehoge.', true)); のようなコードがありますが この__() や後ろのtrueは何を意味しているのでしょうか? もしかするとcakePHPに限ったことではないかもしれませんが、 よろしくお願いします。
- 738 名前:nobodyさん mailto:sage [2008/04/22(火) 15:52:58 ID:???]
- >>737
多言語化機能。 /app/locale/jpn/LC_MESSAGE とその周辺あたりに言語ファイル .po や .mo を置くと、hogehogeが翻訳される。 多くはビューで使われるため、<?php __('hogehoge') ?> と簡便に書くことが出来るようになっている。 この場合、言語ファイルがあると、hogehogeが翻訳されて”出力”される。 第二引数にtrueを指定すると出力せずに戻り値として返すという意味。 これと似たやり方は、CakePHPだけでなく、PHP以外でも良く使われ 多くは _('hogehoge')という書き方をする。 PHPではgettext関数の別名として_()関数が使用できる。 jp.php.net/manual/ja/function.gettext.php CakePHPではこのやり方を独自に拡張しており、 関数名がアンダーバー二つになっている。
- 739 名前:nobodyさん mailto:sage [2008/04/22(火) 15:54:09 ID:???]
- おまけ。翻訳手順。poeditを使った場合。
1.ソースコードやビューの中の翻訳したい文字列を__('hogehoge')という書き方にする。 2.cake i18n extractツールを使うと、ソースコードの中から__()の部分を抽出、.potファイルを生成してくれる。 3.poeditなどのツールを使い、.potファイルを取り込み、.poを作る。 4..poを編集して翻訳リストを作っていく。 5.最後に.poを.moにコンパイルする。.moが最終的な翻訳ファイル。poeditの場合.poを保存したら.moも出来る。 6.新たに単語が増えたときは、2の手順で再度.potファイルを生成する。 7.poeditで今使っている.poに.potファイルを追加取り込みをする。ちゃんと差分だけが取り込まれる。削除された単語も.poファイルに残っている。 8.再度翻訳して保存。.moを作る。 ファイルの意味をまとめると、 .pot・・・単語のリスト(今現在使用している単語を抽出するテキストファイル) .po・・・作業ファイル(過去に使用して、今は削除している単語の翻訳情報なども残っているテキストファイル) .mo・・・翻訳ファイル(作業ファイルに残っているいろいろな無駄が取り除かれたバイナリファイル) ※ 実はCakePHPは .mo が無くても .po を直接翻訳ファイルとして使える。
- 740 名前:nobodyさん mailto:sage [2008/04/22(火) 18:29:42 ID:???]
- >>737
いい質問。俺も初めてしった。 >>738,739 素敵だわぁ
- 741 名前:737 mailto:sage [2008/04/22(火) 18:43:22 ID:???]
- >>738-9
丁寧なレスをありがとうございます。 CakePHPにはまだまだ知らない機能があるんですね。 いろいろ楽しみです。
- 742 名前:737 mailto:sage [2008/04/22(火) 18:44:53 ID:???]
- アンカーの付け方間違えました・・・
マウスオーバーしないようにお願いします;;
- 743 名前:739 mailto:sage [2008/04/22(火) 18:56:32 ID:???]
- 一つ言い忘れた。.pot .po .mo とかの .で始まるやつは
ドットで始まるファイルではなく、拡張子という意味で書いた。 デフォルトではdefault.poやdefault.mo になる。 それぞれのファイルのdefaultの部分を変更することも可能。 abc.mo の場合、その場合、__d('abc', 'hogehoge') という書き方で 出来ると思うがやったこと無いので/cake/basics.phpでもよんどくれ。
- 744 名前:新参者 mailto:sage [2008/04/23(水) 05:59:57 ID:???]
- ブラクラするんだけど、俺だけ?
メニューを選んで、表示し終わる前にサイト内検索する。(Specialofferとか) www.islandcruises.com/ OS: WinXP sp2 Browser: IE7 CPU: Core2 6300 Memory: 2G Service: xampp CakePHP 1.2で開発中なので、こういうの見るとビビっちまう・・・
- 745 名前:744 mailto:sage [2008/04/23(水) 06:23:11 ID:???]
- 追記:
キャッシュクリア後とかに、 zeroで検索するとハングしやすい。 firefoxだと大丈夫なので、IE7の仕業くさいな。 調べてくるか・・・
- 746 名前:702 mailto:sage [2008/04/24(木) 18:22:26 ID:???]
- >>698-702
の流れから結局、model内でfindAllをオーバライドしてみたがなんかアソシエーション組んでるほかのモデルまで影響しているような気がする・・。 function findAll($conditions=null, $fields=null, $order=null, $limit=null, $page=1, $recursive=null){ if(isset($conditions) && is_array($conditions)){ array_unshift($conditions,"name like '%" . USER_NAME . "%'"); }else{ $conditions = array("name like '%" . USER_NAME . "%'"); } return parent::findAll($conditions, $fields, $order, $limit, $page, $recursive); }
- 747 名前:nobodyさん mailto:sage [2008/04/24(木) 22:39:06 ID:???]
- >>746
1.1ってbeforeFindなかったっけ?
- 748 名前:702 mailto:sage [2008/04/25(金) 12:38:51 ID:???]
- >>747
ありがとう、まじでありがとう
- 749 名前:nobodyさん mailto:sage [2008/04/26(土) 13:26:12 ID:???]
- URLを読み込む以外に、CakePHP外部から
CakePHPの関数とか呼ぶ方法内ですかね? 具体的に言うと、もともとウェブサイトがCMSで構築されており、 新たにCakePHPを使ったウェブシステムを追加したわけですが、 そのCMSのページ上にCakePHPシステムの情報・・・会員ユーザー名などを 表示させたいのです。
- 750 名前:nobodyさん mailto:sage [2008/04/26(土) 13:30:26 ID:???]
- 好きなようにDB叩けばいいんじゃまいか?
- 751 名前:nobodyさん [2008/04/26(土) 14:52:38 ID:CCA4AGBq]
- Shellsでしょう
- 752 名前:nobodyさん [2008/04/26(土) 21:38:26 ID:Uwx0xpWG]
- セッションがクリアされてしまってハマった。
ネットで検索すると、存在していないcssや画像ファイルがあると消え、 htaccessでの設定で回避できるということだった。 css、画像ファイルのパスと存在が正しいことを確認、 htaccessファイルの設定も修正してみたが、セッションはクリアされたまま。 たすけて。
- 753 名前:nobodyさん mailto:sage [2008/04/26(土) 22:33:41 ID:???]
- >>752
CakePHPのバージョンはいくつ? こんなのがあった。 ttp://cakephp.jp/modules/newbb/viewtopic.php?topic_id=817&forum=9 ちなみに、初めてセッションを使おうといろいろ調べてるんだけど、参考になる サイトあったら情報きぼう。 とりあえずこのあたりを参照中。 ttp://cakephp.jp/doc/session.html ttp://d.hatena.ne.jp/hetima/20070116/1168883397 ttp://d.hatena.ne.jp/hetima/20070201/1170313526 ttp://develop.ddo.jp/new-tech/php/framework/cakephp/memo/%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E9%85%8D%E5%88%97%E3%81%AE%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95 ttp://sand-man.blog.so-net.ne.jp/2007-06-26-1
- 754 名前:753 mailto:sage [2008/04/26(土) 22:35:08 ID:???]
- ごめん。よくみると全然関係なさそうだね。
- 755 名前:nobodyさん mailto:sage [2008/04/26(土) 22:37:46 ID:???]
- >>753は読まずに答えてみる。的外れかも。
えーと、core.phpだっけ? セキュリティレベルを設定するところ。 あそこが一番高いと、接続するたびに、セッションIDが変更される。 だから途中でエラー?とかあると、サーバー側ではセッションIDの情報が変わっているのに クライアントでは新しいセッションIDをもらきれておらず、セッションIDが切断=クリアされてしまう。 だから俺はセキュリティレベルを中にした。
- 756 名前:755 mailto:sage [2008/04/26(土) 22:41:33 ID:???]
- ttp://cakephp.jp/modules/newbb/viewtopic.php?topic_id=817&forum=9
> slywalker 投稿日時: 2007-11-5 12:58 この人と同じこと。
- 757 名前:nobodyさん [2008/04/26(土) 23:10:06 ID:Uwx0xpWG]
- CAKE_SECURITYを、'medium'にしてやってみたけどダメでした。
セションをwriteした直後にreadしてみたら、ちゃんと設定されてるのは確認できたんですけどね。 次の画面でreadすると空になってる。ん〜困った。
- 758 名前:nobodyさん mailto:sage [2008/04/26(土) 23:38:17 ID:???]
- まさかブラウザ側の問題ってことは・・・
セキュリティソフトとか。
- 759 名前:nobodyさん mailto:sage [2008/04/26(土) 23:42:15 ID:???]
- writeした直後にreadしてちゃんと設定されていると
確認するのはあまり意味無いよ。 なぜなら、情報が実際にセットされるのは ブラウザにクッキー情報が返ってからだから。 ieHTTPHeadersやLive Http headers ブラウザのクッキー情報を見るツールを使って 調べてみよう。
- 760 名前:nobodyさん mailto:sage [2008/04/27(日) 00:07:57 ID:???]
- あっそうだ。セッションの方式にはどれを使っている? cakephp、php、database?
自分の使い方の問題もあるだろうけど、databaseがなんかうまくいかなかった。
- 761 名前:nobodyさん [2008/04/27(日) 00:41:14 ID:DD3/O3h6]
- セッション方式(CAKE_SESSION_SAVE)は、"php"です。
いま↓を見てるんだけど、aタグによるリンクで画面遷移させるので、 セッションIDを付加しないといけないことがわかった。 ttp://cakephp.jp/modules/newbb/viewtopic.php?topic_id=840&forum=3&post_id=1579 これからやってみます。
- 762 名前:nobodyさん mailto:sage [2008/04/27(日) 02:40:18 ID:???]
- cake1.2.0.6311使ってますが、
sqlのCASEはquery対処なんかなあ。$optionsでいけたりする?
- 763 名前:761 mailto:sage [2008/04/28(月) 00:00:23 ID:???]
- 自己レスだけど、携帯サイトの場合、Cookieが使えない携帯端末があるから
URLにセッションIDを付加する方法でやるしかない。 PCサイトの場合は、セッションハイジャックの危険性があるからURLへのセッションID付加は使えない。 結局、セッションを使わずcookieで運用する方法で実装しました。 本来の意味でのセッションではなく、単なるデータの引き継ぎ用途なので、cookieでよいかと。
- 764 名前:nobodyさん mailto:sage [2008/04/28(月) 20:32:23 ID:???]
- 「セッションハイジャックが毎日行われています」
ttp://pc11.2ch.net/test/read.cgi/php/1207863515/236-249
- 765 名前:nobodyさん mailto:sage [2008/04/29(火) 00:30:20 ID:???]
- 一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
- 766 名前:nobodyさん mailto:sage [2008/04/29(火) 00:50:53 ID:???]
- >>765
何かバグにぶち当たったのかもしれんけど、こんな風にいい逃げする 荒らしもいるしなぁ。 本当に困ってるのなら、具体的なバグ例を挙げてみるといいよ。 そしたら対処方法も出るかもしれないし。 話は変わるけど、前のレスでも出てたし、みんな知ってるのかもしれないけど、 このサイトいいね。参考になる。 テンプレに載せてもいいんじゃない? ttp://bakery.cakephp.org
- 767 名前:nobodyさん mailto:sage [2008/04/29(火) 02:39:08 ID:???]
- お決まりですので・・・
宣伝乙^^
- 768 名前:nobodyさん [2008/05/01(木) 10:47:29 ID:oWWm9vMD]
- hasMany定義しているModelで、子のデータが更新されたら、そのmodifiedで
親のmodifiedを更新したいのですが、どのようにすればいいでしょうか? 子のデータ更新をするcontrollerでいっしょに更新しようとしたのですが、 上手くいきませんでした。 32 function edit($id = null) 33 { 34 $this->Response->id = $id; 35 $thread_id = $this->Response->field('thread_id'); 36 37 if ($this->Response->saveField('cooking_name',$this->data['Response']['cooking_name'])) 38 { 39 $this->Thread->saveField('modified',$this->data['Response']['modified']); 40 $this->redirect( '/responses/view/'. $thread_id . '#' . $id); 41 } 42 } modelはこの通りです。 7 var $belongsTo = array('Thread' => 8 array('className' => 'Thread', 9 'conditions' => '', 10 'order' => '', 11 'foreignKey' => 'thread_id'));
- 769 名前:nobodyさん mailto:sage [2008/05/01(木) 13:48:12 ID:???]
- >>768
39行目はupdateじゃなくて、insertされてない?
- 770 名前:nobodyさん mailto:sage [2008/05/01(木) 14:08:31 ID:???]
- >>766
参考になる以前に公式じゃんw
- 771 名前:768 mailto:sage [2008/05/02(金) 02:37:54 ID:???]
- すみません自己解決しました。
39行の手前で、親の方にidを設定したところ、きちんと更新されました。 $this->Thread->id = $thread_id;
- 772 名前:nobodyさん mailto:sage [2008/05/06(火) 17:41:37 ID:???]
- >>771
報告乙です 参考にさせて頂きます。
- 773 名前:nobodyさん [2008/05/07(水) 00:15:31 ID:ehDEto56]
- app/views/layouts/default.thtml にて、あるModelのデータを
展開したいのですが、どうすればいいでしょうか? 対応するコントローラもなさそうだし・・・。
- 774 名前:nobodyさん mailto:sage [2008/05/07(水) 00:21:12 ID:???]
- >>773
モデルからコントローラに値を渡してsetしてviewで使えばいいだけですよ。
- 775 名前:773 mailto:sage [2008/05/07(水) 00:29:55 ID:???]
- >>774
というと、複数のviewで使いたい場合は、各コントローラ、各アクションで setするという事でしょうか? あるいは、全てのコントローラの前に読み込まれる、共通コントローラみたいのが あったりするのでしょうか。
- 776 名前:nobodyさん mailto:sage [2008/05/07(水) 00:37:17 ID:???]
- >>775
そう ある
- 777 名前:nobodyさん mailto:sage [2008/05/07(水) 14:32:05 ID:???]
- そうあるよ
- 778 名前:nobodyさん mailto:sage [2008/05/07(水) 14:48:46 ID:???]
- >>775
チートシート手に入れるべし
- 779 名前:773 mailto:sage [2008/05/08(木) 01:09:40 ID:???]
- 結局レスの内容はよく分かりませんでしたが、下記ページを参考に、
requestActionで取得する事にしました。 cakephp.jp/doc/ch07s02.html /views/layouts/default.thtml <?php echo $this->set('users', $this->requestAction('/users/getUserList'), array('return')); ?> <p><?php $user_numbert = array_rand($this->viewVars['users']); echo $this->viewVars['users'][$user_numbert]['User']['name']; ?></p>
- 780 名前:nobodyさん mailto:sage [2008/05/08(木) 01:42:10 ID:???]
- >>779
ちょwwwww志村上上
- 781 名前:nobodyさん mailto:sage [2008/05/08(木) 09:23:20 ID:???]
- app_controller.php
function beforeRender() { # ここに/users/getUserListの中身とかを $this->set('user_numbert' , $user_numbert); } default.thtml <?php e(h($user_numbert['User']['name'])) ?>
- 782 名前:nobodyさん mailto:sage [2008/05/08(木) 09:34:15 ID:???]
- ちょwwwww志村上上下下右左右左BA
- 783 名前:nobodyさん mailto:sage [2008/05/08(木) 19:24:13 ID:???]
- 以前にもこんな話題があったような気がするのですが、
フォームの画面遷移のときのデータの持ち回り方について・・・ 1.普通にhiddenで埋め込む 2.serializeしてbase64_encodeしたものをhiddenで埋め込む 3.serializeしてbase64_encodeしたものをセッションに書き込む などが考えられますが、 CakePHP的には、どの方法がベターでしょうか?
- 784 名前:773 mailto:sage [2008/05/09(金) 01:55:42 ID:???]
- サンプルコードまでご提示下さり、ありがとうございます。おかげでフル装備
じゃないや、スマートな実装ができました。 どうもありがとうございました。
- 785 名前:nobodyさん mailto:sage [2008/05/09(金) 09:23:43 ID:???]
- >>783
質問だけど。 3でbase64_encodeする意味合いって何があるの?
- 786 名前:nobodyさん mailto:sage [2008/05/09(金) 18:49:37 ID:???]
- >>783
自分は 1。 セキュリティがどうこうっていうプログラマーさんがいるでしょうけど・・・。
- 787 名前:783 mailto:sage [2008/05/09(金) 18:55:31 ID:???]
- >>785
すみません。よくわからないで書いてしまいました;; シリアライズだけで十分ですか? >>786 最終的にsaveするまえにしっかりバリデートすれば、それでも問題ないのかもしれませんね・・・ でもやっぱりソース見たときに、パスワードとかメールアドレスがもろに書いてあると、 このサイト大丈夫か??って気になりますが・・・ ちょっと気になったのですが、PEARのHTML_QuickForm_Controllerなんかは どの方法なんでしょうか??
- 788 名前:nobodyさん mailto:sage [2008/05/09(金) 20:19:38 ID:???]
- 貧乏人は贅沢だ
不満を言う余裕はあるくせに 戦争する暇もある
- 789 名前:nobodyさん mailto:sage [2008/05/10(土) 00:11:55 ID:???]
- >>787
ソース見られたらっていうのは確かにある。 しかもそれを無理矢理改ざんして入力不可の文字を入力される可能性もある。 しかし、よほどのサイトじゃないとそこまでハッカーも暇じゃないから攻撃しないのでは? と思います。 現に、ここ 5年ほど、何も問題ありませんでした。
- 790 名前:nobodyさん mailto:sage [2008/05/10(土) 16:35:26 ID:???]
- >>789
問題があってからじゃ遅いんだぞ! と思いつつも、もりもりhiddenに入れ込んでしまう。。
- 791 名前:nobodyさん mailto:sage [2008/05/10(土) 17:55:53 ID:???]
- >>787
セキュリティ目的ならbase64_encodeは用をなさないという認識。 >>789 データはhiddenで埋め込んでおいて、$this->dataをserialize後saltつけてハッシュ化したやつを別でhiddenに埋め込む ↑のふたつを比較して整合性チェックとか?
- 792 名前:nobodyさん mailto:sage [2008/05/10(土) 18:59:59 ID:???]
- 今、ここを覗いている筑波大学へ
ばれてるぞ!
- 793 名前:nobodyさん mailto:sage [2008/05/10(土) 19:29:59 ID:???]
- 別に半角文字列板とかじゃないんだからバレたっていいだろうに。
- 794 名前:nobodyさん [2008/05/11(日) 11:28:50 ID:qWqUPYxD]
- 日本語フォーラムと2ちゃん、どっちの方がコメントもらえるのかな?
と言いつつ、いつもこっちに書くのだけど・・・。 下の記事を参考に、携帯用ページを作っています。 ttp://www.1x1.jp/blog/2008/04/cakephp_12_routing_prefix.html で、paginateでページングされているのですが、ひとつ問題が。 pagineateの結果、下のようにURLが生成されるのですが、 携帯エミュレータ(P1エミュレータを使用)で確認したところ、 どうやら「page:2」のセミコロンが、有効な値ではないとエラーになるっぽいです。 <a href="/~recipe/m/responses/view/page:2">2</a> これって、どう対応すればいいのでしょう?
- 795 名前:nobodyさん mailto:sage [2008/05/11(日) 12:01:33 ID:???]
- app/config/routes.phpにRoute::connectNamed(array(),array('argSeparator'=>'=')); を追加
- 796 名前:794 mailto:sage [2008/05/11(日) 13:42:34 ID:???]
- >>795
Router::connectですね。 ふぉぉ、すぐに答えていただきありがとうございます! PC側の方もちょっと調整が入りますが、おかげで解決しました!
- 797 名前:nobodyさん [2008/05/12(月) 02:29:40 ID:8yg2YXGe]
- CakePHP1.2のバリデーションについてよく整理されたマニュアルとかってないかな
バリデーションルールが多様になったほかに、create時update時それぞれに有効無効に できるなんてこと知ったのだけど、その他含めてちゃんとまとまった情報ってないかな
- 798 名前:nobodyさん mailto:sage [2008/05/12(月) 18:22:39 ID:???]
- AuthComponentsで、ユーザー情報を取得し直したいとき、どのようにすればよいでしょうか?
たとえば、 ログイン後にユーザーメニューからユーザ名の変更などを行った場合、 セッションには変更前のユーザ名が格納されているため、 ヘッダーなどに表示されている 「ようこそxxさん」のような表示が変わらない、ということになってしまいます。 いちおうの解決策としては、 セッションにはIDのみを格納しておいて、 app_controllerで 毎回、$this->User->findByIdしてセッションに記憶させるという方法をとっていますが、 あまりスマートではありません; ユーザ名の変更処理の直後のみユーザ情報を取得しなおしたいのですが、 なにかよいアイデアはないでしょうか?
- 799 名前:nobodyさん mailto:sage [2008/05/12(月) 20:51:58 ID:???]
- >>798
なんとなくでレスしてるが変更と同時にセッション内容も書き換えればいいんじゃないの?
- 800 名前:nobodyさん mailto:sage [2008/05/12(月) 22:27:51 ID:???]
- 公開用Webサイトに1.2系使ってる人っている?
DBからデータをviewで表示するだけなら1.2でも大丈夫かな? 現在は1.1で運用中。 多言語対応が1.2でやりやすいのなら、1.2で作りかえるんだけど。
- 801 名前:nobodyさん mailto:sage [2008/05/12(月) 22:35:05 ID:???]
- >>800
俺はやっちゃったw 半年ぐらいCakePHP使っていて、コアの中まで見てると 大丈夫なんじゃないかなぁと思う。 バグではないが、ベータ版だから仕様が変わるのが ちょっとネック。
- 802 名前:794 mailto:sage [2008/05/13(火) 00:21:01 ID:???]
- >>800
いま、2ちゃんねるのレシピ集のサイトをCakePHP1.2で作ってます。 paginatorなどが使いたかったのと、バグっても差し支えないので。 で、ひとつバグらしきのに当たりました。 先に書いた通りのページを参考に、URLルーティングのprefixを使って 携帯用とPC用のページを作り分けしたのですが、この状態でpaginatorを使うと、 PC側のページで、$paginator->prev、nextで何故か携帯用のURL (/m/:controller・・・)へ飛ばされる事象が。 prefixを設定する前は発生していませんでした。 原因は不明ですが、これまた何故か$paginator->optionsの設定次第で 事象が発生したりしなかったりするので、発生したPC用ぺージでは、 $paginator->options(array('url'=>array("test" => 'test'))) と、ダミーのURLオプションを追加してごまかしています。
- 803 名前:nobodyさん mailto:sage [2008/05/13(火) 02:42:36 ID:???]
- 1.2の正式バージョンていつごろ出るのかな?
乗り換えるべきかどうか迷う・・・
- 804 名前:nobodyさん mailto:sage [2008/05/13(火) 13:48:12 ID:???]
- >>800
cakephp 1.1 も 1.2 も両方開発してアップしてますけど両方問題ないですよ。 ただ、モバイルサイトも作ろうと思えば 1.1 の wevservices が便利です。
- 805 名前:nobodyさん mailto:sage [2008/05/13(火) 18:13:48 ID:???]
- 1.2じゃなきゃ使いたくないズラ
- 806 名前:nobodyさん mailto:sage [2008/05/13(火) 19:48:08 ID:???]
- 画像表示系のコンポーネントを作って使うとき、
最後にheaderでContent-typeなどを指定するわけですが、 controller.phpのheader(”location...とかぶってしまって、エラーが出てしまいます。 みなさんはどのように処理しているのでしょうか? わかりずらくてすみません・・・;
- 807 名前:nobodyさん mailto:sage [2008/05/13(火) 19:56:04 ID:???]
- >>806
わかるわかる。 <img src="hoge.php?="> みたいなので読み出すやつでしょ? 僕はギブアップしましたね。 ttp://www.hideblog.net/thumbnails/ を使ってます。
- 808 名前:806 mailto:sage [2008/05/13(火) 20:02:52 ID:???]
- >>807
それです! わかってもらえて安心しました。 リンク先のものは、キャッシュに保存してそれを表示する、というものでしょうか? これはこれで便利ですが、やはりできればストレートに表示したいですね・・・
- 809 名前:nobodyさん [2008/05/13(火) 22:25:09 ID:Akbr9Dkj]
- >>806
ob_clean()はどうでしょう。
- 810 名前:nobodyさん mailto:sage [2008/05/13(火) 22:27:45 ID:???]
- >>807
まったくもって意味がわかりませんが たぶんこれで解決でしょう。 www.ideaxidea.com/archives/2008/01/cakephpcsv.html
- 811 名前:nobodyさん mailto:sage [2008/05/14(水) 09:31:44 ID:???]
- CakePHPの話題ではないかもしれませんが・・・
たとえばタスクをステータス別に表示する場合 コントローラ側で、 $this->set('yet_tasks', $this->Task->findAllByStatus('yet')); $this->set('done_tasks', $this->Task->findAllByStatus('done')); のように二度取得するのと、 $this->set('tasks', $this->Task->findAll()); として、 ビューで foreach ($tasks as $task) { if ($task['Task']['status'] == 'yet') { echo .... とするのでは、 どちらのほうがパフォーマンスが優れているのでしょうか? ご教授お願いします。
- 812 名前:nobodyさん mailto:sage [2008/05/14(水) 09:48:17 ID:???]
- どっちもだめ
- 813 名前:nobodyさん [2008/05/14(水) 09:49:25 ID:XltYBCAy]
- 前者のほうが毎回DBアクセスが発生するため速度という点でのパフォーマンスは悪いでしょうね。
後者のほうは、、ビューにあまりそこまで複雑なロジックを記述することによるコードの効率の悪さ という点でパフォーマンス難ありかも。 対象となるデータ量次第だけど、そこまでデータが多くなくてサーバのスペックが十分であれば前者の方が コーディングは早いんじゃね?個人的な意見だけど。
- 814 名前:nobodyさん mailto:sage [2008/05/14(水) 13:49:50 ID:???]
- 806です。
>>809>>810 その方法は試してませんでした。 次回やってみようと思います。 ありがとうございます。
- 815 名前:nobodyさん mailto:sage [2008/05/14(水) 14:46:18 ID:???]
- デザイナーの要望に応えてちょちょっと変更するときなんて、
viewいじった方が早かったりするんで、 ついついやっちゃうんだよなぁ。 んで、気づいたらviewがえらいことにw
- 816 名前:nobodyさん mailto:sage [2008/05/15(木) 00:40:28 ID:???]
- CakePHPかRuby on Railsかで迷ってます。
サーバー関連の知識が全くないのですが、 アプリ完成後の公開寸前で困らないためには、 CakePHPを選んでおいたほうが、すんなり公開できるでしょうか?
- 817 名前:nobodyさん mailto:sage [2008/05/15(木) 00:57:18 ID:???]
- >>816
どっちも自分で試したほうがいいと思う。 俺は慣れてるからCake好きだけど。 最低限のアプリ作って鯖置くまで試してみる事をオススメする。
- 818 名前:816 mailto:sage [2008/05/15(木) 01:04:37 ID:???]
- >>817
レスありがとうございます。 Cakeならば格安のレンタルサーバで試してみることもできるのですが、 Rubyとなるとそこそこ値の張るところでないとダメみたいで、 それだけのお金を出して、設置できなかったとなると・・・ 1.2の安定版ももうすぐみたいですし、 やっぱり初心者にはCakeなんですかねぇ・・・
- 819 名前:nobodyさん mailto:sage [2008/05/15(木) 01:14:45 ID:???]
- >>818
つ仮想サーバ または 適当な空きマシンでlinux
- 820 名前:nobodyさん mailto:sage [2008/05/15(木) 17:54:14 ID:???]
- レンタルサーバーで問題なのはお金よりも
むしろサーバーを管理できるかどうか。 www.fs-virtual.jp/spec/hikaku.html 945円/月〜 www.tsukaeru.net/plans/vps/ 2480円/月〜 www.ymc.ne.jp/service/managed/plan/index.html 4950円/月
- 821 名前:nobodyさん mailto:sage [2008/05/15(木) 21:43:23 ID:???]
- ☆ チン
☆ チン 〃 ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ヽ ___\(\・∀・)< 1.2まだー? \_/⊂ ⊂_)_ \_______ / ̄ ̄ ̄ ̄ ̄ ̄ ̄/| |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :| | .|/
- 822 名前:nobodyさん mailto:sage [2008/05/19(月) 16:23:52 ID:???]
- MediaView(/cake/lib/view/media.php)ってどう使うんだろう?
dsi.vozibrale.com/articles/view/mediaview-is-a-bleeding-bastard bin.cakephp.org/view/1026359650 を読む限り、特殊なファイルをダウンロードさせたいときとかに使うみたいだけど、 適当に読む限りファイルを出力するヘッダー情報の段階のことしか書かれていない。(あ、Viewの部分だから当然か) おそらく、データーベースからグラフをGDとかでスクリプト側で作ったものを表示する場合なんかで 使うんだろうけど、このスクリプトで合成した画像のバイナリデーターはどのタイミングで、どこの関数に格納すればいいのやら?
- 823 名前:877 [2008/05/20(火) 09:40:48 ID:xs/omlLe]
- IP/controller/
にアクセスするとIP/controller/indexが デフォルトで実行されますけど、このアクションを変えるには どうしたらいいですか?
- 824 名前:nobodyさん mailto:sage [2008/05/20(火) 11:01:51 ID:???]
- >>823
cakephp.jp/doc/ch04s03.html かな
- 825 名前:nobodyさん mailto:sage [2008/05/20(火) 11:16:01 ID:???]
- CakePHP 1.2 stable coming soon と言ってるから、そろそろ 1.1 -> 1.2 移行手順をまとめたいな
絶対に手を入れるところ 推奨されているところ とか はまりポイント とか
- 826 名前:nobodyさん mailto:sage [2008/05/20(火) 11:38:08 ID:???]
- ttp://puyo2.upper.jp/cake/ のPDFを中心に
■絶対に手を入れるところ ・設定ファイルの変更(Warning出しながら動くけど) # /app/config/core.php define('DEBUG', 1); → Configure::Write('debug', 2); → Configure::write('Security.salt', 'your original string'); # add ・ヘルパー変更に伴い、view全般 非推奨または廃止されたもの $html->input $html->submit $html->tagErrorMsg etc... 新たに強化・追加されたもの FormHelper PaginatorHelper XMLHelper ■推奨されている ・validatesに引数を渡さない $this->ModelName->validates($this->data); → $this->ModelName->data = $this->data['ModelName']; → $this->ModelName->validates(); ・viewの拡張子 action_name.thtml → action_name.ctp 間違いあったら訂正よろしく
- 827 名前:nobodyさん mailto:sage [2008/05/20(火) 13:22:09 ID:???]
- find系もなんか修正あったんじゃなったけ?
|

|