トップページphp
995コメント290KB

【PHP】フレームワーク CakePHP 13ホール目【v2.0】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/11/09(水) 01:05:10.60ID:???
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう

※他フレームワークとの比較等はスレ違いです
テンプレは>>1-5くらい

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.org/
CheatSheet (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
github - cakephp
http://github.com/cakephp

■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja

前スレ
【PHP】フレームワーク CakePHP 12ホール目【笑】
http://hibari.2ch.net/test/read.cgi/php/1309505626/
0002nobodyさん2011/11/09(水) 01:06:50.50ID:???
テンプレって何かあるの? いいよね別に
0003nobodyさん2011/11/09(水) 01:23:37.23ID:???
            ☆
            人
           ノ::oゝ
          ノ;;;;; ゝ
           ノ::o;;::。ゝ           __旦_
          ノ.: ::◎;::::ゝ         ∠二二二/\
          ノ..&, ,.....].ゝ""_~_~_~_~_~_(三三三三()三()
        /~,へニニニニ7 「从erry ]’mas |三三()三()ヽ
         !<介>  ,ヘ   .,ヘー―,ヘ―‐.,ヘ┘ ,ヘ .<介> i
.        |ヽ。.,,_ <介> <介>  <イト>  <介> <介>.,_,,。ィ
       |    ~~"""'''''''''ー―-゛-"-――'''''''"""~~  : :|
       |                                ::|
     人 |                                 ::|  人
   ,.(::0::)‐|                            ::|‐(::0::)-、
  ヽ__ ヽ。,,                      _,,。ィ ___ ノ
    /     人"''''''''ー―-――――''''' 人 "´    \
    (_ イ  ,(::0::)  へ    人  .へ  (::0::)   ト 、_ノ
       ヽ。  _/  .\  (::0::) ./  \_  _ノ
0004nobodyさん2011/11/09(水) 15:16:38.80ID:JcIEC3Dm
モデルの$this->query()ってSQLインジェクション対策してないよね?
0005nobodyさん2011/11/09(水) 17:21:49.26ID:???
してないわけねーだろうが
0006nobodyさん2011/11/09(水) 22:28:23.63ID:???
すれたておつ
0007nobodyさん2011/11/09(水) 22:39:39.64ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ 2.0の日本語訳まだなの
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)
0008nobodyさん2011/11/10(木) 00:22:15.33ID:tPbiz4Np
MySQLでカラム名をすべて大文字で作成した場合に
findしたときのカラム名もすべて大文字で返ってきてしまうんですが、
これを小文字で返ってくるようにするにはどうしたらいいですか?
テーブルを作り直すというのは無しで。
0009nobodyさん2011/11/10(木) 01:24:10.20ID:???
>>7
必要?
0010nobodyさん2011/11/10(木) 01:30:03.86ID:???
>>7
暇だからしてもいいんだけど、ここに書き込んだら日本語翻訳チームが採用してくれるかな
そもそも翻訳がどこまで進んでるのかわからないけど

ここで結構翻訳進んでるのにオフィシャルには反映されてないし、
cookbookの翻訳がどうやって進んでるのかわからんというので
翻訳協力者が進みにくい状況になってる気がする
http://hiromi2424.lv9.org/translate/cakephp20/
0011102011/11/10(木) 01:35:58.79ID:???
翻訳が進みにくい+協力者が集まりにくい
がごっちゃになってしもうた
0012nobodyさん2011/11/10(木) 02:14:16.02ID:???
翻訳したら本の出版依頼が来るかもしれないぞ。
ブログかwiki使ってやってみたら?
0013nobodyさん2011/11/10(木) 02:31:46.01ID:???
正確に翻訳するってむずかしいじゃん
0014nobodyさん2011/11/10(木) 03:42:25.89ID:???
http://book.cakephp.org/
http://book.cakephp.org/ja
1.3のドキュメントは編集できるようになってるけど
http://book.cakephp.org/2.0/en/
http://book.cakephp.org/2.0/ja/
2.0のドキュメントは編集できない
まだシステムが整備されてないとか言う問題なのかな

ドキュメントを読むとgithubのファイル修正したら公式ドキュメントに反映されるようにも書かれてるけど、
ドキュメントチームにメール送るかIRCで参加表明してくれとも書いてある
よくわからん
http://book.cakephp.org/2.0/ja/contributing/documentation.html

しかしgithubみると、今のところhiromi2424さんがほとんど翻訳してるんだな・・・
https://github.com/cakephp/docs

