- 1 名前:nobodyさん [2012/05/01(火) 16:58:44.53 ID:fVBzm1/A]
- CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ 質問するときはCakePHPのバージョンを書きましょう ※他フレームワークとの比較等はスレ違いです テンプレは>>1-5くらい には無いかも ■本家 www.cakephp.org/ APIドキュメント api.cakephp.org/ the Bakery bakery.cakephp.org/ CakeQs cakeqs.org/ CheatSheet (PDF) cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf github - cakephp github.com/cakephp ■日本語公式 cakephp.jp/ フォーラム cakephp.jp/modules/newbb/ cookbook(マニュアル) book.cakephp.org/ja 前スレ 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 kohada.2ch.net/test/read.cgi/php/1320768310/
- 381 名前:365 mailto:sage [2012/07/18(水) 15:55:03.20 ID:???]
- なぜか直りました・・・まだなにもアップロードしていないのに・・・
わけがわからん・・・ いやここにいる人も僕以上にわけわかってないと思うのですが、 当人もわかっていません まず >>377 はその通りです。 >>379-380 は、全formが急にこうなっていたので、書き間違えなどは無いと思います。 >>378 ああ、それを試したかったですね・・・ 不可解すぎて今日眠れそうにないです。。。
- 382 名前:365 mailto:sage [2012/07/18(水) 15:57:18.12 ID:???]
- わけわかんねえええええええええええええ
まず 不可解1 最初のinputだけ送られる、 しかも全フォームで という謎の挙動 不可解2 急に直る まだなにもアップロードしてない こええ・・・
- 383 名前:nobodyさん mailto:sage [2012/07/18(水) 15:59:51.85 ID:???]
- クライアントサイドがおかしいとしか思えないが?
- 384 名前:365 mailto:sage [2012/07/18(水) 16:01:21.18 ID:???]
- >>383
と、思ってスマホでもPOSTしてみましたが、 最初のinputのみ送られていました
- 385 名前:nobodyさん mailto:sage [2012/07/18(水) 16:32:06.06 ID:???]
- キャッシュの問題とかじゃねーの
- 386 名前:nobodyさん mailto:sage [2012/07/18(水) 16:52:26.92 ID:???]
- >>360
おれはお前をすきになれそうだぜ。ゥホ。
- 387 名前:nobodyさん mailto:sage [2012/07/18(水) 16:57:40.65 ID:???]
- echo $this->Form->inputs(array('User.email','User.password'));
こっちだとどうなんだろ?
- 388 名前:nobodyさん mailto:sage [2012/07/18(水) 17:49:20.92 ID:???]
- phpの設定とキャッシュのせい
- 389 名前:nobodyさん mailto:sage [2012/07/18(水) 18:04:13.59 ID:???]
- 動かなくなる前と後で何をしたのか記録に残してないとかいう時点で
Cake云々言う前に論外。
- 390 名前:nobodyさん mailto:sage [2012/07/18(水) 18:20:44.17 ID:???]
- ビューが吐き出したコードはどうなってんの?
必要最小限のコードでビュー(レイアウト含む)を作って、吐き出したコードさらしてみ? あと中途半端にオレオレ入れるのって大抵時間とかが足らないので 仕様をよく理解できてないパターンだよな。 少なくとも FormHelper 使えないっていう人初めて見たわ。
- 391 名前:nobodyさん mailto:sage [2012/07/18(水) 18:23:51.98 ID:???]
- ファイルアップロードとかメール送信ならともかく、
フォーム関係でFormHelper使わずに何とかするって それ、Cake使う意味無いだろw
- 392 名前:nobodyさん mailto:sage [2012/07/18(水) 18:53:13.37 ID:???]
- まぁ、時間とかが足らないんだろw
- 393 名前:nobodyさん mailto:sage [2012/07/18(水) 18:56:47.21 ID:???]
- >>368
>とりあえずCake使う時は、提供されてる機能を無理に使おうとしないことだ >ちょっと試して期待した動作しなかったらやめる >ちょっと試して期待した動作しなかったらやめる >ちょっと試して期待した動作しなかったらやめる >ちょっと試して期待した動作しなかったらやめる >ちょっと試して期待した動作しなかったらやめる >ちょっと試して期待した動作しなかったらやめる >ちょっと試して期待した動作しなかったらやめる >ちょっと試して期待した動作しなかったらやめる なるほど、時間とかが足らないんだな
- 394 名前:nobodyさん mailto:sage [2012/07/18(水) 21:00:57.07 ID:???]
- 頓珍漢な回答者ほど邪魔なものはない
- 395 名前:nobodyさん mailto:sage [2012/07/18(水) 21:32:59.34 ID:???]
- そんな自虐的なこと言うなよ
- 396 名前:nobodyさん mailto:sage [2012/07/24(火) 23:11:24.05 ID:???]
- >>362
> formヘルパーにエラーを出すメソッドがある。 > APIリファレンス読んでみ ねーじゃん!!!1.3だよ?!
- 397 名前:nobodyさん mailto:sage [2012/07/24(火) 23:34:02.18 ID:???]
- >>396
どこを見てんの?2秒で見つかったぞ
- 398 名前:nobodyさん mailto:sage [2012/07/24(火) 23:41:28.03 ID:???]
- api13.cakephp.org/class/form-helper
いやないないない!ないだろ! $form->error()じゃなくて、エラー全部出すやつだよ?!
- 399 名前:nobodyさん mailto:sage [2012/07/25(水) 00:30:12.80 ID:???]
- this->autoRender = false
にすると、全てのビューに関する処理は スルーされるって認識で良いですかね?
- 400 名前:nobodyさん mailto:sage [2012/07/25(水) 02:36:41.75 ID:???]
- メソッド内で明示的に Controller::render() を呼び出さない限りはね。
※2.x以上しか知識ありません。念のため。
- 401 名前:nobodyさん mailto:sage [2012/07/25(水) 02:38:31.88 ID:???]
- いや待て、やっぱり「全てのビューに関する処理」ってのが気になるな。
Dispatcher とかが裏でゴソゴソViewクラスに値を渡したりとかはやってるよ?
- 402 名前:nobodyさん mailto:sage [2012/07/25(水) 10:48:07.13 ID:???]
- >>400-401
ビューをDBで管理しようと思いまして、>>399にすれば 余計な処理を実行させなくても良いのかな?と思っていました。
- 403 名前:nobodyさん mailto:sage [2012/07/25(水) 11:51:23.40 ID:???]
- >>398
おい、これどうなった!やっぱないのかい?
- 404 名前:nobodyさん mailto:sage [2012/07/25(水) 20:40:10.91 ID:???]
- >>403
viewの中でdebug($this); あとはわかるな?
- 405 名前:nobodyさん mailto:sage [2012/07/25(水) 22:22:16.55 ID:???]
- >>402
きっとDispatcher周りの大改造が必要になるぜ 無理とは言えないが、かなり仕様を理解しないとだめだろうな この程度の質問にすらすら答えられるようじゃないとドツボにハマるよ まぁでもどうなるのか見てみたい 進捗を報告してくれ
- 406 名前:nobodyさん mailto:sage [2012/07/25(水) 22:44:54.46 ID:???]
- >>404
フォームヘルパーちゃうやん!!!!!
- 407 名前:nobodyさん mailto:sage [2012/07/25(水) 22:56:14.30 ID:???]
- なにをごちゃごちゃ言ってんだこのキチガイは
まとめたのを出すメソッドがないから何なんだ
- 408 名前:nobodyさん mailto:sage [2012/07/25(水) 23:27:27.44 ID:???]
- >>407
ちゃぶだいひっくり返すなよ^^;
- 409 名前:nobodyさん [2012/07/27(金) 13:43:34.69 ID:Ij5uT65n]
-
----- ・名前を入力してください ・メールアドレスを入力してください ----- 名前[ ] !名前を入力してください 都道府県[▼東京都 ] メールアドレス[ ] !メールアドレスを入力してください inputの下には自動で出してくれるんですが、 一番上にあるようなエラーの一覧が欲しいんです 本当にお願いします。
- 410 名前:nobodyさん mailto:sage [2012/07/27(金) 13:57:29.16 ID:???]
- >>409
しつこい >>404で解決済み
- 411 名前:nobodyさん mailto:sage [2012/07/27(金) 14:01:38.23 ID:???]
- たしかvalidationErrorsってのに入ってた気がする
>>404してvalidationErrorsで検索してみ
- 412 名前:nobodyさん [2012/07/27(金) 15:54:14.68 ID:Ij5uT65n]
- >>411
ありがとうございます。入っていました。 ただ、 $this->Model->validationErrors にアクセスできません themeView に Modelオブジェクトが無いと言われます
- 413 名前:nobodyさん mailto:sage [2012/07/27(金) 15:59:54.55 ID:???]
- 409が求めてるのは、$form->errorAll('Post')
みたいなメソッドが無いか?って事だろ? で、結論としては「無い」んだよ。 >>409みたいなことがやりたいなら$form->errorを全て書くか >>404をしろよ。そこをまずは納得しろ。
- 414 名前:nobodyさん mailto:sage [2012/07/27(金) 16:11:56.02 ID:???]
- 2.0でちゃちゃっと今見てみたらviewのthis->validationErrorsに入ってあるんだけど、
1.3じゃあ入ってないの?
- 415 名前:nobodyさん [2012/07/27(金) 16:11:58.09 ID:Ij5uT65n]
- >>413
分かりやすい説明ありがとうございます。 無いんですね。 > >>409みたいなことがやりたいなら$form->errorを全て書くか あ、これでいいですね。 $form->error('inpu1'); $form->error('inpu2'); $form->error('inpu3'); $form->error('inpu4'); まだ試してないですけど、こうやればおkですよね。 これでいきます。 ありがとうございました!
- 416 名前:nobodyさん mailto:sage [2012/07/27(金) 16:13:04.99 ID:???]
- それでいいのかよw
- 417 名前:nobodyさん mailto:sage [2012/07/27(金) 16:27:39.79 ID:???]
- 敢えて俺にも言わせてくれ
それでいいのかよw
- 418 名前:nobodyさん mailto:sage [2012/07/27(金) 17:06:53.00 ID:???]
- >>404どころか>>362の時点で終わってた
- 419 名前:nobodyさん mailto:sage [2012/07/27(金) 17:18:46.30 ID:???]
- モデルのフィールド一覧を取得してループさせて、
コピペじゃない方法でやることもできそうですね 誰か頼みました!w
- 420 名前:nobodyさん [2012/07/27(金) 17:21:02.41 ID:Ij5uT65n]
- >>416-418
いや、エラー一覧を出してくれるのがベストでしたが、 無いというので、もうこれで妥協しました
- 421 名前:nobodyさん [2012/07/27(金) 17:59:17.31 ID:QJsfcWiv]
- Cakephp2.2を使っているのですが、
Authのログイン認証で手間取っています。 usernameとpassword以外にも、 certificationというフィールドが1かどうか、確かめさせてからログインさせたいのですが、 $this->Auth->userScope = array('certification'=>1); をfunction beforeFilter()に追加しても、 実際のsql文的には追加されていないようで、certification関係なく、ログインできてしまいます。 どこがいけないでしょうか?
- 422 名前:nobodyさん mailto:sage [2012/07/27(金) 18:54:38.02 ID:???]
- 全然確認しないで答えるけど
this->Auth->authenticateあたりに変更されたのって関係ない?
- 423 名前:nobodyさん mailto:sage [2012/07/27(金) 21:36:25.39 ID:???]
- >>415
ほっこりした
- 424 名前:nobodyさん [2012/07/28(土) 05:06:27.70 ID:NZVlXbv8]
- >>422
$this->Auth->authenticate = array( 'Form' => array( 'scope' => array('User.certification'=>2) ) ); でできました! これで10時間以上格闘してたので本当に嬉しいです ありがとうございました
- 425 名前:nobodyさん mailto:sage [2012/07/29(日) 20:58:02.94 ID:???]
- 初歩中の初歩かもしれませんが、教えてください。
cakephp1.3で、独自ドメインを取得、サーバーはロリポップレンタルです。 いままでは yyy.yyy.com/test/ にcakeをインストールしていましたが、 xxx.xxx.com/ でアクセスしたいと思い、 .htaccessを修正し、xxx.xxx.com でアクセスできるところまではいきました。 そこから、 いままで yyy.yyy.com/test/controller/ でアクセスしていたところも xxx.xxx.com/controller でアクセスできるかな?と思ったら、URL直打ちならいけました。 でも、$html->link('test', array('controller' => 'controller') としても、実際にレンダリングされる HTMLでは、xxx.xxx.com/test/controller にリンクされています。 これを、testの部分をなくすことはできないでしょうか?
- 426 名前:nobodyさん mailto:sage [2012/07/29(日) 21:07:28.25 ID:???]
- 連投ですいません
前にテストしていた yyy.yyy.com/ は、既に他のファイルがいろいろあったので cakephpテスト用に yyy.yyy.com/test/app/... yyy.yyy.com/test/cake/... みたいな構成にしてたんですが、 今回はcakephpを一つ動かすだけのサイトにするつもりです。 で、前と同じように xxx.xxx.com/test/app/... xxx.xxx.com/test/cake/... みたいに配置しているんですが、そもそも、xxx.xxx.com/app/にすべきだったんでしょうか? .htaccessは、ドメイン直下、test/直下、app/直下、app/webroot直下の4つを修正しました。
- 427 名前:nobodyさん mailto:sage [2012/07/29(日) 21:28:07.68 ID:???]
- 何度もすいません・・・
結局インストールディレクトリをかえて、 xxx.xxx.com/app/になるように配置したら 期待したとおり、xxx.xxx.com/controller とHTMLに吐き出すようになりました。 これでいこうと思うのですが、 この配置がドメイン直下での運用の場合は正解なんでしょうか。
- 428 名前:nobodyさん mailto:sage [2012/07/29(日) 23:35:13.63 ID:???]
- まず例示するときに変なドメイン使うのやめれ。
ひとつだけなら example.com もうひとつなら example.org サブドメインは自由
- 429 名前:nobodyさん mailto:sage [2012/07/29(日) 23:45:55.88 ID:???]
- 勝手に使うとexample.comドメインの中の人に怒られるよ
- 430 名前:nobodyさん mailto:sage [2012/07/30(月) 00:12:58.18 ID:???]
- ネタにマジレスもなんだが
>>429 つtools.ietf.org/html/rfc2606
- 431 名前:nobodyさん mailto:sage [2012/07/30(月) 00:18:16.96 ID:???]
- >>427
URIとファイルパスの書き方がぐちゃぐちゃだな。 ディレクトリ構造の記述にはプロトコルは関係ないだろ。 そんな質問の仕方をしてるってことはマニュアルを全然読めていない証拠だから 誰も真剣に答えてくれんよ。
- 432 名前:nobodyさん mailto:sage [2012/07/30(月) 00:29:32.30 ID:???]
- あとひとこと言わせてもらえば、マニュアル読め。
そして「マニュアル通り」にしろ。 ほとんどのことはそれで解決できる。 それでも無理なときはもう一度マニュアル読め。 つまり、たいていのケースに対しての定石が既に用意されている。 ルールに縛られるのが窮屈だからといって安易に定石を離れることは 一時しのぎは出来るかも知れないが結局遠回りになる。 ブログの記事なんかを参考にする場合は、 マニュアルの読み方や定石の解説をしているものならいいが、 小ネタの披露などの類は定石を一通りマスターしてからだ。
- 433 名前:nobodyさん mailto:sage [2012/07/30(月) 11:01:11.94 ID:???]
- >>425-427 です
レスありがとうございます。 指摘いただいたことを修正して改めて質問させてください。 example.com/ でアクセスしたいのですが、 マニュアルでは /cake_install/ ├/app └/cake と配置して、 DocumentRoot /cake_install/app/webroot と設定すればいいとなっていました。 レンタルサーバーのため、httpd.confはいじれないので、 .htaccessにRewriteBaseを設定しました。 すると確かにexample.com/でアクセスできるのですが、 cakeから出力されたHTMLでは、コントローラーへのアクセスURLが example.com/cake_install/controller/ になっていました。 これを、example.com/controller/にしたかったんです。 そこで、cake_installのディレクトリを作らずに /app /cake にしたところ、うまくいきました。 これが正しい配置なんでしょうか?
- 434 名前:nobodyさん mailto: [2012/07/30(月) 13:14:23.48 ID:???]
- 下がり過ぎなのでageます
- 435 名前:nobodyさん mailto:sage [2012/07/30(月) 15:31:19.13 ID:???]
- >>433
要するに解凍した cake ディレクトリの中身をそのまま ftp での一番上にぶちまけたってことかな? ならば、公開時の設定としては推奨されていないが、 正常に動くかどうかという点に関してはOK。 ここ見れば分かるよね? book.cakephp.org/1.3/ja/view/913/%E9%96%8B%E7%99%BA-Development >すると確かにexample.com/でアクセスできるのですが、 >cakeから出力されたHTMLでは、コントローラーへのアクセスURLが >example.com/cake_install/controller/ >になっていました。 これはどこか設定が間違ってる
- 436 名前:nobodyさん mailto:sage [2012/07/30(月) 16:35:51.07 ID:???]
- Cakeのヘルパーとか真面目に使ってる奴いるのか…
2以降はマシになったんかな? でもctpテンプレに使うとかうちはなしだなあ、デザイナにコーディング頼めないじゃん
- 437 名前:nobodyさん mailto:sage [2012/07/30(月) 17:55:19.65 ID:???]
- フォームヘルパーは使っているけど、HTMLヘルパーは使ってないな
- 438 名前:nobodyさん mailto:sage [2012/07/30(月) 18:06:30.07 ID:???]
- テンプレの話題なんか出すとまたSmarty厨がくるぞ…
- 439 名前:nobodyさん mailto:sage [2012/07/30(月) 20:03:51.92 ID:???]
- テンプレにSmarty使う話しもしたいのに、
厨とか悪いことのような言い方されるから言い出しにくい雰囲気・・・
- 440 名前:nobodyさん mailto:sage [2012/07/30(月) 21:12:22.01 ID:???]
- ヘルパーも含めてビューは2になってから使いやすくなったと思う
処理が明確になったんじゃないかな 引き換えに、コーディング工程数というか、タイプするキーの数は増えたけど
- 441 名前:nobodyさん [2012/07/30(月) 21:15:21.67 ID:qcTCojeX]
- AzureにcakePHP2.0 入れて動くかな?
動かした事のある人いる?
- 442 名前:nobodyさん mailto:sage [2012/07/30(月) 21:31:34.90 ID:???]
- 動かしてる。今なら簡単。
- 443 名前:nobodyさん mailto:sage [2012/07/30(月) 21:59:05.68 ID:???]
- >>435
そうです、cakeディレクトリを中身だけトップに入れました。 マニュアルの指定されたページを見ると、 www.example.com/cake_1_3/ でアクセスできますよね?ってことですが / └cake_1_3 ├app └cake の構成だと、確かにwww.example.com/cake_1_3/でアクセスできました。 > >すると確かにexample.com/でアクセスできるのですが、 > >cakeから出力されたHTMLでは、コントローラーへのアクセスURLが > >example.com/cake_install/controller/ > >になっていました。 > > これはどこか設定が間違ってる やっぱりなんか間違ってるんですね…
- 444 名前:nobodyさん mailto:sage [2012/07/31(火) 08:43:55.59 ID:???]
- 2.xの場合は各所にある index.php、APP/Cosole/cake.php にあるパスの記述を一通り済ませば
webroot, APP, CAKE をどこにおいても問題なく動く。 2.x の経験から言えば、 >>443 はパスの設定は自分で書かないとダメなんじゃないかな? 1.3のマニュアル読んだことはあまりないんで間違えてるかもしれんけど。 いまさら1.3には興味がわかないんであとは自分で調べてくれ。
- 445 名前:nobodyさん mailto:sage [2012/07/31(火) 21:30:00.08 ID:???]
- >>444
ありがとうございます。 index.phpの設定ですが、 cake1.3のマニュアルによると、 /app └/webroot /cake といった、普通の?配置にしない場合は、確かにindex.phpで場所を設定できるようでした。 book.cakephp.org/1.3/ja/view/915/%E5%BF%9C%E7%94%A8%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB 今回は配置は/cake_install以下に上記の通り配置して、 www.example.com/ でアクセスできるんですが、 $html->link('aaa', array('controller' => 'cont') で出力されたURLがwww.example.com/cake_install/cont になってしまうのを www.example.com/cont にしたいのです…。
- 446 名前:nobodyさん mailto:sage [2012/07/31(火) 22:02:44.89 ID:???]
- >>445
ちなみにその www.example.com/cake_install/cont では動作してるの? それと www.example.com/cont ではどんな挙動になるの?
- 447 名前:nobodyさん mailto:sage [2012/07/31(火) 22:07:17.42 ID:???]
- >>446
両方自分が期待しているページで同じページが出ます。
- 448 名前:nobodyさん mailto:sage [2012/07/31(火) 22:13:47.14 ID:???]
- あぁ、$html ってHtmlHelperなのか。よく分からんかった。2と結構違うんだな。
HtmlHelper::link() のふるまいに問題があるのか。 ちょっとソース見てみる。
- 449 名前:nobodyさん mailto:sage [2012/07/31(火) 22:18:13.20 ID:???]
- ありがとうございます。
今気づいたんですが、妙な挙動になっていました。 トップページは、routes.phpの設定でpages_controllerのindexアクションを呼ぶようにしています。 Router::connect('/', array('controller' => 'pages', 'action' => 'index')); www.example.com/ にアクセスしたとき、$html->link('controller', '/cont/')は、 www.example.com/cake_install/cont と出力されますが、それをクリックして www.example.com/cake_install/contに遷移すると、 $html->link('controller', '/cont/')は、 www.example.com/cont と出力されていました。 これをクリックすると、また元に戻り、これを繰り返します。 ちなみに、トップページに戻るための出力も、$html->link('top','/')としてましたが、 www.example.com/になったり、www.example.com/cake_install になったりするようです。
- 450 名前:nobodyさん mailto:sage [2012/07/31(火) 22:20:01.18 ID:???]
- 分かった。 Router の設定だな
HtmlHelper::link() ↑ Helper::url() ↑ Router::url()
- 451 名前:nobodyさん mailto:sage [2012/07/31(火) 22:25:10.66 ID:???]
- ちょっとローカルに1.3インストールしてみるわw
- 452 名前:nobodyさん mailto:sage [2012/07/31(火) 22:26:19.86 ID:???]
- すいません、ありがとうございます!
- 453 名前:nobodyさん mailto:sage [2012/07/31(火) 22:51:02.56 ID:???]
- 何度も申し訳ないですが、
Router::url()のソースが挙動の操作をしているとのことで、少し見てみましたが <?php echo $html->base; ?>をすると、 /cake_install がでたり、何もでない(空文字)だったりするようです。
- 454 名前:nobodyさん mailto:sage [2012/07/31(火) 23:13:11.82 ID:???]
- もう一度.htaccessを見直し、
/.htaccess RewriteBase /cake_install /cake_install/.htaccess RewriteBase / /cake_install/app/.htaccess RewriteBase /app /cake_install/app/webroot/.htaccess RewriteBase /app/webroot にしたところ、www.example.com/controller のページでは、 常に正しく www.example.com/controller と出力するようになりました。 ($html->base に何も入らなくなりました) が、トップページ www.example.com/ にアクセスした場合だけ、 $html->base に cake_install が入り、 www.example.com/cake_install/controller となっています。
- 455 名前:nobodyさん mailto:sage [2012/07/31(火) 23:37:04.27 ID:???]
- >>454
わかった bootstrap.php に、 Configure::write( 'App.base', '/' ); で、どう?
- 456 名前:nobodyさん mailto:sage [2012/07/31(火) 23:37:52.23 ID:???]
- >>454
.htaccess は最初のままでいいよ、たぶん。
- 457 名前:nobodyさん mailto:sage [2012/07/31(火) 23:47:04.93 ID:???]
- メモ:
HtmlHelper::link で吐き出すURLは Router::url で生成されてるんだけど、 ベースURLはRouterのインスタンスの$__paths[0]['base'] に保存されてる。 で、これは Dispatcher::baseUrl() の戻り値。 この Dispatcher::baseUrl() をみてやると、 最初の方に Configure に書き込んだ設置を展開していて、 もしそこに 'base' があればそれを優先する仕組み。 デフォはこれは設定されていないんで、 dirname( env( 'PHP_SELF' ) ) から算出してるってこと
- 458 名前:nobodyさん mailto:sage [2012/07/31(火) 23:49:45.96 ID:???]
- 指摘いただいた内容でやってみたところ、
確かに /cake_install だったのが / に変わり、$html->linkも、cake_installなしで 出力されましたが、UploadPackというプラグインの画像出力が <img src="//uploaddir/image.png"> のようになり、画像がでなくなりました… これはプラグインのソースを修正する必要があるのかもしれません。 そして、色々やっていただいて本当に申し訳ないのですが、 ドキュメントルート直下の /.htaccess の記述が間違っていたようで、 <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /cake_install RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> としていたのを、 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^$ cake_install/ [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)$ cake_install/$1 [L] </IfModule> と変更すると、うまくいきました! 修正後の記述も、ネットから拾ってきたものでよく理解はしていないのですが、 なんとかこれで動きそうです。 本当にありがとうございました&すいませんでした。
- 459 名前:nobodyさん mailto:sage [2012/07/31(火) 23:50:05.45 ID:???]
- とにかく .htaccess の設定とか体当たりで確かめるのはやめれw
身体もたないぞw
- 460 名前:nobodyさん mailto:sage [2012/07/31(火) 23:51:50.45 ID:???]
- メモまで丁寧にありがとうございます!
$__paths[0]['base'] に値が入ってるのがダメなような気はしたんですが それがどこでどうセットされてるかまでは見れなかったんで 今後の参考にさせていただきます!!
- 461 名前:nobodyさん mailto:sage [2012/08/01(水) 00:09:50.35 ID:???]
- > とにかく .htaccess の設定とか体当たりで確かめるのはやめれw
> 身体もたないぞw まさにそのとおりでした。 実は /cake_install ├/app └/cake でインストールしたあと、うまくいかなかったんで /app /cake で直下にぶちまけて動かしてたんです。 で、先ほどからずっと/cake_installの方のファイルをさわったりしてたんですが .htaccessの修正で対応できた!と思い、 /app /cake の方を消したら、また元に戻りました。 URLがころころ変わってたのも、環境が複数あったのが問題だったようで… そして、指摘された Configure::write( 'App.base', '/' ); を入れて、 リンクURLは問題なく出力されていますが、 先ほど書いた通りプラグインのUploadPackの画像出力URLが//になることだけが問題になりました。 UploadPackのソースを確認してみます
- 462 名前:nobodyさん mailto:sage [2012/08/01(水) 00:56:24.96 ID:???]
- センスのかけらもないコーディングですが、
プラグインのuploadpackを下記の通り修正し、今回の一連の問題が解決しました。 ありがとうございました。 function image($data, $path, $options = array(), $htmlOptions = array()) { $options += array('urlize' => false); // src="//imageurl" になって出力されるのを修正 // 生成されたタグから、"//example/example.png" の最初の / を一本削除 // return $this->output($this->Html->image($this->url($data, $path, $options), $htmlOptions)); $imgtag = $this->Html->image($this->url($data, $path, $options), $htmlOptions); $imgtag = str_replace('//', '/', $imgtag); return $this->output($imgtag); }
- 463 名前:nobodyさん mailto:sage [2012/08/02(木) 17:37:50.48 ID:???]
- DBでビューを管理したいのですが、
ググっても情報が1.2や1.3系で古いです。 2.x系ではどうすればいいのでしょうか? DBでビュー管理ししている人が居たら教えてください。
- 464 名前:nobodyさん mailto:sage [2012/08/02(木) 20:48:40.47 ID:???]
- どこまでDBに任せるのか分からないけど、View の描画ロジックそのものが
ファイルシステムと分離されていないからコアを変更することになるけどいいの? もっとも、PHPのソースコードをDBに格納してそれを取り出して云々て話だったら1.3系であろうが2.x系であろうが同じ。
- 465 名前:nobodyさん [2012/08/02(木) 20:51:57.55 ID:kl7SocZ+]
- >>442
Azure上でcake入れてるとの事ですけど 動作は安定してますか? DBは、SQL Azure? それとも Webロール側に Windows版のMySQLを入れてますか? あと、Azure上にcakeを入れる方法とかを解説しているサイトがあったら教えて下さい。
- 466 名前:nobodyさん mailto:sage [2012/08/02(木) 21:02:45.91 ID:???]
- >>464
ブログのテンプレート編集ってあるじゃないですか? ああいうことをしたいと思っているんです。 公開画面ではCakeのビューは使わずにDBのみで対応するとか
- 467 名前:nobodyさん mailto:sage [2012/08/02(木) 21:07:49.84 ID:???]
- >>466
DBにする必要あんの?
- 468 名前:nobodyさん mailto:sage [2012/08/02(木) 21:08:00.72 ID:???]
- >>466
テーマ使えばいいんじゃないか? baserCMSのテーマ管理が参考になると思うよ
- 469 名前:463 mailto:sage [2012/08/02(木) 21:20:15.13 ID:???]
- >>467-468
ファイルを直接編集するよりもDBの方が修正しやすいと思いまして。 初期化やコピーする場合とか。
- 470 名前:nobodyさん mailto:sage [2012/08/02(木) 21:40:40.11 ID:???]
- その程度のことなら実体はファイルのままにしておいた方が良い。
パスの情報をコアに教えるのは簡単だし結合は緩いんで、 ディレクトリの構造を工夫して、パスの管理をDBに委ねるっていうのがいいと思うが。 あと、更新履歴なんかはDBに任せられるな。
- 471 名前:nobodyさん mailto:sage [2012/08/02(木) 21:44:35.65 ID:???]
- ちなみにテンプレートファイルを呼び出してるロジックがどこにあるか分かってる?
- 472 名前:nobodyさん mailto:sage [2012/08/02(木) 22:09:38.31 ID:???]
- >>465
最近Azureが更新されて、Linuxの仮想サーバを立てられるようになったり、 仮想ネットワークが組めるようになってる。データの永続化のしきいも下がってる。 俺が試したのはLinuxの仮想サーバ上。CentOS6.2だから素直な環境が組める。 これからPHPの運用環境をAzureに組むなら、どういう基盤が良いか再考したほうがいいよ。
- 473 名前:nobodyさん [2012/08/02(木) 22:13:49.40 ID:kl7SocZ+]
- >>472
サンキュー 個人的にはAWSで行きたいんだけど お上からの指令でAzureでやんちゃくちゃならない案件なんだよね。
- 474 名前:463 mailto:sage [2012/08/03(金) 01:19:17.08 ID:???]
- >>470
例えばなんですが、ブログのテンプレ(テーマ)って 修正しても元に戻したり、別の物を選べるじゃないですか? それをファイルで管理するって事は、元ファイルをwebroot以外の場所に置いて、 使用する時に/app/views/themed/以下にコピーするって事でしょうか? そして、/app/views/themed/に作ったテーマのソースを file_get_contentsで取得してfopen→fwriteで編集するみたいな。 そうであれば、DBに記録するのも、 ファイルとして用意するのも同じような気がしますね・・・ 更新履歴宿のテーマを使うかだけをDBに記録するだけで良いのかなぁ
- 475 名前:nobodyさん mailto:sage [2012/08/03(金) 07:21:24.39 ID:???]
- >>463
WPしか知らんが、あれはファイルの本体があって、更新履歴はDBに保存してる。 テーマの管理はファイルの記述ルールにのっとってリクエストのたびに解決してる。 それをたとえばCakePHPでやりたいんなら、更新履歴の管理はコアとは関係のない実装が可能なので、 コアの拡張はテンプレートのファイル構造の変更だけで済む。 で、それ(ファイル構造)だけならコアの設計ですでに綺麗に切り離されてるから アプリケーションで対応できると思う。 あと、コアの変更に関してはアプリケーション側でほとんどのコアライブラリファイルを 上書きできるようにしてあるわ。 俺の知識不足だった。 すまん。
- 476 名前:463 mailto:sage [2012/08/03(金) 14:43:49.29 ID:???]
- >>475
詳しく教えていただいたのに恐縮ですが、 おっしゃる意味がいまいち想像できず、理解できませんでした・・。 ここでいう「更新履歴」とは、「どのユーザがどのファイルを更新した」 と言う情報のみを記録するデータでしょうか? それとも、ソース毎管理するのでしょうか? 当初、私が>>463で記載した「DBをビューで管理したい」が、 別にDBでなくても、もっと便利で簡単な方法があるなら DBにこだわりはありません。 最終的な目的としては、ブログのように 複数のデザインを切り替えて編集できる機能を持ちたいのです。 それを管理画面から操作したいと思っています。 (そう言う点で言えばWordpressと同じなのかもしれません
- 477 名前:nobodyさん mailto:sage [2012/08/03(金) 15:25:35.11 ID:???]
- お前らに質問です。
ちょっとしたシステムを作る場合とかだと cakePHP とかのFWを使わずにpure php を使って組んだ方が 環境構築時間を短縮出来て効率が良いと思うんだけど、 お前らはどう思いますか?
- 478 名前:nobodyさん mailto:sage [2012/08/03(金) 15:33:52.08 ID:???]
- フレームワークを使うやつはアホ
- 479 名前:nobodyさん mailto:sage [2012/08/03(金) 15:44:57.43 ID:???]
- >>477
「ちょっとしたシステム」の規模が、掲示板とかお問い合わせフォームとか その程度の物を指すなら、cake使わなくて良いと思う。 ただ、オープンソースや自作ライブラリを使いながら作るから、 pure phpと違うとは思うけど。
- 480 名前:nobodyさん mailto:sage [2012/08/03(金) 16:14:27.55 ID:???]
- >>477
もちろん場合によります。 当たり前です。
- 481 名前:nobodyさん mailto:sage [2012/08/03(金) 16:15:48.17 ID:???]
- >>478
使う阿呆に使わぬ阿呆 同じ阿呆なら使わにゃそんそん
|

|