1 名前:nobodyさん mailto:sage [2008/06/20(金) 01:24:40 ID:???] www.cakephp.org/ 10分で作るCakePHPアプリ for Windows p4life.jp/cake/ マニュアル日本語化 www.cakephp.jp/doc/ Cookbook :: 1.2 Collection :: マニュアル book.cakephp.org/ja 日本語フォーラム cakephp.jp/modules/newbb/ あとこのへんとか(初心者向けTIPS) www.avatarfinancial.com/pages/cake/ CakePHP入門リンク集 ttp://pub.studio15.jp/2007/11/13/cakephp-links/ 【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/
530 名前:nobodyさん mailto:sage [2008/11/07(金) 14:13:15 ID:???] >>529 $this->data['Event']['imagedata']にイメージのバイナリがセットされています。 echo $html->image($form->value('Event.imagedata')); で表示させるとバイナリのまま表示されます。 それでimage.phpを作成して、header("Content-type:image/gif");を指定して 外部のPHPファイルで画像のバイナリを表示させようとしたのですが、 ビュー以下において単純な<img src="image.php">では呼び出せずにいます。 webroot以下やコントローラー以下にも配置したのですが同じでした。 ファイルの置き場所が悪いのでしょうか? それとも簡単に出来る方法があればよろしくお願いします。
531 名前:nobodyさん mailto:sage [2008/11/07(金) 14:51:26 ID:???] >>530 イメージのバイナリを画像表示用のviewに渡して、viewでheader吐けばいけそうだけど。 MVCの設計としてどうかは知らん 最終的には画像表示用のコントローラ作ればいいんじゃないかな
532 名前:nobodyさん mailto:sage [2008/11/07(金) 14:55:58 ID:???] >>531 ビューでheaderをはきたいのですが他にもHTMLがありますので、画像の部分だけ「Content-type:image/gif」とかを指定したいのです・・・
533 名前:nobodyさん mailto:sage [2008/11/07(金) 15:34:56 ID:???] >>532 メディアビューを使えばできますよ。 マニュアルのビューの所。
534 名前:nobodyさん mailto:sage [2008/11/07(金) 15:44:18 ID:???] >>533 メディアビューは初めて聞きます。 サンプルはバイナリファイルをダウンロードさせるようになっていますね。 画像の場合はどのようにすればいいのかまだ分かりません。 例えばMySQLから取得した画像のバイナリーデータを SNSのプロフィール画像のように表示させたいのです。。。
535 名前:nobodyさん mailto:sage [2008/11/07(金) 16:06:14 ID:???] なんかPHPをきちんとやらずに急にCake触ってる匂いが・・ >>532 そもそもHTMLと画像は別ファイルだよ。 外部のPHPファイルで画像表示に成功しているなら、viewに直接imgタグ書けばいいだけかと。
536 名前:nobodyさん mailto:sage [2008/11/07(金) 16:12:29 ID:???] ああ実物がないとメディアビューじゃダメか。失礼。
537 名前:nobodyさん mailto:sage [2008/11/07(金) 16:12:54 ID:???] beforeRenderでファイル吐いてexitしちゃえよw
538 名前:nobodyさん mailto:sage [2008/11/07(金) 16:37:20 ID:???] 1.HTMLを表示 2.MySQLから取得した画像のバイナリをイメージで表示 3.HTMLを表示 上みたいな感じなので、2のパートだけをContent-type:image/jpegにしたいのですが エレメントとかで分けてもheader("Content-type:image/jpeg");を記載したら URLだけしか表示されないのです。 そのままだとバイナリデータが表示されます。。。 おとなしく画像をアップしてパス指定で管理するしかないのですかね。。。
539 名前:nobodyさん mailto:sage [2008/11/07(金) 16:47:27 ID:???] cakePHPを使用しないのであればビューからPHPを呼べばできそうなのですが・・・ q.hatena.ne.jp/1141838059
540 名前:nobodyさん mailto:sage [2008/11/07(金) 17:31:48 ID:???] >>538 >>535 に書いたとおり、一つのファイルでHTMLと画像を兼ねるのは無理だよ?
541 名前:nobodyさん mailto:sage [2008/11/07(金) 17:40:49 ID:???] 画像をHTMLにアスキーデータで組み込むのは無理じゃないよ
542 名前:nobodyさん mailto:sage [2008/11/07(金) 17:53:54 ID:???] >>541 今回はそういう事を意図してない雰囲気はする
543 名前:nobodyさん mailto:sage [2008/11/07(金) 18:13:58 ID:???] >>542 ご回答ありがとうございます。なかなか難しいのですね。 cakePHPでSNSのプロフィール画像を表示させたいイメージなのです。 ファイルをアップしてリンクのテキストで対応するのは出来るのですが、 バイナリーで保存してやりたいということです。
544 名前:nobodyさん mailto:sage [2008/11/07(金) 18:32:58 ID:???] >>543 あなたには無理ですのであきらめてください。
545 名前:nobodyさん mailto:sage [2008/11/07(金) 19:05:29 ID:???] >>544 つまんねぇレスすんなハゲ これは使えないかな? サムネイルコンポーネント www.hideblog.net/nikkis/show/16 もっとスマートにできるなら俺も知りたい。
546 名前:nobodyさん mailto:sage [2008/11/07(金) 20:24:31 ID:???] ビューでバイナリを吐けるんだったら、レイアウトを空にして、ヘッダー付ければ出来ない? 文字データなら出来たけど。
547 名前:nobodyさん mailto:sage [2008/11/07(金) 21:14:59 ID:???] Railsなら簡単に出来たけど、Cakeだと難しいのかな。
548 名前:nobodyさん mailto:sage [2008/11/07(金) 22:25:45 ID:???] 別件でお取り込み中のところすみませんが、質問です。 コントローラのファイルを、種類によっていくつかのサブディレクトリに分け て配置することは出来るのでしょうか? app/controllers/hoge/hoge0_controller.php app/controllers/hoge/hoge1_controller.php app/controllers/fuga/fuga0_controller.php app/controllers/fuga/fuga1_controller.php このように複数のサブディレクトリを作り、その中にコントローラを分けて納 めるようなイメージです。 また出来るとしたら、それらのコントローラにはどのようなURLでアクセスでき るのでしょうか?
549 名前:nobodyさん mailto:sage [2008/11/07(金) 22:48:44 ID:???] >>548 book.cakephp.org/ja/view/48/CakePHP%E3%81%AE%E3%83%96%E3%83%BC%E3%83%88%E3%82%B9%E3%83%88%E3%83%A9%E3%83%83%E3%83%97
550 名前:nobodyさん mailto:sage [2008/11/07(金) 23:08:49 ID:???] >>549 なるほど、ありがとうございます。bootstrap.phpの$controllerPathsですか。 CakePHPでコントローラーを複数のディレクトリに整理する方法 - yandodの日記 d.hatena.ne.jp/yandod/20080510/1210416583 > 分散したディレクトリ内でファイル名やクラス名が衝突すると面倒な事になる > と思われますので接頭語を付けるなどして管理するのが良いかもしれません。 うーん。コントローラの名前空間は共通なのか。 URLのパス指定で、各ディレクトリを呼び分けるとか出来ないでしょうか?
551 名前:nobodyさん mailto:sage [2008/11/07(金) 23:29:48 ID:???] Base64エンコードしたデータ格納しといてMHTMLで表示しとけよwww
552 名前:nobodyさん mailto:sage [2008/11/07(金) 23:32:23 ID:???] mysqlの中に画像を入れるのは馬鹿だろ そもそもmysqlは画像データを格納するために作っていないから 画像はフォルダに入れて管理した方がいいと mysql作者が語ってるのに。 そんな自分もかけだしのときはmysqlに画像データ入れてました 管理は楽だけどね。かなりの負荷がかかる。 Bakeとか使う人も素人くさいと思う。
553 名前:nobodyさん mailto:sage [2008/11/07(金) 23:49:13 ID:???] >>552 同意。mysqlじゃなく適当なフォルダに画像を突っ込んだ方がいいよ。
554 名前:nobodyさん mailto:sage [2008/11/08(土) 00:12:16 ID:???] >>550 book.cakephp.org/ja/view/46/Routes%E3%81%AE%E8%A8%AD%E5%AE%9A Routes追加すればURL上は階層化されてるように見せることは出来るが、名前の衝突は回避できない。 コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。
555 名前:nobodyさん mailto:sage [2008/11/08(土) 00:14:48 ID:???] Bake便利だと思うけどな。 使うのはスキーマ検証時くらいだけど。
556 名前:nobodyさん mailto:sage [2008/11/08(土) 00:17:44 ID:???] そもそもBakeの使い方がわからないという。
557 名前:nobodyさん mailto:sage [2008/11/08(土) 00:19:20 ID:???] >>552 ,553 case by caseだとおもうけど DBでファイルのパス管理してたらそのファイルが消されてたりとか。 かといって参照頻度が高いときはDBに置きたくないしな さすがにデザインとかで使うような画像は普通に置いとくけどさ
558 名前:nobodyさん mailto:sage [2008/11/08(土) 01:37:22 ID:???] >>557 DBに入れておいて、参照されたらキャッシュを作り、そのキャッシュを送信するって方法もあるらしい。 2回目以降は早いし、ファイルが消えても問題ない。
559 名前:nobodyさん mailto:sage [2008/11/08(土) 02:27:53 ID:???] たしかにDBにも入れといたほうがバックアップは楽そうだね
560 名前:nobodyさん mailto:sage [2008/11/08(土) 02:50:18 ID:???] >>558 それ考えた奴天才じゃね?
561 名前:nobodyさん mailto:sage [2008/11/08(土) 03:22:53 ID:???] Cakephpでキャッシュオンにして簡単に実現できそうだ
562 名前:nobodyさん mailto:sage [2008/11/08(土) 07:55:27 ID:???] ここ 画像もDBに格納して管理する −扱いがめんどうなLOB(ラージオブジェクト)は使わない方法も含め neta.ywcafe.net/000774.html
563 名前:nobodyさん mailto:sage [2008/11/08(土) 11:22:34 ID:???] 画像格納に強いDBならいいけど mysqlは画像を格納するという目的で設計されてないからね だから画像をDBに入れるのが悪いというのではなく 画像をmysqlに入れるということがナンセンス
564 名前:nobodyさん mailto:sage [2008/11/08(土) 11:26:06 ID:???] mysqlは高速が売りだからね 画像格納させたいならoracleとかの方が合理的だと思うよ
565 名前:nobodyさん mailto:sage [2008/11/08(土) 11:33:20 ID:???] 画像表示のパフォーマンスを考えればLinuxファイルシステムが最強 DBと連携させて管理するのが面倒だけど、そこまで面倒な管理とも思えない 画像はデータの一つだからDB格納がよいという理念なら htmlもcssも全部DBに入れよということになる
566 名前:nobodyさん mailto:sage [2008/11/08(土) 11:38:58 ID:???] データはなんでもかんでもDBという流れの人は DBの持つ性能とバランスをどこまで考えてるの疑問に思う
567 名前:nobodyさん mailto:sage [2008/11/08(土) 11:42:47 ID:???] だからあくまでキャッシュ前提の話なんだろ
568 名前:nobodyさん mailto:sage [2008/11/08(土) 12:05:42 ID:???] dev.mysql.com/doc/refman/4.1/ja/tips.html 通常の Web サーバセットアップを使用する場合は、画像をファイルとして格納する。 言い換えると、データベース内にはファイル参照のみを格納する。この主な理由は、 通常の Web サーバのほうがデータベースコンテンツと比較してファイルのキャッシュに優れているためである。 このため、ファイルを使用したほうがシステムの高速化を容易に図れる。
569 名前:nobodyさん mailto:sage [2008/11/08(土) 12:09:44 ID:???] ファイルシステムによるキャッシュ前提なら、DBをバックアップするだけでユー ザのデータを一括管理できるというメリットしか存在しないと思うけどな。 Railsのときはそうやってて、非常に便利だった。
570 名前:nobodyさん mailto:sage [2008/11/08(土) 14:24:18 ID:???] >>554 > コントローラ名にパス名も入れればユニークになって衝突回避出来なくもないが、色々面倒なことになる。 了解です。ありがとうございます。 今回はbootstrap.phpの$controllerPathsでやって、名前の衝突についてはその 都度対処することにしようと思います。
571 名前:nobodyさん mailto:sage [2008/11/08(土) 15:12:49 ID:???] A hasMany B B hasMany C で C belongsTo D みたいなときのリレーションの貼り方が判らないんですが、 そもそも可能なんでしょうか? (Aを基点にA〜Dのテーブルからデータを取ってくる想定) SQL直書きでは勿論可能ですが。
572 名前:nobodyさん mailto:sage [2008/11/08(土) 15:56:39 ID:???] >>571 そこまでしてリレーションに拘るのは返って 生産性を落とす可能性があるから 要はバランスですね どこからSQLl直書きにするかの線引きはね
573 名前:nobodyさん mailto:sage [2008/11/08(土) 16:42:40 ID:???] MYSQLだから画像は駄目と硬直的に反応するのは駄目だな アクセス頻度やキャシュの実装、使い方や状況によって向いてる場合もあろう。
574 名前:nobodyさん mailto:sage [2008/11/08(土) 17:08:34 ID:???] 画像を表示させるにはフォルダにアップして管理するのが確実みたいですね。 簡単に出来るのなら採用したかったのですが・・・
575 名前:nobodyさん mailto:sage [2008/11/08(土) 18:47:57 ID:???] 個人情報が含まれる画像だとDBで管理するのが普通でしょ 履歴書の写真とか。
576 名前:nobodyさん mailto:sage [2008/11/08(土) 18:54:20 ID:???] ファイルシステムで管理するからと言って、直接見られるところに 置くわけでは無いと思うが。 認証チェック経由でファイルを返すのが普通でしょ。
577 名前:nobodyさん mailto:sage [2008/11/08(土) 19:06:19 ID:???] ファイルシステムで認証チェックしてファイル返す方法ってbasic認証のこと?
578 名前:nobodyさん mailto:sage [2008/11/08(土) 19:11:50 ID:???] 画像格納の話だけど ファイルパスのみDBに突っ込んで画像はファイルシステムから読み出すようにすりゃ良いんじゃないの? 画像データそのものをDBに突っ込む必要があるとしたら、 バイナリデータで検索する場合しかなくない?
579 名前:578 mailto:sage [2008/11/08(土) 19:15:44 ID:???] 他にもあるな。 例えばDBだとデータをまとめて暗号化するようなソリューションがある場合があるが ファイルシステムに保存するとそういう枠組みから漏れてしまう まあファイルシステムドライバで暗号化すれば良いだけなんだけど ドライバ方式とDB方式の差異はパフォーマンスくらいか それも特定ディレクトリだけ暗号化するようにすれば良いだけか
580 名前:nobodyさん mailto:sage [2008/11/08(土) 19:26:04 ID:???] <?php // 何かしらの認証チェック... header("Content-type: ..."); ... readfile( 直接ブラウズできないパスの画像ファイル ); ?> な処理をimgのsrcに指定。
581 名前:nobodyさん mailto:sage [2008/11/08(土) 19:32:38 ID:???] ブラウザ⇔phpは話題にしてないと思うんだけど php⇔hdd間での画像データのやり取りをどうするかって事だよね
582 名前:nobodyさん mailto:sage [2008/11/08(土) 20:14:49 ID:???] >>581 元は前者の話 相談者のスキルが異常に低かったのでなぜか後者の話に移った
583 名前:nobodyさん mailto:sage [2008/11/09(日) 06:03:18 ID:???] 画像をDBで管理てのもファイルシステムで管理てのも 同じくらい面倒だ、DB画像管理が最高に楽じゃない限り パフォーマンスのいいファイルシステムになる
584 名前:nobodyさん mailto:sage [2008/11/09(日) 06:10:19 ID:???] mysqlを画像に入れた場合のメリットが見えない。。。
585 名前:nobodyさん mailto:sage [2008/11/09(日) 07:31:37 ID:???] >>565 同感。
586 名前:nobodyさん mailto:sage [2008/11/09(日) 13:38:34 ID:???] >>565 > 画像はデータの一つだからDB格納がよいという理念なら > htmlもcssも全部DBに入れよということになる 画像はM htmlやcssはV DBには入れませんが。。。
587 名前:nobodyさん mailto:sage [2008/11/09(日) 13:55:11 ID:???] ユーザの作ったデータ(日々変動する)と、開発者の作ったデータ(基本的に リリース時で固定)は別物だと思うが。 前者をDBで一元管理できると便利だよ。 まあ抵抗のある人に無理強いするつもりはないし、個々人の自由だと思うけど。 自分はCakePHPでもこれがやれるならやりたいなあ。 何とか実現できないものか。
588 名前:nobodyさん mailto:sage [2008/11/09(日) 14:11:02 ID:???] スケールする/しない、管理できる規模/できない規模の話だからな。 条件があえば、DB管理で一元管理でも良いと思う。 この辺を思い出した。 ttp://neta.ywcafe.net/000774.html ttp://blog.livedoor.jp/techblog/archives/64648176.html
589 名前:nobodyさん mailto:sage [2008/11/09(日) 15:42:14 ID:???] MovableTypeとかCSSやHTMLテンプレートDBに入ってるだろ
590 名前:nobodyさん mailto:sage [2008/11/09(日) 15:47:24 ID:???] >>586 ページ上に表示されるような画像はVだよ そしてページ上に表示されない画像ならWEBシステムの中に入れておくべきものじゃない 画像でありながらMになりうるのは、画像検索システムのようなものだけ
591 名前:nobodyさん mailto:sage [2008/11/09(日) 15:48:39 ID:???] 例えば履歴書の画像データの話が出たけど それをWEB上からログインして観覧するようなシステムがあるならV 一切使い道が無いならWEBシステム外で保管しておくべきもの 無いと思うけどその画像で画像検索するならM
592 名前:nobodyさん mailto:sage [2008/11/09(日) 23:20:30 ID:???] >>590 検索対象じゃないとMになれないの? ↓そう読み取れなかったが ja.wikipedia.org/wiki/Model_View_Controller
593 名前:nobodyさん mailto:sage [2008/11/09(日) 23:25:24 ID:???] 設計にこれが絶対正解ってのはないでしょ。 要件次第だと思うよ。
594 名前:nobodyさん mailto:sage [2008/11/11(火) 09:18:04 ID:???] Vというのはファイル形式そのもので ファイルをバイナリーデータに変えたものがMである
595 名前:nobodyさん mailto:sage [2008/11/11(火) 09:55:03 ID:???] >>594 バイナリとかそんなデータ表現は一切問題じゃない
596 名前:nobodyさん mailto:sage [2008/11/11(火) 11:39:47 ID:???] Mはデータを扱う仕組み Vはデータを表示する仕組み Cはデータを操作する仕組み 画像はデータなのでそのどれでもないと思うが
597 名前:nobodyさん mailto:sage [2008/11/11(火) 11:48:43 ID:???] 「扱う」と「操作する」の日本語の違いがわからないっす 辞書には > あつか・う〔あつかふ〕【扱う】 > 道具・機械などを、使ったり操作したりする。取り扱う。 ってあったっす
598 名前:nobodyさん mailto:sage [2008/11/11(火) 12:46:42 ID:???] Cは操作限定 Mはデータの出し入れや変換、型決めなど広範囲に扱える
599 名前:nobodyさん mailto:sage [2008/11/11(火) 18:28:03 ID:???] MとかVとかなにいうてんねんとおもったら、MVCのことだったのか
600 名前:nobodyさん mailto:sage [2008/11/11(火) 18:41:57 ID:???] SとMなら分るんだけどな
601 名前:nobodyさん mailto:sage [2008/11/12(水) 01:29:19 ID:???] 画像の加工はモデルに突っ込むね コントローラはモデルで引っ張ったデータをチェックしてビューに渡すだけだな
602 名前:nobodyさん mailto:sage [2008/11/12(水) 09:05:32 ID:???] 再利用する頻度の少ない加工処理はコントローラに書いてるよ モデルに書くと生産性が落ちる なぜなら 再利用できるように関数化させるのが手間 再利用が2回程度ならコントローラ上でコピペが最短
603 名前:nobodyさん mailto:sage [2008/11/12(水) 09:12:09 ID:???] あとモデルが厚くなりすぎると 総体的にコード量が多くなる。 なぜなら symfonyのように MとVのやりとりが直接出来ないから Cに橋渡し的なコードを書かないといけない分 コード量が増える symfonyのうような仕様なら モデルをどんどん厚くすべきだが CakePHPの場合は モデルを厚くしすぎるのも 作業効率が落ちると思う
604 名前:nobodyさん mailto:sage [2008/11/12(水) 17:43:12 ID:???] book.cakephp.org/ja/view/73/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B ここ見るとfind系が全部find()に統合されたって書いてあるけど、 findAllByって使っちゃっていいの? 特に非推奨とは書いてないけど。 findByとfindAllByだと配列で条件指定する新しい形式が使えなくて nullを並べる旧形式のままだから、条件指定方法が統一できなくて ちょっと気持ち悪いんだけど… 新形式の条件指定に対応しないってことは、そのうちマジックメソッド自体が 消える予定なのかな。 調べてみたけど、日本語だとこれくらいしか記事がない d.hatena.ne.jp/ichiichinini/20081104/1225832073
605 名前:nobodyさん mailto:sage [2008/11/12(水) 17:55:00 ID:???] findByGoogle
606 名前:nobodyさん mailto:sage [2008/11/12(水) 20:14:45 ID:???] >>604 find系てfind()でほとんど出来ると思うので 最初から意味の無さそうな機能だなとは思ってた したがってfind()で統一してる人ばかりだと思うんで どうでもいいよ
607 名前:nobodyさん mailto:sage [2008/11/12(水) 20:23:16 ID:???] 似たような処理を持つ関数をやたら増やすもんでは無いと思う。 可読性とコーディング量は改善されるけど。 いつも使わない関数だとすれば、単なる無駄
608 名前:nobodyさん mailto:sage [2008/11/12(水) 20:32:06 ID:???] CakePHPの良いところは データのやりとりが配列思考なところなんだよね というのはphp自体が壊れたオブジェクト指向だから 配列思考型のフレームワークはphpにはピッタリだと思う。 あと配列思考型は中小規模にも適してる CakePHP自体が中小規模を対象として設計されてると思う rubyは完成されたオブジェクト指向言語だから rorのようなオブジェクト指向型でのデータのやりとりがマッチする
609 名前:nobodyさん mailto:sage [2008/11/12(水) 20:36:33 ID:???] >>603 > MとVのやりとりが直接出来ないから つーかやったらいかんだろw MVCって何か知ってるか。 まあそんなにやりたきゃ、viewにmodelを渡せばいいだけ。
610 名前:nobodyさん mailto:sage [2008/11/12(水) 21:16:40 ID:???] >>609 viewにmodelを渡せばいいだけ 具体的にお願いします
611 名前:nobodyさん mailto:sage [2008/11/12(水) 21:43:29 ID:???] $this->set($this->Model)
612 名前:nobodyさん mailto:sage [2008/11/13(木) 01:50:37 ID:???] >>608 ルビリンのことかーーーーーーーーっ!!!
613 名前:604 mailto:sage [2008/11/13(木) 11:26:34 ID:???] >>606-607 やっぱりfind()で統一の方向なのか… AND検索はマジックメソッド使った方が書きやすいから好きだったんだけど。 今後はfind()で統一してみる。
614 名前:nobodyさん mailto:sage [2008/11/13(木) 12:56:14 ID:???] できるだけモデルに書いた方が いいと思うんだけどなぁ・・・。 再利用するかしないかは別として。 まぁ、個人的な意見なのですが。
615 名前:nobodyさん mailto:sage [2008/11/13(木) 16:20:24 ID:???] 理由も書いてくれないと賛も否も
616 名前:nobodyさん mailto:sage [2008/11/13(木) 18:25:42 ID:???] コントローラにごちゃごちゃ書くとユニットテストがしにくい
617 名前:nobodyさん mailto:sage [2008/11/13(木) 20:23:44 ID:???] CakePHP本家はモデルを厚くすべきと書いてあるけど 生産性を第一に考えると関数化してモデルに入れるよりも コントローラ内で同じ構文を連続コピペした方が早い場合もあるんだよね。 例えば、納期がほとんどないという、追い込まれた状況なら わざわざ関数化するのも時間がかかるじゃん、そういう意味もあるんだな 時間が限りなくあるなら、出来るだけ関数化してモデルに入れるのがベストだけどさ
618 名前:nobodyさん mailto:sage [2008/11/13(木) 20:26:25 ID:???] 関数化させる手間をどうバランス取るかだと思うんだが・・・
619 名前:nobodyさん mailto:sage [2008/11/13(木) 20:32:36 ID:???] モデルを厚くするというのは、ある程度 CakePHPでの経験が無いと、いきなりは、逆に時間がかかり 重要である生産性が落ちると思う。 経験を積みながら、少しずつリファクタリングすてモデルを厚くしていく方法がベストかな
620 名前:nobodyさん mailto:sage [2008/11/13(木) 22:47:32 ID:???] 先月からCakeさわり始めて、 コントローラーにコードを書きまくってたんだが、 徐々に慣れてきてからは、モデルを厚くする方が良さそうだなという感想。
621 名前:nobodyさん mailto:sage [2008/11/14(金) 15:37:31 ID:???] 1.2RC3がうごかない、インストールしたディレクトリにアクセスしても画面が真っ白になっちゃう って現象に陥った人っていらっしゃいますか? ブラウザ?と思ったんですが、どのブラウザでも真っ白になっちゃいます。 1.1系で試したらうまくいくのに…。 mod_rewriteも有効、phpのバージョンもOK、パーミッションも変更済み。 .htaccessの内容も確認しましたが、1.1と1.2で同じでした。 同じ現象にぶち当たった方、いらっしゃったら教えてください><
622 名前:nobodyさん mailto:sage [2008/11/14(金) 15:43:57 ID:???] 設定もしくはコーディング失敗したら真っ白になるけど
623 名前:nobodyさん mailto:sage [2008/11/14(金) 15:59:49 ID:???] デバッグレベルあげろよ
624 名前:621 mailto:sage [2008/11/14(金) 16:23:40 ID:???] >>622 うーん、落としてきたモノをそのまま展開してるだけなんですよね。 どっかで間違えたのか・・・ >>623 デバッグレベルは3にしてあります。 それでも真っ白なんです><
625 名前:nobodyさん mailto:sage [2008/11/14(金) 16:25:23 ID:???] >624 PHPかApacheのログ見れ。 多分、cakeの問題ではない。
626 名前:621 mailto:sage [2008/11/14(金) 16:46:03 ID:???] >>625 ありがとうございます。 でも、それらしいエラーは見あたりませんでした。。 でもなんとなくサーバーっぽい気はします。
627 名前:nobodyさん mailto:sage [2008/11/14(金) 17:34:28 ID:???] Shift_JIS で保存してるとか?
628 名前:nobodyさん mailto:sage [2008/11/14(金) 17:36:59 ID:???] サーバーっぽいってなんだよw エラー無いのに何も表示されないなら何も出力しない処理に成功してるって事だろ
629 名前:621 mailto:sage [2008/11/14(金) 18:29:19 ID:???] >>627 確認したんですが、それもなさそうです。。 >>628 そうですねw いや、設定かなぁと。RewriteBaseとか。 でも別のサーバでは特に追記しなくても普通に動くので、なんだろう、と。
630 名前:nobodyさん mailto:sage [2008/11/14(金) 19:48:22 ID:???] 1.1 -> 1.2RC2 のときに同じ現象陥った。 結局訳が分からず、一念発起して、1.2で書き直したけど。 同じかなあ?
631 名前:630 mailto:sage [2008/11/14(金) 19:50:04 ID:???] あ、ごめん。移行の話じゃないか。スマン
632 名前:nobodyさん mailto:sage [2008/11/14(金) 19:51:34 ID:???] config/database.phpで文字コード明示とか、どう?
633 名前:nobodyさん mailto:sage [2008/11/14(金) 22:25:29 ID:???] NetBeand 6.5RC2使ってみたんだが、デバッグ時のmod_rewriteって対応してないの? Eclipse+XDebug、NetBeansでCake mod_rewite無し版だとちゃんと使えるんだが・・・
634 名前:nobodyさん mailto:sage [2008/11/15(土) 00:12:16 ID:???] NetBeandって何?
635 名前:621 mailto:sage [2008/11/15(土) 01:03:38 ID:???] >>632 うーん・・ダメっぽいです。 とりあえず今回は時間もないので1.1で作ることにします。 いろいろとありがとうございます。
636 名前:nobodyさん mailto:sage [2008/11/15(土) 02:07:44 ID:???] そんなレベルでいいのか仕事だろ
637 名前:nobodyさん mailto:sage [2008/11/15(土) 02:18:29 ID:???] PHPで動いてるんだから何かしらエラーは出るはずじゃないの? 例えそれがフレームワーク側のバグだとしても。 過去に経験があったのは文字コードの違いで真っ白になると言う事はあった。 コードに複数の文字コード混じったりしてない? それ以外はページ上なりapacheログなりにエラー出てたが・・・。
638 名前:nobodyさん mailto:sage [2008/11/15(土) 02:19:34 ID:???] 最悪、フレームワークのコードにデバッグメッセージ入れて どこで止まってるか突き止めるのは可能だね
639 名前:nobodyさん mailto:sage [2008/11/15(土) 08:21:24 ID:???] webrootのindex.phpをコメントアウトして、適当にphpinfoとか出してみたら? 表示が出なければApacheの設定の問題 出たらコメントアウトを1行ずつ外してデバッグメッセージ出して試していく
640 名前:621 mailto:sage [2008/11/15(土) 11:24:41 ID:???] 諦められなくていろいろといじっていましたw >>636-639 みなさんありがとうございます。 アドバイスしてくださったようにいろいろ試してみました。 webroot上のファイルがきちんと拾えました。 ということで、mod_rewriteの設定がおかしいようではないようです。 で、現状わかったのは、とりあえず処理としてはdispacher.phpを 読み込むところまでは来ていることがわかりました。 (bootstrap.phpの最後まで) もうちょっと調べてみます。 ここまで来たら動かしたい。
641 名前:nobodyさん mailto:sage [2008/11/15(土) 18:45:37 ID:???] テーブル名を複数形にしろ、っていうけど 頭文字とった略語ってあるじゃん PHP、DB、FWなんてのもそうだけど そういうのに複数形つけるのに抵抗感があるんだけど、普通なこと?
642 名前:nobodyさん mailto:sage [2008/11/15(土) 19:01:10 ID:???] BBSをbbsesって書かないといけないんだよね? bbsなら一目だけどbbsesじゃ一瞬分からないから やりたくないんだよなあああ
643 名前:nobodyさん mailto:sage [2008/11/15(土) 19:03:19 ID:???] ちょw テーブル名bbsesだとモデル名bbse テーブル名bbsだとモデル名bb テーブル名bbssだとモデル名bbss だめじゃんwwww
644 名前:nobodyさん mailto:sage [2008/11/15(土) 19:10:27 ID:???] >>642 BBSをモデルにする設計が問題じゃね? BoardとかThreadとかEntryとかにすればいいんじゃないか?
645 名前:nobodyさん mailto:sage [2008/11/15(土) 19:12:01 ID:???] 略語で最後がsで終わるものは 非略語にしないとダメっぽ 本当にこんなことしなきゃいけないのか・・・ 中途半端に略語でも最後がs以外なら大丈夫なのが困る 英単語って全部非略語にしたらすっごい分かりにくくなると思うし
646 名前:nobodyさん mailto:sage [2008/11/15(土) 19:14:29 ID:???] >>644 略語にされてる英単語に規則なんて無い ただ長いものは略語にされてそれが広まってる BBSの件はboardでもギリギリ分かるしそうするつもりだけど 他にもいくらでも略語はあるんだよね CDでもDVDでも、ISBNでもISDNでもADSLでも それらを非略語にする事に強い抵抗感があるんだがw
647 名前:nobodyさん mailto:sage [2008/11/15(土) 19:19:38 ID:???] OSを複数形にしてossなんて書いたらオープンソースかと思っちゃうな AS,BS,CS,DS,ES,FS,GS,HS,,,,,,,,,,,, いくらでもsで終わる略語があるんだが
648 名前:nobodyさん mailto:sage [2008/11/15(土) 19:20:51 ID:???] 全て小文字と言う制約も手伝って最悪な事になってるなw
649 名前:nobodyさん mailto:sage [2008/11/15(土) 19:25:32 ID:???] 略語じゃなくても末尾がsで終わる単語の複数形に正しく動作しない www.cpa-lab.com/tech2/inflects/ bbses,bbs,bbss全てモデル名がおかしなことになる aases,aas,aassでも同じだから
650 名前:nobodyさん mailto:sage [2008/11/15(土) 20:51:02 ID:???] どうでもいいがBBSのSってSystemのSだぞ そもそも命名規約がおかしいっての
651 名前:nobodyさん mailto:sage [2008/11/15(土) 20:52:05 ID:???] ちなみにNewsは正しく使える どちらもNewsのまま
652 名前:nobodyさん mailto:sage [2008/11/15(土) 21:08:11 ID:???] >>650 何が言いたいの?
653 名前:nobodyさん mailto:sage [2008/11/15(土) 21:13:25 ID:???] 全部明示的にテーブル指定すればいいじゃん
654 名前:nobodyさん mailto:sage [2008/11/15(土) 21:17:17 ID:???] 命名規約にルール追加は可能だけど でもそれ本来は多言語対応や既存テーブルのためでしょ 新規テーブルで正しい英語の複数形つけて対応出来ないケースがあるのはおかしい
655 名前:nobodyさん mailto:sage [2008/11/15(土) 21:23:48 ID:???] 最初の質問者じゃないけど・・ よく foreach ($posts as $post) { echo $post['Post']['title] ...... みたいのが出てくるけど、 BBSとかNEWSの場合はどうしてる? 無理やり foreach ($newses as $news) { ...... とするのか、それとも foreach ($news as $entry) { ...... みたいにするのか・・・
656 名前:nobodyさん mailto:sage [2008/11/15(土) 21:34:41 ID:???] そもそも、略語の複数形って一般的な英語にあるのか? 例が思いつかないのだが。
657 名前:nobodyさん mailto:sage [2008/11/15(土) 22:01:06 ID:???] CDs、OSsなんかは見かける。 一般的な英語では略語は普通大文字だが、 cakephpではテーブル名は全て小文字にしなきゃいけないからさあ大変
658 名前:nobodyさん mailto:sage [2008/11/15(土) 22:02:35 ID:???] 単にテーブル名は大文字、ってすれば良かった気がするんだけどね 複数形部分のみ小文字で CDs,OSs PROGRAMMERs WEBSITEs これでよかったのに
659 名前:nobodyさん mailto:sage [2008/11/16(日) 00:39:32 ID:???] >>652 データベースにシステムを格納するかってことだろ? 格納するのはboardの情報とboardに書かれた記事(contentsやarticleみたいな)だろ それを管理するシステムを総称してBBSになるんじゃないのか
660 名前:nobodyさん mailto:sage [2008/11/16(日) 00:40:39 ID:???] >>659 そんなのは問題じゃなくない? ずれた事言ってるよね君 一般的に全ての場合において正しい設計をすれば 略語の複数形で困る事なんて無い、って言えるなら別だけどw
661 名前:nobodyさん mailto:sage [2008/11/16(日) 00:40:50 ID:???] >>657 cd_infomations os_informations 格納するのはCDやOS自体ではなくそれに関する情報だろ
662 名前:nobodyさん mailto:sage [2008/11/16(日) 00:43:43 ID:???] >>661 頭悪い奴は黙ってろ usersをuser_informationsとすべき理由なんて無い cdやosの複数形に困るから苦し紛れでつけるに過ぎないだろ 情報機器であるサーバマシンのDBに入っているものが情報である事なんて明示する必要が無さ過ぎる
663 名前:nobodyさん [2008/11/16(日) 00:45:51 ID:l+j4XBOD] 実装に困らない回避例出してくれてるのに、 英語原理主義にこだわってかみついてる奴ってなんなの?
664 名前:nobodyさん mailto:sage [2008/11/16(日) 00:46:33 ID:???] >>662 命名規約はフレームワークに合わせてねってだけのこと 嫌ならフレームワーク使うな
665 名前:nobodyさん mailto:sage [2008/11/16(日) 00:47:15 ID:???] あくまで苦し紛れの回避策でしかないのに それがあたかも回避策ですら無くすべての命名はこう行うべきだというニュアンスで言ってるからだろ
666 名前:nobodyさん mailto:sage [2008/11/16(日) 00:50:45 ID:???] systemはDBに格納するものじゃないだの 全てのテーブルには末尾に_informationsをつけるべきだの(格納するのはそれ自体じゃなくて情報だもんね?wwww) 電波過ぎるだろ
667 名前:nobodyさん mailto:sage [2008/11/16(日) 01:00:21 ID:???] ものすごい曲解ですね
668 名前:nobodyさん mailto:sage [2008/11/16(日) 01:07:42 ID:???] _informationsとつけるのは回避策であって >格納するのはCDやOS自体ではなくそれに関する情報だろ この様に一般的な解釈のもと行う事じゃない こんな苦肉の策をとらなきゃいけないのかという話なのに さも当然の事のようにこんな事主張されてもw
669 名前:nobodyさん mailto:sage [2008/11/16(日) 01:11:08 ID:???] それがフレームワークの制約という奴です 嫌ならCakeやRoRの使用はお控えください
670 名前:nobodyさん mailto:sage [2008/11/16(日) 01:14:58 ID:???] 実際問題開発の現場でも、フレームワークのここが自由にできないって 開発止める奴いるから仕方ないよ。
671 名前:nobodyさん mailto:sage [2008/11/16(日) 01:16:59 ID:???] 別にこの回避策は既にやってるし良いんだが これが一般的な解釈のもとやる事だと言われたら納得できるわけないだろwww しかも数レス引っ張って何かすごい意見を持ってるのかと聞き出したらこれじゃあなw
672 名前:nobodyさん mailto:sage [2008/11/16(日) 01:18:41 ID:???] そうなんだ そこまでDBの名前に拘るのって 神経質ではないの? DBの名前の不自由さ>cakeを使うこと って単純な話なの??
673 名前:nobodyさん mailto:sage [2008/11/16(日) 01:21:00 ID:???] いやお前の方が曲解だろwwww そんな気になるならせいぜい100万回でも俺の文章読み直してろ低脳
674 名前:nobodyさん mailto:sage [2008/11/16(日) 01:25:27 ID:???] wを2個以上使った時点で議論は負けだ
675 名前:nobodyさん mailto:sage [2008/11/16(日) 01:28:52 ID:???] これを議論と捕らえてるのがおかしい 相手は何も主張してないし、俺はそいつがどれ程頭の悪い考え方をしてるのかを親切で教えてやりたいだけだからなww
676 名前:nobodyさん mailto:sage [2008/11/16(日) 01:29:31 ID:???] 会ったら良い人なのに…(たぶん
677 名前:nobodyさん mailto:sage [2008/11/16(日) 01:31:37 ID:???] 実際あったら>>670 の部下だったとか
678 名前:nobodyさん mailto:sage [2008/11/16(日) 03:47:10 ID:???] 命名の話題になっているので、聞きたいのですが、 watchlistとかguestbookのような場合、テーブル名は やはり複数形にするのでしょうか? ウォッチリストやゲストブックが複数あるわけではないので、 ちょっと違和感があるのですが・・・ それとも、上で話されていたように、 guestbook_entriesのようにするのが妥当でしょうか?
679 名前:nobodyさん mailto:sage [2008/11/16(日) 04:24:01 ID:???] どっちでもいいと思うが
680 名前:nobodyさん mailto:sage [2008/11/16(日) 14:59:56 ID:???] ポインタ(Pointer)の配列・・・ ポインタのポインタの配列・・・ ポインタのポインタの配列の配列・・・ ポインタの配列のポインタの配列・・・
681 名前:nobodyさん mailto:sage [2008/11/17(月) 10:02:05 ID:???] >>678 guestbook_をつけるかどうかは他モデルとのかぶり具合によるけど entriesのようにするのが、適切でしょうな foreach ($entries as $entry) ... みたいな
682 名前:nobodyさん mailto:sage [2008/11/18(火) 01:37:43 ID:???] ER図の作成ソフトどうしてる? cakeの規約に揃うように設定できるものがみつからない
683 名前:nobodyさん mailto:sage [2008/11/18(火) 13:09:08 ID:???] ちなみにforeachの右側の命名は一律で良いと思います 変数はforeach宣言したときに初期化されるし わざわざ命名する時間は省ける foreach ($entries as $line) foreach ($entries as $k => $v)
684 名前:nobodyさん mailto:sage [2008/11/18(火) 17:07:52 ID:???] まあそれでいいかもね コード見る時はforeach見た時点で配列の順次処理なんだと分かるし
685 名前:nobodyさん mailto:sage [2008/11/19(水) 00:26:30 ID:???] 2重以上のループの時は辛い $v2とかすればいいのかもしれんが、階層に依存した名前は付けたくないな。
686 名前:nobodyさん mailto:sage [2008/11/19(水) 00:41:14 ID:???] 関数化できそうだな 各階層用のコールバック関数の配列を引数に取って順次処理するような 内部では自分を再帰的に呼び出すようにしておけばforeach自体は一つで済む
687 名前:nobodyさん mailto:sage [2008/11/19(水) 01:22:24 ID:???] それは気持ち悪いというか美しくないとうか。 それにforeach外のローカル変数にアクセスできなくなるし。 手間という意味では本末転倒。
688 名前:nobodyさん mailto:sage [2008/11/19(水) 02:21:00 ID:???] foreachの中が長くなるようならちゃんと名前をつける。 コードを読むときに、foreachを含めて一塊で読むか foreachの中だけを読むか。 短いコードならforeachも含めて一塊にして読むが 長ければ、ループする処理ってのはおいといて、 中身だけを取り出して読む。 塊の中で名前が適当でもわかるなら(つまり前者)省略してもいいが、 塊の中でいきなり$vとか出てきてもわからないだろう?(つまり後者)って 時はちゃんと名前をつける。
689 名前:nobodyさん mailto:sage [2008/11/19(水) 12:31:25 ID:???] そういや、ちょっと前にfindの話でメソッドをまとめるのがよいって話あったけど、 クラスのプロパティに代入するメソッドを作る場合、 setPramA($data); setPramB($data); とプロパティごとに作るより、 set('paramname',$data); として一カ所にまとめたほうが幸せなんすか?
690 名前:nobodyさん [2008/11/20(木) 05:51:48 ID:/cM24YKo] find all で、フィールドのひとつを計算式含ませて、ASで名前をつけているのですが, Doc.count *100 AS Doc__score 出力が [0] => Array ( [Doc] => Array ( [id] => 6064 [title] => regulations ) [0] => Array ( [Doc__score] => 165.34334421158 ) ) のようになってしまいます。 どうにか[Doc]の配列に計算したscoreを含めるようにできないでしょうか? cake1.2RC3, MYSQLです。
691 名前:nobodyさん mailto:sage [2008/11/20(木) 09:46:38 ID:???] >>690 Doc.count *100 AS Doc.score じゃなかったっけか
692 名前:nobodyさん mailto:sage [2008/11/21(金) 18:42:51 ID:???] すみませんが、質問です。 cake bake で自動生成されるコードのインデントを、TABではなくて半角スペー ス4つにしたいのですが、それを設定する方法があったら教えていただけないで しょうか?
693 名前:nobodyさん mailto:sage [2008/11/21(金) 18:52:01 ID:???] >>692 scaffoldなら cake/libs/view/scaffolds のファイルを書き換えたら良かったはず bake も利用しているかもよ
694 名前:693 mailto:sage [2008/11/21(金) 19:00:30 ID:???] >>692 cake/libs/templates/views こっちかも
695 名前:nobodyさん mailto:sage [2008/11/21(金) 20:32:03 ID:???] >>633-694 ありがとうございます。自分でももっと調べてみます。
696 名前:nobodyさん [2008/11/22(土) 16:36:33 ID:qo4yapkz] auth compornent使いはじめたのですが、 暗号化されたパスワードを復号化する時って、どんなして処理してます?
697 名前:nobodyさん mailto:sage [2008/11/22(土) 18:09:23 ID:???] CakePHPのデフォルトってSHA256だろ? だったら複合化は無理だろ 可逆暗号に変える必要があるが、セキュリティを落としてまで複合化する必要性ってなんだ?
698 名前:696 [2008/11/22(土) 18:25:21 ID:qo4yapkz] >>697 ユーザ自身にパスワードの変更をさせたいのですが、 入力フォームのデフォルトに、復号化した値を入れたいなーと思ったんです。
699 名前:nobodyさん mailto:sage [2008/11/22(土) 21:10:29 ID:???] すみません、細かい質問なのですが、 controller.php のソースで、 $this->{$this->modelClass} という記述がよく見つかります。 これは何をしているのでしょう? そもそも、$this->{何か} という記述がどのような動作になるのか、わかりま せん。教えていただけないでしょうか?
700 名前:nobodyさん mailto:sage [2008/11/22(土) 21:13:10 ID:???] ちょっと補足します。 $this->プロパティ名 なら、どういう動作かはもちろんわかります。 $this->{何か評価される式} というのが、どういう振る舞いをするのかわから ないのです。 ためしにこんなことをしてみましたが、エラーになりました。 $x = "hoge"; $this->{$x}; // エラー
701 名前:nobodyさん mailto:sage [2008/11/22(土) 21:19:42 ID:???] マニュアルくらい読んでからやろうよ
702 名前:nobodyさん mailto:sage [2008/11/22(土) 21:31:35 ID:???] >>701 マニュアルとは、PHPマニュアルのことでしょうか? 一応見たのですが、該当箇所がわかりませんでした。 search.net-newbie.com/php/language.oop5.html ちなみにさっきの件は、少し不正確でした。$this だとうまく行きますが、そ れを代入した変数だとうまく行きません。 class Test { ; ;var $hoge = 1; ; ;function fuga() { ; ; ; ;$x = "hoge"; ; ; ; ;var_dump($this->$x); ; ;} } $test = new Test(); $test->fuga(); // int(1) var_dump($test->"hoge"); // error $thisだけ、プロパティ名自体を変数にできるようです。
703 名前:nobodyさん mailto:sage [2008/11/22(土) 21:32:18 ID:???] あ、余計な ; が入ってしまった…。
704 名前:nobodyさん mailto:sage [2008/11/22(土) 21:32:34 ID:???] 単なる可変変数です
705 名前:nobodyさん mailto:sage [2008/11/22(土) 21:38:19 ID:???] >>704 可変変数って、$$x という風に、$が多重になっているものだと思うのですが…。 search.net-newbie.com/php/language.variables.variable.html >>702 のコードには、$$ は一つもありません。
706 名前:nobodyさん mailto:sage [2008/11/22(土) 21:42:30 ID:???] $this->{$this->modelClass} あるじゃん
707 名前:nobodyさん mailto:sage [2008/11/22(土) 21:49:23 ID:???] >>706 ??すみませんが、おっしゃることがわかりません。 grep "$$" で一行も返ってこないのですが、それでも可変変数なのですか? そして、もし単なる可変変数なのなら、 class Test { var $hoge = 1; function fuga() { $x = "hoge"; var_dump($this->$x); //これはOK。 } } $test = new Test(); $test->fuga(); $x = "hoge" var_dump($test->$x); // これはNG. こうなるのはなぜなのでしょう?
708 名前:nobodyさん mailto:sage [2008/11/22(土) 21:52:16 ID:???] {$this->modelClass} この部分が可変なんだろ
709 名前:nobodyさん mailto:sage [2008/11/22(土) 22:04:46 ID:???] $$が書いてあれば可変か 字面しか理解できない阿呆の典型だな
710 名前:nobodyさん mailto:sage [2008/11/22(土) 22:22:44 ID:???] jp.php.net/manual/ja/language.variables.variable.php ここのnote欄に、膨大な試行錯誤が見つかりました。 可変変数には、undocumentedな振る舞いがたくさんあるようです。 どうやらこれが答えですね。 こういうundocumentedな挙動って、いつ廃止されるかわからないものでしょう に、フレームワークに利用するとはすごい話だと思うんですが、考えてみたら documentedな関数の振る舞いもPHPはしょっちゅう変わるんでしたっけ。
711 名前:nobodyさん mailto:sage [2008/11/22(土) 22:25:32 ID:???] うちらに聞かれても
712 名前:nobodyさん mailto:sage [2008/11/22(土) 23:27:45 ID:???] >>707 書き方も間違ってるし変数のスコープが分かってない。 コンストラクタやセッター的なもので オブジェクトから見える場所に代入してないんだから fugaメソッドを呼ぶまで、testインスタンスの中からは$xは見えない。
713 名前:nobodyさん mailto:sage [2008/11/22(土) 23:46:37 ID:???] 初心者さんかもしれないけど、OKとNGだけでなく 何のエラーが出るのか、そのエラーは何が原因なのか、そのエラーの解決方法は何か って辿っていくのがプログラミングのコツだよ
714 名前:nobodyさん mailto:sage [2008/11/23(日) 03:34:16 ID:???] >>698 何も入力してなかったら変更しない してあったらそれに変更だろJK
715 名前:696 [2008/11/23(日) 04:48:20 ID:l1Rm9lxO] >>714 うーん、まぁそうですね。 しかしAuth compornent使うと、パスワード一覧表とか表示するのも結構大変てことなんすかね
716 名前:nobodyさん mailto:sage [2008/11/23(日) 05:06:33 ID:???] どんだけセキュリティポリシー甘いんだよお前の会社は
717 名前:nobodyさん mailto:sage [2008/11/23(日) 06:16:38 ID:???] paginateでcurrent_date以前の物だけ表示みたいのってどうやるのかな? array('hogehoge' => current_date) array('hogehoge' => '日付') みたいな感じだと `hogehoge` = `日付` みたいにしかならないよね? current_dateはともかく日付指定でも不等号条件は使えないのかな?
718 名前:696 mailto:sage [2008/11/23(日) 06:19:23 ID:???] >>716 いえ、仕事じゃないです。ていうか、このレベルでphpの仕事出来ないかと… でもあれですね、こういうことは普通しないってことは解りましたです。 もし、やりたいなら入力時に別のカラムに生のパスワード入れる方法を思いつきましたので、 そうすることにします。皆さんお相手くださってありがとうございました。
719 名前:nobodyさん mailto:sage [2008/11/23(日) 06:47:23 ID:???] >>717 array('hogehoge <=' => current_date)
720 名前:nobodyさん mailto:sage [2008/11/23(日) 07:45:49 ID:???] >>719 ズバリです ありがとうございます ('hogehoge' => '<= current_date') とか最初やってて悩んじゃいました
721 名前:nobodyさん mailto:sage [2008/11/23(日) 12:17:59 ID:???] >>718 AuthComponentは、暗号化の方法を変えられるよ。 もし(セキュリティ的に問題なくて)、パスワードを可逆にしたいなら。 ttp://d.hatena.ne.jp/ngtn/20080311/1205245777
722 名前:nobodyさん mailto:sage [2008/11/23(日) 12:39:53 ID:???] 質問です。 Controller::paginate() の第一引数 $object が与えられなかった場合、 paginate()の戻り値は、controllerのデフォルトのmodelのインスタンスになる と思うのですが、それって公式なドキュメントのどこに書いてあるのでしょうか? APIドキュメントには、$object = null, と書いてあるだけで、実際nullだった場合の paginate() の挙動については書かれていません。 api.cakephp.org/class_controller.html#6f79c1eed018894aede112c294087345
723 名前:nobodyさん mailto:sage [2008/11/23(日) 12:54:38 ID:???] >>722 ソースはそうなってるね。 00882 } elseif (empty($object) || $object == null) { 00883 if (isset($this->{$this->modelClass})) { 00884 $object = $this->{$this->modelClass}; ドキュメントが必要?
724 名前:nobodyさん mailto:sage [2008/11/23(日) 13:28:06 ID:???] >>723 やっぱりソースを読むしかないのでしょうか? > ドキュメントが必要? あってほしいですね。ドキュメントに載ってない機能って、いつ廃止変更され るかわからないから。
725 名前:nobodyさん mailto:sage [2008/11/23(日) 17:29:12 ID:???] ソースコード見れば、すぐにわかるんだから 詳細なドキュメントあってもなあ 該当記事を探すのに時間かかるし、英語だら翻訳とか余計手間だ
726 名前:nobodyさん mailto:sage [2008/11/23(日) 17:30:39 ID:???] >>712 > >>707 > 書き方も間違ってるし変数のスコープが分かってない。 > > コンストラクタやセッター的なもので > オブジェクトから見える場所に代入してないんだから > fugaメソッドを呼ぶまで、testインスタンスの中からは$xは見えない。 別に間違っていないと思うのですが。 最終行の$xは、その一行前で定義されたグローバル変数です。 function fuga() の中で定義されているローカル変数とは 別のものです。 $y = "hoge" var_dump($test->$y); // これはNG. 変数名を変えたら紛らわしくなかったかもしれません。
727 名前:nobodyさん mailto:sage [2008/11/23(日) 17:34:04 ID:???] >>726 クラスの初歩的な質問なら、スレが違う気がする。。。
728 名前:nobodyさん mailto:sage [2008/11/23(日) 17:35:34 ID:???] >>724 ドキュメントに載っていようが、RCの場合は変更されてもしょうがない。(事実findをはじめ変更多々あり) paginateは、もう変更は無いだろうが
729 名前:nobodyさん mailto:sage [2008/11/23(日) 17:37:43 ID:???] >>726 該当と思われるスレ 【PHP】下らねぇ質問はID出して書き込みやがれ 76 pc11.2ch.net/test/read.cgi/php/1226517332/ PHPでOOP pc11.2ch.net/test/read.cgi/php/1172205352/
730 名前:nobodyさん mailto:sage [2008/11/23(日) 17:44:50 ID:???] >>712 氏への反論なのでここに書いたのですが、 確かにスレ違いなので、こちらに移りましょう。 【PHP】下らねぇ質問はID出して書き込みやがれ 76 pc11.2ch.net/test/read.cgi/php/1226517332/
731 名前:nobodyさん mailto:sage [2008/11/23(日) 17:44:59 ID:???] fuga内の$xはfugaの単なるローカル変数。Testのメンバ変数ではない。
732 名前:nobodyさん mailto:sage [2008/11/23(日) 17:51:46 ID:???] >>731 それはわかってますし、>>726 でも「ローカル変数」って書いてます。 取り合えず>>730 のスレにお越しください。
733 名前:nobodyさん mailto:sage [2008/11/23(日) 18:08:06 ID:???] 喧嘩がしたかったようだね('A`)
734 名前:nobodyさん mailto:sage [2008/11/23(日) 18:12:23 ID:???] わざと喧嘩腰でデタラメ書いて、 顔真っ赤にした人が正解を書くのを釣るタイプ。 このタイプはもう飽きたよ。
735 名前:nobodyさん mailto:sage [2008/11/23(日) 18:12:48 ID:???] >>733 > 喧嘩がしたかったようだね('A`) なんでそうなるのかぜんぜん理解できない。 誤解を訂正して誘導しただけじゃん。
736 名前:nobodyさん mailto:sage [2008/11/23(日) 18:14:32 ID:???] >>734 ぜんぜん釣りじゃないよ。 どこがデタラメなのか真剣に知りたいんだけど。
737 名前:nobodyさん [2008/11/24(月) 17:47:59 ID:V2OhDKFB] Cakeで開発されたアプリをUMLのシーケンス図などで記述するとどのように 書けるのか、サンプルをご存知のかたいませんか??
738 名前:nobodyさん mailto:sage [2008/11/24(月) 18:21:36 ID:???] CakeというかMVCモデルでさがしたほうがいいよ。
739 名前:nobodyさん mailto:sage [2008/11/24(月) 23:29:29 ID:???] シーケンス図なら考えるまでもないような気がしないでもない
740 名前:nobodyさん mailto:sage [2008/11/26(水) 15:03:25 ID:???] 画像フォルダをアプリ毎に分けたくて、下記の様な構成でimgフォルダの下にフォルダを切ってファイルを置きました。 /cake/app/webroot/img/hoge/icon/aaa.gif Viewではヘルパーを使って、$html->image('hoge/icon/aaa.gif', array('border' => 0))として呼んでいます。 これをPHP4が乗っているサーバー上で実行すると、画像が表示されず、 ソースを見てイメージタグのsrcに指定されているアドレスを直接叩くと下記のエラーが出てしまいます。 Missing Controller Error: ImgController could not be found. また元々/cake/app/webroot/img/にあった、cake.power.gifは正常に画像が表示され、 イメージタグのソースに表示されているアドレスを直接叩いても画像が表示されています。 ローカル環境では事情によりPHP5を使用しているのですが、こちらでは正常に表示されています。 PHP4だとこの画像管理方法は出来ないのでしょうか?それとも設定でしょうか?
741 名前:740 mailto:sage [2008/11/26(水) 15:17:25 ID:???] 書き忘れ。cakephpは1.2.0.7692 RC3です。
742 名前:nobodyさん mailto:sage [2008/11/26(水) 16:03:06 ID:???] >>740 htaccess は、正常に動作しているの? webroot/img が存在するなら、index.phpに飛ばない(missing controllerにならない) php4だと/img 以下にディレクトリを作れないということはないね。少なくとも
743 名前:nobodyさん mailto:sage [2008/11/26(水) 16:09:19 ID:???] >>740 追加 webroot/hoge が存在していなくても、missing controller にはなる (ディレクトリ名のtypoとかも、あやしいかな)
744 名前:nobodyさん mailto:sage [2008/11/26(水) 16:10:13 ID:???] ごめん webroot/img/hogeだった
745 名前:740 mailto:sage [2008/11/26(水) 16:30:50 ID:???] >>742 htaccessは正常に動作していると思っています。 理由は、www.hogehoge.ne.jp/php/cake/img/cake.power.gif だと正常にアクセス出来ているからです。 これをwww.hogehoge.ne.jp/php/cake/img/board/icon/aaa.gif にすると、Missing Controllerになるので、違う原因だと考えていました。 この考え方自体が変ですかね・・・。 .htaccessは元のファイルに下記の様にRewriteBaseを追加しています。 cake直下 RewriteBase /php/cake cake/app直下 RewriteBase /php/cake/app cake/app/webroot直下 RewriteBase /php/cake/app/webroot dispatchがPHP4だとうまく動かないのかと考えていましたが違うみたいですね。 後、typoはローカルで動作しているファイルを全てアップロードしているので無いと思います。 実際にFTPで確認しても間違ってなさそうでした。
746 名前:740 mailto:sage [2008/11/26(水) 16:46:48 ID:???] すいません。分かりました。 ファイル名が全角なのがダメみたいでした。 $form->selectに画像入れたフォルダ配下のファイル名から拡張子を除いた物を表示させて アイコンを選択させようと手抜きをしたのがダメでした。 ローカルで出来たのはWindowsだからですかね。(サーバーはLinux)
747 名前:nobodyさん mailto:sage [2008/11/26(水) 16:51:43 ID:???] >>745 やっぱりhtaccessっぽいね。 webroot直下のやつを見直すと幸せになれそうな気がする RewriteBaseは必要なのかい?
748 名前:740 mailto:sage [2008/11/26(水) 17:36:45 ID:???] >>747 ありがとうございます。 調べてみて、webroot直下のhtaccessに、下記を追加することで、「Missing Controller」は出なくなりました。(404エラーになります) RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$ 原因はやっぱり日本語ファイル名で、これをffftpでアップロードしていたことだと思います。 UTF-8対応版のftpクライアントでアップロードすることで、正常にアクセス出来る様になりました。 RewriteBaseはググってみて、共有サーバーで使用する時の設定に書かれていたので無いとダメなのかと思って入れています。
749 名前:nobodyさん mailto:sage [2008/11/26(水) 19:22:08 ID:???] cakePHP1.1使ってるんですけど、 debugモードを0にしたらセッションが切れる!みたいな 現象に出くわした方っています?
750 名前:nobodyさん mailto:sage [2008/11/26(水) 21:58:19 ID:???] >>749 cakephp.jp/modules/newbb/viewtopic.php?topic_id=817&forum=9 これかな?
751 名前:749 mailto:sage [2008/11/26(水) 22:15:23 ID:???] >>750 情報ありがとうございます。 うーん、securityはmediumでやってるんですよねぇ。なんなんだろう・・。
752 名前:nobodyさん mailto:sage [2008/11/27(木) 12:33:29 ID:???] >>751 セッションが切れるという症状を詳しく
753 名前:nobodyさん mailto:sage [2008/11/27(木) 23:19:45 ID:???] cakePHP を使いはじめたところで、さっそくどうしていいかわからなくて 困ってしまったんですが、 css を webroot/css 配下においた時、views/layouts/default.ctp で その css を読み込ませたい のですが、これはヘルパを使うべきですか? <link href="css/base.css" rel="stylesheet" type="text/css" /> こんな感じで直書きしてもよんでこないのですが、これは /css/base.css のように絶対パスで 書くべきなのか、ヘルパをかますべきなのか、はたまた何か設定がまずいのが よくわかっていません。 アドバイスをお願いします。
754 名前:nobodyさん [2008/11/28(金) 00:28:08 ID:dURk+lTo] >753 >これは /css/base.css のように絶対パスで 試してみた?おそらく結果でわかるはず。 また、ヘルパ使うかどうかはどっちでもいいような。 個人的にはヘルパ使うけど。
755 名前:nobodyさん mailto:sage [2008/11/28(金) 02:37:47 ID:???] いつ1.2は製品版になるん?
756 名前:nobodyさん [2008/11/28(金) 03:12:08 ID:8hLcD3C8] 1.1と、1.2の実行速度ってどう? 1.2が遅いので1.1を新規でも使ってる人はいる?
757 名前:nobodyさん mailto:sage [2008/11/28(金) 03:16:26 ID:???] 1.2の方がはやいんじゃないの? パフォーマンスの改善がメインでしょ1.2て
758 名前:nobodyさん mailto:sage [2008/11/28(金) 03:17:57 ID:???] これから作るところなんだけど 1.2がRCだから1.1つかってる
759 名前:nobodyさん mailto:sage [2008/11/28(金) 03:40:07 ID:???] cakephpってバージョンに依存しない確立されたバージョンアップ手順ってあるの? このバージョンではこうする、とかじゃなくて 常にこうすれば確実にバージョンアップ出来るみたいな
760 名前:nobodyさん mailto:sage [2008/11/28(金) 06:36:27 ID:???] 1.2の日本語マニュアルだけど 1.1のマニュアルに比べて日本語が変なところが多い コピーしてきたらいいのにね
761 名前:nobodyさん mailto:sage [2008/11/28(金) 14:02:15 ID:???] CakePHPに限った話じゃないかもしれないのですが, <?php e($html->css('my_css_1')); ?> <?php e($html->css('my_css_2')); ?> を出力した場合, HTMLソース上では改行されずに出力されます. 動作に支障はないとはいえ気持ち悪いので, 改行させたいのですが 何かよい方法はないでしょうか?
762 名前:nobodyさん mailto:sage [2008/11/28(金) 14:54:05 ID:???] >>761 間に空行を空ける or ?>の横にTabを入れる
763 名前:nobodyさん mailto:sage [2008/11/28(金) 16:02:50 ID:???] Windows vista に XAMPP をインストールして cakephp の稼動環境を作りました。 1つうまくいかない事がありますのでご教示頂けるとうれしいのです。 mod_rewrite は有効にし、.htaccess も設定しました。 /htdocs/test/ 配下を環境とします。 /htdocs/test/app/webroot/js/ にいくつか javascript を入れました。 /htdocs/test/app/views/layouts/post.ctp を作り、その中で、 <script src="js/hoge/hoge.js" type="text/javascript"></script> のような記述がしてあります。 次に post という、コントローラ、ビュー、モデルが作ってある状態で、 post_controller.php には var $layout ="post"; としてあります。 ここで、 localhost/test/post/ にアクセスすると、apache の accesslog に、 "GET /test/post/js/hoge/hoge.js HTTP/1.1" 200 とログが残ります。 どのように webroot/js/ の中身を参照すればいいでしょうか?
764 名前:nobodyさん mailto:sage [2008/11/28(金) 16:12:45 ID:???] >>763 10個前のレスと同じじゃんね。 俺ならヘルパー使うけど。vendorsに突っ込んだJSとかCSSも読んでくれるし。
765 名前:nobodyさん mailto:sage [2008/11/28(金) 16:30:47 ID:???] >>763 app/views/layouts/default.ctp を読みましょう。
766 名前:763 mailto:sage [2008/11/28(金) 16:36:33 ID:???] >>764 そうか、css も javascript も同じ考え方なんですね。10個前のレスが同じ 問題だと理解できていませんでした。 さっそくヘルパーを調べ、使ってみました。意図したように動作しました。 ありがとうございます。 1つ不安な所があるのでちゃんと理解したいと思うのですが、 layouts や elements の中にある .ctp などで、javascript のヘルパーを使った場合、 それを呼び出す全てのコントローラーに、 var $helpers = array('Html', 'Javascript'); の記述を行なう、という事であっていますでしょうか?
767 名前:nobodyさん mailto:sage [2008/11/28(金) 17:46:08 ID:???] >>766 app_controller.php に記述すれば全controllerで読み込まれる 'Html'は指定せずとも読み込まれる
768 名前:nobodyさん mailto:sage [2008/11/28(金) 23:02:30 ID:???] cakephpってなれてくると vendor 使わないよね。 最初の頃使いまくってたけど最近全然使わなくなった。 その代わりコンポーネントを使うようになってく。
769 名前:nobodyさん mailto:sage [2008/11/29(土) 13:54:28 ID:???] そのうち、モデルとビヘイビアが多くなっていくよw
770 名前:nobodyさん mailto:sage [2008/11/30(日) 23:56:45 ID:???] 1.2RC3 class HogeController extends AppController { var $name = 'Hoge'; var $uses = array("Fuga","Hage"); のようにコントローラと違うモデルを指定して function index() { $this->set('data', $this->paginate("Fuga")); } とやるとページングが使えなくなってしまうのは仕様なんでしょうか…
771 名前:nobodyさん mailto:sage [2008/12/01(月) 00:30:15 ID:???] 訂正 コントローラと同じ名前のモデルでもなる所はなるな… scaffoldで生成しなおした画面は大丈夫だからもう一回見てみるか
772 名前:nobodyさん mailto:sage [2008/12/01(月) 00:51:17 ID:???] 自己解決 1ページ内でpaginateを2つ以上やると片方死ぬのね…
773 名前:nobodyさん [2008/12/01(月) 15:03:11 ID:uBVWzlfV] webrootに置いたphpファイルに、viewの結果を差し込む方法ってありますか? 別途DBのライブラリ使って直接DBから検索するのが一般的なんですかね
774 名前:nobodyさん mailto:sage [2008/12/01(月) 15:38:36 ID:???] >>773 file_get_contents()とかつかえばできるんじゃない? 部分的ならajaxで読み込むとか。
775 名前:nobodyさん mailto:sage [2008/12/01(月) 17:08:02 ID:???] >>773 質問の意味が理解できていないかもしれないけど、 Object にある requestAction メソッドはどう?
776 名前:nobodyさん mailto:sage [2008/12/01(月) 18:58:54 ID:???] >>773 通常はwebroot直下にオリジナルのphpファイルは置かない。 一般的には、DB読むようなファイルなら、pages以下に持ってくる。 (必要ならURL書き換えれば良いし)
777 名前:nobodyさん mailto:sage [2008/12/01(月) 22:26:27 ID:???] >>772 それ、なんだっけ。2つ以上つくれるよ。 実際俺つくったし。やり方忘れた。がんばれ。
778 名前:nobodyさん mailto:sage [2008/12/01(月) 23:13:14 ID:???] それ解説してるサイトってないから手順確立したらヒーローになれるな
779 名前:nobodyさん mailto:sage [2008/12/02(火) 10:27:07 ID:???] ビヘイビアって実際どうなの? メール送信ビヘイビアってあるでしょ。 結局コントローラーで qbmailとか使わないといけないからさほど メリットがないような気が。 英語だけならビヘイビアでいけるだろうが、日本語だからな。 文字化けが。。。 インクリメント・デクリメント以外の便利な使い道を師匠。教えて下さい。
780 名前:nobodyさん mailto:sage [2008/12/02(火) 14:29:46 ID:???] cakephpって世界で最も使われてるとか言うけど 結構下火だよね 関連開発しょぼいし 本家すら
781 名前:nobodyさん mailto:sage [2008/12/02(火) 14:34:47 ID:???] symfonyとcakephp使ったけど cakephpはコード生成が弱すぎ masterbakeやpowerbakeがあるけど本家開発に組み込まれてるわけじゃなく バージョンアップ追いついて無いし 標準のbakeだとテーブル一つ毎にモデル作れとかフィールド一つ毎にバリデーション指定しろとかやってられん 機能少ない割にsymfonyより遅いし
782 名前:nobodyさん mailto:sage [2008/12/02(火) 14:57:00 ID:???] これはものすごい誤認識の方がいらっしゃいました
783 名前:nobodyさん mailto:sage [2008/12/02(火) 19:51:38 ID:???] >>781 こういうこと言いに来る時点でCakePHPを評価してるって思われるのにな。
784 名前:nobodyさん mailto:sage [2008/12/02(火) 20:15:49 ID:???] 例えば新規作成を行なう add と、登録済みデータを修正する edit を コントローラに用意するとき、view は、add と edit と2つのファイルを用意すると 思います。 ただ、add の時も edit の時も入力項目は同じで、ページ遷移後の状態が、 空白か、呼び出したデータが表示されているか?程度の差しかないような画面の時でも、 add, edit の view は用意しておくものでしょうか? それとも、add と edit の両方をまかなえる view を作って、コードで処理させるほうが いいのでしょうか?
785 名前:nobodyさん mailto:sage [2008/12/02(火) 20:40:05 ID:???] >>782 「僕すごい事知ってるよ」 じゃなくて具体的な例を出せ >>783 言いに来てるのは既に仕事で使ってて使わざるを得ないからなのと こういう事が書かれてれば最初から使わなかったってことだな
786 名前:nobodyさん mailto:sage [2008/12/02(火) 21:19:32 ID:???] そういう事は仕事場で提案してみればいいんじゃないかな。 確かに参考にはなるけど。
787 名前:nobodyさん mailto:sage [2008/12/02(火) 21:55:16 ID:???] >>784 たぶん1.2からだけど、bakeして吐き出されたviewは、editとaddを共通化している それを知ってから、すべてのadd.ctpを削除した admin_edit とかもすべて共通化したら、viewの数が激減してすっきりしたよ
788 名前:nobodyさん mailto:sage [2008/12/02(火) 23:36:54 ID:???] symfonyよりCake重いとか
789 名前:784 mailto:sage [2008/12/02(火) 23:43:37 ID:???] >>787 情報ありがとうございます。1.2 を使っているので早速 bake してみましたが、 add, edit は別にはきだされました…。 1.2.0.7692 なので、最新だと思うのですが…。
790 名前:nobodyさん mailto:sage [2008/12/02(火) 23:58:07 ID:???] そういう意味じゃなくてaddとeditで吐き出されてるものはほぼ同じだから どっちか消してどっちかだけ使えば?って話じゃないの?
791 名前:nobodyさん [2008/12/03(水) 01:04:53 ID:WkUpG3Q2] ベロベロベロベロオオオオオオオオオオオ んんー、ほんのりオシッコの味がするよ!!
792 名前:nobodyさん mailto:sage [2008/12/03(水) 01:06:12 ID:???] 誤爆った
793 名前:nobodyさん [2008/12/03(水) 01:43:34 ID:o3/nvN5X] 俺がきたよ f.hatena.ne.jp/images/fotolife/b/begorian/20070111/20070111005904.jpg
794 名前:nobodyさん mailto:sage [2008/12/03(水) 01:45:36 ID:???] また誤爆った
795 名前:nobodyさん mailto:sage [2008/12/03(水) 09:35:31 ID:???] >>789 あれ?そうなの? と、思ったら、記憶違いでscaffold使ったときのことだったかも /cake/libs/view/scaffolds にはadd.ctp無かったから(rc3で確認) でも、どっちか消したほうがオススメなのは確か $form-> create , input は共通で使えるだろうから
796 名前:nobodyさん mailto:sage [2008/12/03(水) 13:24:13 ID:???] cakephpってfkのインデックスの名前にも規約ある?
797 名前:nobodyさん mailto:sage [2008/12/03(水) 13:45:22 ID:???] id
798 名前:nobodyさん mailto:sage [2008/12/03(水) 13:48:04 ID:???] それはフィールド名じゃなくインデックスの名前もってこと?