とりあえず明日github編集してみて、よくわからなかったら野良翻訳ブログでもやってみるわ
0015nobodyさん2011/11/10(木) 10:14:20.96ID:Y5PvVcC5
CakePHPってアソシエーション設定して普通に開発してると、
気がついたら1ページで100クエリ発行してたりするから困る
0016nobodyさん2011/11/10(木) 11:15:50.69ID:???
既出だとは思うがコンテイナブル ビヘイビアを使うと必要なアソシエーションだけに限定できる。
http://book.cakephp.org/ja/compare/1323/%E3%82%B3%E3%83%B3%E3%83%86%E3%82%A4%E3%83%8A%E3%83%96%E3%83%AB
この場合recursiveは関係なくなるっぽい。
0017nobodyさん2011/11/10(木) 13:22:07.94ID:???
1ページで100クエリ、あるある
なんちゅーフレームワークだと思った
0018nobodyさん2011/11/10(木) 13:40:46.41ID:???
>>16
つまり、いちいちbindModelで付け足していくよりも、
最初からモデルにアソシエーションを書いて
そこから必要な分だけ取り出すって形かな。

それはそれで便利そうだけど、
「ユーザ」モデルに「日記」「写真」「プロフィール」とかの
関連モデルと結合する場合、bindModelの方が軽い気がする。
0019nobodyさん2011/11/10(木) 16:03:19.22ID:Y5PvVcC5
>>17
だからクエリ減らすために、
デバッグログをビューに出すやつで、
このクエリはこのファイルのここで実行された、みたいなログも一緒に出してくれたらいいんだけど
誰か方法しらない?
0020nobodyさん2011/11/10(木) 16:29:00.22ID:???
あれはCake専用のレイアウトじゃないと出ないのでは?

って事はないよな・・・個別に貼り付けできるはずなんだが
0021nobodyさん2011/11/10(木) 16:31:05.79ID:???
>>18
その例だとどうbindModelが軽いのかよく分からないが
コンテイナブルビヘイビアだと、順序やIDのつながり方をモデルのアソシエーションに集約できるから
普通は純粋にテーブルの取捨選択だけをcontainで指定すればいいし、順序を変えたいならcontainで上書きすることもできる。
0022nobodyさん2011/11/10(木) 17:29:24.47ID:???
>>19
てかコンテイナブル使っても何しても、CakePHPは入れ子の2階層までしかJOINしてくれない
だからそれ以上の階層になると、1レコードとってくるのに WHERE id = ??? のようにして1クエリ発行される。
JOINしたら1発で取ってこれるような情報でも、100クエリとか発行するのはそのせい
0023nobodyさん2011/11/10(木) 18:06:18.89ID:???
>>21
俺の出した例は大きく分けて2パターンの利用方法がある。
A:特定会員のコンテンツを取得
B:コンテンツ内のデータ(そのデータにユーザモデルをJOIN)

この場合、モデルにすべて書くと再帰的に複雑になるだろ?
AはUser→Diary、BはDiary→User
Aでfindした時、User→Diary→Userみたいになってエラーになる可能性がある。

だから、必要な時だけbidModelを使ってその都度足していけばいい
って考え方なんだけど、何か間違ってるかな?
0024nobodyさん2011/11/10(木) 20:46:02.54ID:???
>>23
A:
$this->User->id = $id;
$this->User->contain(array('Diary' => array('Article')));
$data = $this->User->read();
(Articleはおまけで付けた)

B:
$data = $this->Diary->find('all', array('contain' => array('User')));
いずれにしろ再帰はしない。bidModel書くのが手間ではないならそれでもいいと思うが。
0025nobodyさん2011/11/10(木) 23:20:49.30ID:???
>>22
findのjoinsオプション使うと明示的にJOINできるよ
デフォルトだとクエリ多発するのは確かにそうだね
でもhasManyのときはJOINにコストが結構かかるから、この仕様のほうが効率いいことが多いとかそんな話を聞いたことはある。
眉唾で聞いてたけど。
0026nobodyさん2011/11/10(木) 23:52:27.25ID:tPbiz4Np
CakePHP2.0でfindとかやったときの例外処理ってどのように記述すればいい?

try {
  $this->User->find('all', $params);
} catch (xxx) { ←ここら辺
  xxx     ←    
}
0027nobodyさん2011/11/11(金) 00:04:29.44ID:???
>>25
joinsってなんかうまく動かないの俺だけか
joinしたテーブルの下にjoin付けられる?
0028nobodyさん2011/11/11(金) 01:43:52.72ID:???
付けられるぞ。
アソシエーション云々考えなければ、
joins使う方が一番思い通りに出来るよ。
0029nobodyさん2011/11/11(金) 01:54:38.67ID:???
翻訳ブログ立ち上げたとたん>>14の2.0向けドキュメントが消えている
なんてこったい
0030nobodyさん2011/11/11(金) 02:05:21.30ID:???
>>29
本当だ。復旧すると思うが吹いたw
0031nobodyさん2011/11/11(金) 02:48:32.46ID:???
設計について質問させてください

例えばmixiでいうコミュニティーをユーザーが作れるとします。

コミュニティー作成者(管理人)は
設立段階で、
メンバーになる人達がコミュニティーに登録する際、
コミュニティー内で利用する
メンバーIDのフォーマット(バリデーションパターン)を指定する必要があります。

メンバーIDのフォーマットはどんなパターンにも
応じられる仕組みにしたいです。

例えば

コミュニティーAでは 477-794-954 のような(数字三桁)-(数字三桁)-(数字三桁)フォーマット

コミュニティーBでは英数半角なら何でもOK

コミュニティーCでは47472のような数字五桁


上記のようにメンバーIDは多岐に渡ります

こういった場合はどのようなテーブル設計、
またフローで対処するのが一般的ですか?

コミュニティー内でのメンバーリストでの
メンバーIDによるソートなども考えて実装したいところです。
0032nobodyさん2011/11/11(金) 03:50:10.89ID:???
メンバーIDのフォーマットを選ばせるってのがよくわからない。
そこがすでに一般的じゃないからなんとも。
0033nobodyさん2011/11/11(金) 03:51:04.82ID:???
むずかしすぎてわからないぜ
0034nobodyさん2011/11/11(金) 06:01:26.02ID:???
JsHelper使って$this->Js->request();を使いjavascriptでアクションを呼び出しました。

methodをgetにするとレスポンスが返ってくるのですが、postにするとレスポンスが返ってきません。
原因なにかわかりませんか
0035nobodyさん2011/11/11(金) 08:30:54.84ID:???
>>32
メンバーIDのカラムは一つだけど
コミュニティーごとにバリデーションパターンが違って
コミュニティ作成者が指定出来るようにすることが出来るのか?ということです。
0036nobodyさん2011/11/11(金) 08:54:22.87ID:???
>>31
バリデーションルールをcustomにして、customバリデーションの中でコミュニティー毎にルールを書けばいい
0037nobodyさん2011/11/11(金) 09:11:59.03ID:???
>>35
beforeValidation使えば出来ると思う
0038nobodyさん2011/11/11(金) 09:32:54.02ID:???
CakePHP1.3系の自作behaviorについて
詳しく説明されているサイトをご存知の方いらっしゃいませんか?
独自のbehaviorを作成するにあたって、参考にしたいんですが
なかなか、細かく説明されているものが見当たりません
0039nobodyさん2011/11/11(金) 10:46:14.70ID:???
>>36
一般ユーザーが簡易に
バリデーションパターン(コミュニティー管理者任意)をフォーム画面からカスタマイズさせるのって
どういう形で入力させるのが
一般的なんでしょう?

あまり、この手のものは前例を見たことがないので
0040nobodyさん2011/11/11(金) 11:20:05.05ID:???
Cake1.3のSessionについて質問

初回のみURLにOAuthパラメータが付加されてくるのでチェックして認証できたら
$this->Session->write( $key, $params );
と保存。
これ以外にはどこにもSessionにwriteするコードはない。

2回目以降のアクセスでセッションを読む。
$this->Session->read( $key );
すると空になっている。

調べてみると初回の認証成功の後に、2つほど新しいキーで空っぽの値が保存されている。

これは何が起きていてどうすれば直るのでしょうか。
ぐぐってCAKE_SECURITYを変えたり、RewriteCond %{REQUEST_URI} !\.(cgi|css|gif|jp?g|png)$をやってみたけど駄目でした。
0041nobodyさん2011/11/11(金) 22:11:48.35ID:???
jsもできないとうまく使えないかな
0042nobodyさん2011/11/12(土) 04:22:28.06ID:???
じつはセッションに保存してなかったとか
0043nobodyさん2011/11/13(日) 18:01:49.24ID:???
CakePHPのフォーラム活気がないんじゃないの?
ふつうあんなものなの??
0044nobodyさん2011/11/13(日) 18:15:00.75ID:???
登録してハンドルで投稿するのがめんどい
無責任に書くつもりも無いけど、名前背負ってまで書き込みたくない

というのは2chみたいな匿名コミュニティに慣れてる人には多いんじゃ無いだろうか
0045nobodyさん2011/11/13(日) 18:27:05.63ID:???
Railsのスレのほうが活気ないから
CakePHPに移ろうかと思うんだけど
日本でのシステム構築はどちらが有利?
シェアとか利点とか
0046nobodyさん2011/11/13(日) 18:34:37.07ID:???
はいどうぞ
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
1 1 Java 17.874% -0.63% A
2 2 C 17.322% +0.61% A
3 3 C++ 8.084% -1.41% A
4 5 C# 7.319% +1.61% A
5 4 PHP 6.096% -1.72% A
6 8 Objective-C 5.983% +2.79% A
7 7 (Visual) Basic 5.041% -0.43% A
8 6 Python 3.617% -2.06% A
9 11 JavaScript 2.565% +0.90% A
10 9 Perl 2.078% -0.39% A
11 10 Ruby 1.502% -0.40% A
12 20 PL/SQL 1.438% +0.78% A
13 13 Lisp 1.182% +0.09% A
14 15 Pascal 0.991% +0.21% A
15 21 MATLAB 0.955% +0.32% A--
16 12 Delphi/Object Pascal 0.872% -0.77% A
17 23 ABAP 0.847% +0.25% A--
18 22 Lua 0.635% +0.02% A-
19 16 Ada 0.622% -0.07% B
20 19 RPG (OS/400) 0.620% -0.04% B
21 Logo 0.592%
22 Transact-SQL 0.550%
23 Visual Basic .NET 0.533%
24 Assembly 0.529%
25 COBOL 0.522%
26 Scratch 0.522%
27 R 0.500%
28 Scheme 0.453%
29 NXT-G 0.447%
30 Fortran 0.440%
0047nobodyさん2011/11/13(日) 18:40:37.21ID:???
単純にRuby的なのが好きならRails、PHP的なのが好きならCakeという選び方でいいよ

php frameworkのシェアはこんなもん
http://www.google.com/trends?q=cakephp%2Ccodeigniter%2Csymfony%2Czend+framework%2Cyii&ctab=0&geo=all&date=all&sort=0
cake, symfony, rorのシェアはこんなもん
http://www.google.com/trends?q=cakephp%2Csymfony%2Cruby+on+rails&ctab=0&geo=all&date=all&sort=0

日本だけ見ればcakeの圧勝だな
しかしrailsがこんなに先細ってるとは知らなかった
0048nobodyさん2011/11/13(日) 21:24:33.67ID:???
世界的に見ると、Yiiの伸びがすげーのな。
日本だとcakeの圧勝だけど。
0049nobodyさん2011/11/14(月) 12:21:32.77ID:???
YiiとCodeintegerスゲーじゃんと思いながら調べていくと
結局CkakePHPに戻ってしまう
0050nobodyさん2011/11/14(月) 13:08:59.45ID:???
>>49
理由は?
0051nobodyさん2011/11/14(月) 13:13:03.72ID:???
>>50
日本語に対する情報の差
0052nobodyさん2011/11/14(月) 13:18:47.14ID:???
そんなに英語嫌なの?
アホなの?
0053nobodyさん2011/11/14(月) 13:22:04.04ID:???
>>52
yes
0054nobodyさん2011/11/14(月) 13:41:19.30ID:???
まぁ良いフレームワークならユーザーも増えて情報も増えていくだろう
Yiiはかなり有望だと思うよ
0055nobodyさん2011/11/14(月) 13:47:56.50ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ 有望だけじゃなにがいいかわからない
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)

0056nobodyさん2011/11/14(月) 14:43:27.05ID:???
>>55
・シンプル
・軽い
・柔軟
・だけど大規模もいける
0057nobodyさん2011/11/14(月) 15:38:26.16ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ CakePHPもおなじじゃないのか
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)
0058nobodyさん2011/11/14(月) 17:55:25.43ID:???
CakePHPは日本語情報が相当そろってるでしょ。
個人のブログでも盛んに発信されてるし。

Yiiは有望なんだろうけど、いかんせん個人での発信者が少ない気がする。
開発画面のフッターはかっこいいと思う。あれは使いやすい。
0059nobodyさん2011/11/14(月) 18:04:58.31ID:???
CakePHP辞典のようなリファレンス本があればいいのにね。
やっぱネットで調べるよりも本を見ながらの方が開発しやすいし。
0060nobodyさん2011/11/14(月) 18:57:00.77ID:???
皆は


会員登録
メールによるクリック本登録
パス忘れたときのメールによる再発行

なんかは自分で作り込んでるの?
0061nobodyさん2011/11/14(月) 18:59:56.98ID:???
いらないだろ
0062nobodyさん2011/11/14(月) 19:22:07.74ID:???
>>61
どういうこと?
0063nobodyさん2011/11/14(月) 19:24:44.69ID:???
>>61はいらない子
0064nobodyさん2011/11/14(月) 19:55:45.54ID:???
>>60
自分で作り込んでるの?ってどういう意味だ?
誰かが作った物をそのまま流用してるって事か?
そんなわけねーだろ。
0065nobodyさん2011/11/14(月) 20:59:16.72ID:???
>>60
この一連のユーザー登録機能、
フレームワークによっては標準搭載もあるよな。
0066nobodyさん2011/11/14(月) 21:09:29.55ID:???
んじゃ、CIやYIIって
cakephp+ktailiblary以上に携帯サイト作りやすいの?ん?
0067nobodyさん2011/11/14(月) 21:18:38.51ID:???
>>60
adminが登録するタイプの案件しかやった事ない。
0068nobodyさん2011/11/14(月) 22:03:24.22ID:???
みんな携帯サイトつくってばかりということか
0069nobodyさん2011/11/14(月) 22:25:25.56ID:???
>>60
自分で作ったよ。CakePHPで。

テストも自動化したかったから、
ニセのSMTPサーバー作ってそこに送信→ファイルに保存。
それみてCakePHPについてたブラウザをエミュレートするモジュールが
クリックなんてことしたなぁ。

もう3年以上前になるかな。今なら便利な何かがあるかもね。
0070nobodyさん2011/11/14(月) 22:32:22.79ID:???
Ktai Libraryって個人が作ってるショボいやつでしょ?
絵文字の対応が弱かった気がする
0071nobodyさん2011/11/15(火) 00:30:41.57ID:???
Modelにvalidateを記述してもスルーされてしまうんですが、何故でしょうか?

<?php
class Contact extends AppModel
{
var $name = 'Contact';
var $useTable = false; //データベースのテーブルを使用しない

var $validate = array(
"name" => array(
"rule" => 'notEmpty',
"message" => '名前を入力してください'
),
);
}
?>

コントローラ
function index() {

if ($this->data['Contacts']['mode'] == 'confirm') {
if (!empty($this->data)) {
$this->Contact->set($this->data);
if ($this->Contact->validates()) {
$this->render('confirm');
return;
}
$this->render();
return;
}
  (以下略)
0072nobodyさん2011/11/15(火) 00:47:02.01ID:???
>>71
>var $useTable = false;
↑こういう場合は、$_schema を設定する必要があった気がする。

var $_schema = array(
'name' => array(
'type' => 'string',
),
);
0073nobodyさん2011/11/15(火) 01:42:34.79ID:???
>>70
setしたデータがあってるか、validatesする前にvar_dumpしてみたら?
ContactsとContactがごっちゃになってそうだけど。
0074nobodyさん2011/11/15(火) 01:56:03.33ID:???
>>47を見る限りCIはタガログ語とインドネシア語の情報が豊富そうだぞ
まずはそっちの語学学習からだな
0075nobodyさん2011/11/15(火) 13:30:08.83ID:???
>>71
俺みたいにappを分けてて、
modelファイルも同一の物があるんじゃねーの
0076nobodyさん2011/11/15(火) 15:55:39.02ID:???
CakePHP2.0でhelperを読み込んだらviewからしか開けません
これってふつうですか?controllerから前は呼べた気がするんですが
0077nobodyさん2011/11/15(火) 16:51:27.77ID:???
前からもコントローラーでApp.importしたが
0078nobodyさん2011/11/16(水) 13:56:38.50ID:???
test
0079nobodyさん2011/11/16(水) 14:58:38.98ID:???
CakePHPの勉強会いってるひといる?どうですか
0080nobodyさん2011/11/16(水) 15:21:00.48ID:???
単なる馴れ合いです
0081nobodyさん2011/11/16(水) 15:29:23.74ID:???
勉強会でコネ作れればいいんだろうけど、俺は毎回孤立するか、名刺交換しても連絡取らないからな
まあ自分みたいなアマグラマーは少ないからしょうがないと思ってる
0082nobodyさん2011/11/16(水) 15:58:04.21ID:???
連絡取るってことは=金が発生するって事だからな。
大の大人がただの情報交換で連絡取り合うのはあり得ないし。
0083nobodyさん2011/11/16(水) 17:21:51.07ID:???
さ、寂しいこと言うなよ。
僕は>>82君の声を耳元で聞きたくて連絡取ってるわけだし、いつだって君のことを見てるよ
0084nobodyさん2011/11/16(水) 18:33:51.99ID:???
まじかよ。行く気がへっちゃったよ
0085nobodyさん2011/11/16(水) 19:42:09.06ID:???
相手が自分と相応の知識持ってたら、無償の情報交換も成り立つんだけどな。
0086nobodyさん2011/11/16(水) 23:57:11.46ID:???
viewについてですが条件分岐が多くてif文だらけになるんですが
なんかスマートなやりかたってありますかね
0087nobodyさん2011/11/17(木) 01:07:02.88ID:???
>>86
viewファイルわけるとか?
0088nobodyさん2011/11/17(木) 01:26:10.05ID:???
そういうのはうちでは全部盛り込んだ。
0089nobodyさん2011/11/17(木) 01:44:12.36ID:???
なにを盛り込んだのよ
0090nobodyさん2011/11/17(木) 08:49:19.09ID:???
ど、どくを・・・
0091nobodyさん2011/11/17(木) 08:55:55.80ID:???
>>86
まず、何に対する条件分岐か書けよ
0092nobodyさん2011/11/17(木) 11:17:06.59ID:???
>>86
ヘルパーにまとめちゃえば
0093nobodyさん2011/11/17(木) 12:51:19.33ID:???
viewからコントローラーやモデルを呼び出すことはできますか?
0094nobodyさん2011/11/17(木) 12:52:51.10ID:???
出来ます
0095nobodyさん2011/11/17(木) 13:44:18.21ID:???
>>93
そうしなくちゃいけない設計がマズイ
0096nobodyさん2011/11/17(木) 23:19:43.07ID:t9LRBQJB
一つのIPに対してバーチャルホスト切って運用する場合に
ドキュメントルートってcakephp/app/webrootでいいの?
トップはいいとして他のページを表示しようとすると
Not Foundになっちゃうんだけど。
ちなみにcakephp直下をドキュメントルートにするとうまくいく。
0097nobodyさん2011/11/17(木) 23:46:36.11ID:???
cakePHPを最近使い始めました。
mod_rewriteを使って、実際のパス名と違うパスでアクセスさせているんだけど
paginatorで作成されるURLが、実際のパス名のほうになってしまいます。
どこかの定数を変更したりすれば上手く行くでしょうか?

htdocs/foo/app/webroot/index.php
こんな感じで index.php を置いているとして、でも各種都合により
実際のリクエストは
http://domain.com/bar/baz/controll1/action1
こんな形で来ます。
このとき、mod_rewriteで^/bar/bazを/foo/に置き換えているんだけれど
このときmod_rewriteのフラグに[PT]を入れないと画像などがHelper経由の画像のパスが、
/var/foo/というような、おかしなものになってしまい
[PT]を入れるとpaginatorで生成されるURLが/foo/になってしまう。

ざっと見た感じでは、問題はDispatcherなのかと思うんだけど
app下のファイルでうまく設定は出来ないでしょうか。
0098nobodyさん2011/11/18(金) 01:01:53.98ID:???
>>96
バーチャルホストのドキュメントルートを、各のドキュメントルート直下を指定するといい。
0099nobodyさん2011/11/18(金) 01:18:37.03ID:???
>>97
mod_rewriteは基本触らないでRouterでやった方がいいと思うんだけど
0100nobodyさん2011/11/18(金) 01:56:17.73ID:???
>>98
「各のドキュメントルート直下」というのは
例えば、/var/www/cakephp/のこと?
それとも、/var/www/cakephp/app/webrootのこと?
0101nobodyさん2011/11/18(金) 12:40:48.58ID:???
/var/www/cakephp/
これでいいのでは?
cakephp標準で.htaccessが付いてるし。
■ このスレッドは過去ログ倉庫に格納されています