トップページphp
1001コメント304KB

【PHP】フレームワーク CakePHP 9ホール目【v1.3】

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

※sage推奨
※質問時もsageること
※他フレームワークとの比較等はスレ違いです
テンプレは>>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
0653nobodyさん2010/09/24(金) 08:42:53ID:???
そもそも既存のシステムのためにFWを導入するわけではないと思うよ?

PHPみたいに甘い言語だと、プログラマーによって
かなりオレオレ仕様だったり、ソースがわかりずらかったりするから
フレームワーク使うと、統一化されて跡から保守しやすいっていうメリットが生まれる。

また、ページごとにやってたようなエラー処理だとか
フォームの入力チェックみたいな処理も自動化出来てわかりやすい。

どちらかというと3人程度〜の新規開発向けだと思うよ。
個人でやってぱぱっと作るならFW使わなくても別に困らないしw
0654nobodyさん2010/09/24(金) 09:42:52ID:???
命名規則なりクラス構成規約なりを開発メンバーに強制することにより、
多少の生産性は犠牲にしつつも保守性を上げるための仕組み、
という面は確実にある気がする。
慣れてくればそのオーバーヘッドもだんだん減ってくる(はず)だし、
そもそもFWって元来そういうもんだよね。

CakePHPの場合は強制される規約が多すぎて、
たとえばタグライブラリ的な使い方をしようと思ったときに
ちょっと難しい部分があるのも事実だけど。
0655nobodyさん2010/09/24(金) 09:50:20ID:???
>>653-654
でも、それらって中小以上の、制作会社なら
独自の規約やルールが決まっていると思うんだよな。
フォームヘルパーのようなライブラリも作ってるだろ。

SOHOなら別にオレオレでも構わないと思うし、規模もたかが知れてる。
かといって、規模が大きめの案件ならFWは速度的なネックがある。

まぁ、俺はオレオレの仕様変更が多くて定まらないから、
Cake使ってるんだけどな。規模が小さい案件ばかりだし。。
0656nobodyさん2010/09/24(金) 10:26:20ID:???
http://www.amazon.co.jp/dp/4798027456/
CakePHP辞典 Pocket詳解 [単行本]
0657nobodyさん2010/09/24(金) 11:22:13ID:9bxZAnFY
DB使ってない状態で
paginatorのようにページ送りしたいんだけど、
いい方法ってありますか??
0658nobodyさん2010/09/24(金) 11:22:15ID:???
レコード1個のフィールド1個だけちょこっと更新したいんだけど
普通にfindしてからsaveしないと駄目?
saveByIdとか簡単な関数ないの?
0659nobodyさん2010/09/24(金) 11:33:35ID:???
>>658

$dataにidがあればupdateになるから

array(
'id'=>1,
'field1'=>'hoge',
);

これをsaveすればid1のfield1のみアップデートされる
0660nobodyさん2010/09/24(金) 11:34:10ID:???
>>658
良くわからない事言ってるが、
保存されている情報を取得するならfind(select)は必須だろ?
saveAllにしてパラメータ指定するのはダメなのか?
0661nobodyさん2010/09/24(金) 11:35:49ID:???
ああ、更新か。読み違えてた。すまん。
0662nobodyさん2010/09/24(金) 11:37:22ID:KWM9yVDw
ctpファイルの中に、

<?php echo $html -> css('hoge', null, array('inline' => false)); ?>

のようにして、レイアウトの $scripts_for_layout にCSSの記述を追加できますが
タイトルは、コントローラから

$this -> set('title_for_layout', 'ほげほげ');

とするしか手がないんでしょうか。
タイトルもctpファイルからレイアウトの $title_for_layout に設定できたらいいんですが
できないものなんでしょうか。
0663nobodyさん2010/09/24(金) 12:09:19ID:???
>>657
Webサービスとかなんらかの読み込み元のデータはあるんでしょ。

find、_findCount、_findAll あたりをオーバーライドしたモデルを作るか、
データソースドライバを作ればPaginator関係はそのまま使えるので便利。
0664nobodyさん2010/09/24(金) 12:16:54ID:???
>>659
すみません質問間違ってました、id以外をキーにしてそれできませんかね。

できないなら、やはりfindしてidを取ってこないといけないですよね。
0665nobodyさん2010/09/24(金) 12:39:38ID:???
>>662
Controllerクラスだけでなく、Viewクラスにも pageTitle というプロパティがあるので、
ctpファイルのどこかで
<?php $this->pageTitle = "ほげほげ"; ?>
とすればOKだと思う。
06666592010/09/24(金) 13:31:47ID:???
>>664
updateAll使えばできたんじゃないかな
0667nobodyさん2010/09/24(金) 14:39:38ID:???
>>665
答えに近いこと書いてあるけど、質問者の使ってるの1.3だからさ
06686622010/09/24(金) 15:21:06ID:???
あー、すみません、バージョンは1.3です。
このあたり、1.3で仕様が変更になっているんですよね。
'inline' => false の指定方法とか。

<?php $title_for_layout = 'ほげほげ'; ?>

のようにctpファイル内で変数をしてみましたが、レイアウトには適用されませんでした。
もう少し調査してみます。
0669nobodyさん2010/09/24(金) 16:20:29ID:???
>>663
ありがとうございます。やり方がわかりました!

シリアライズされた元のデータがあるので、
それを扱う例があれば嬉しいですけど、ネットで探しても見つからない
って時は作るしかないですよね。。わがままですよね
0670nobodyさん2010/09/24(金) 16:33:01ID:???
>>669
てか、いきなりCakePHP(フレームワーク)からはじめたの?
普通は、素のPHPのプログラミングを勉強していって
君の言う改ページ処理やファイルに書き込む処理など
基本的なコードを書いて勉強していくと思うんだけど。
06716652010/09/24(金) 16:55:01ID:???
>>667
最近使っていなかったから1.2の感覚で書いてしまいました・・・。
前に作ったの移行してみようかな。

>>668
すみませんでした。
http://book.cakephp.org/ja/view/1566/View-and-Helpers
このページを見る限りでは、
<?php $this->set('title_for_layout', "ほげほげ"); ?>
だと思います。
06726622010/09/24(金) 17:18:44ID:???
>>671
コントローラから

<?php $this->set('title_for_layout', "ほげほげ"); ?>

は当然効くんですが、Viewからは効いていないですね。
コアのコードを追ってみるか・・・。
0673nobodyさん2010/09/24(金) 17:25:48ID:???
>>669
Modelでpaginate()とpaginateCount()を実装する。
他はsave()やfind()を透過的につかうかによって変わるけど、
内部データへのアクセス自体を独自にしてしまったほうが単純に楽だと思う。
06746652010/09/24(金) 17:44:00ID:???
>>672
あれ?さっき1.3ダウンロードしてきて適当にコアファイル差し替えて試したら
うまくいったっぽいので大丈夫かと思いましたが、だめでしたか。

"title_for_layout タイトル" でぐぐって、一番上にくるので試してみても
うまくいったので、そっちの方法がよさそうですね。

0675nobodyさん2010/09/24(金) 18:49:30ID:???
コントローラーからシェルを実行するにはどうすればいいのでしょうか?
App::importで読み込んでクラスをnewするのでしょうか?
0676nobodyさん2010/09/24(金) 18:59:00ID:???
>>662
<?php $this->title_for_layout = 'ほげほげ'; ?>
じゃね?
0677nobodyさん2010/09/24(金) 19:16:14ID:???
>>675
ShellDispatcher
それかふつうに子プロセスで呼ぶ。
0678nobodyさん2010/09/25(土) 00:54:21ID:wsz3lHFZ
>>670
基本的なことが抜けてるのはあってますが(笑)
いきなりでは無いですよ、もっと勉強します

>>673
>Modelでpaginate()とpaginateCount()を実装する。
本当はこれやりたかったんですが、簡単なほうを選んで
自前ページャーで作ってしまいました、次回はこれ使います!
教えて頂きありがとうございました。
0679nobodyさん2010/09/25(土) 05:06:39ID:???
>>659
モデル内でそのようにsaveすると
$this->save( array( 'id' => $data, 'name' => $name ) );
以下のエラーが出ます。
SQL Error: 1054: Unknown column 'Array' in 'field list' [CORE/cake/libs/model/datasources/dbo_source.php, line 673]
Query: UPDATE `tablename` SET `id` = Array, `name` = 'xxxx'

1.3.2ですが、何か最近変わったりしたんでしょうか。
0680nobodyさん2010/09/25(土) 05:10:47ID:???
すんません>>679はミスでした
寝ます
0681nobodyさん2010/09/25(土) 05:10:51ID:???
1.3使ってないけど、実行してるSQLがまさにそこに表示されてるんだから
解決するのはそんなに難しくないような気がする
0682nobodyさん2010/09/25(土) 06:24:18ID:???
1.3ですがvalidateが不可解な動きをします。
あるモデルにユニークを保証したい文字列user_idがあり
var $validate = array(
'user_id' => array(
'rule' => 'isUnique',
'message' => 'must be unique'
)
);
と指定。
モデルにレコードの新規作成関数を以下のように用意しました。

// 初期データ
$userInfo = array(
"UserInfo" => array(
"id" => null,
"user_id" => $user_id,
"level" => 1,
...
)
);
$this->create();
if ( $this->save() ){
var_dump('save ok');
return;
}
var_dump('validate ng');

つづく
0683nobodyさん2010/09/25(土) 06:25:31ID:???
そしてこれを既存のuser_idで呼んでみると、validate ngと出て新規作成は阻止されますが、
何故か既存のデータが上記の初期値で更新されてしまいます。
これは正しい動作なんでしょうか。

また、validateの条件をnumeric等に変えてみるとこの現象は起きません。

わけわからんので誰か謎を解いてください。
0684nobodyさん2010/09/25(土) 07:18:00ID:???
あいかわらずアホばっかりだな
0685nobodyさん2010/09/25(土) 14:24:39ID:???
発行されるSQLは?
0686nobodyさん2010/09/25(土) 16:02:35ID:???
>>685
CakeのSQLダンプではCOUNTしか発行されてないようですが、
MySQLのログを見ると普通にUPDATEされちゃってます。

つーかSQLダンプってあてにならないのか…。

ちなみに自分でif ( $this->validates($userInfo)
とかやって駄目な時はsaveしないようにしても更新されちゃいます。
0687nobodyさん2010/09/26(日) 09:19:40ID:???
説明も不十分だし、全部どっかうpしたほうがいいんじゃねえの?みてもらえるかは別として。
0688nobodyさん2010/09/26(日) 13:07:37ID:???
どの辺が不十分ですか?
0689nobodyさん2010/09/26(日) 19:05:33ID:???
スレが止まるほどの難問なのか
0690nobodyさん2010/09/27(月) 01:59:38ID:???
>>653
その理屈は結構前の話しだな。
今はフレームワークも便利な機能てんこもりで、
独りで作るのにも利用しないと大幅に差が出る。
0691nobodyさん2010/09/27(月) 09:51:39ID:???
>>688
横からだけど
CakePHPのダンプに出てないということは、CakePHPのsave()以外が更新している可能性を否定できないし
validatesで更新されているとなればなおさらかも
>>682 のコードの周辺とか中略されているところとか独自バリデーションがあったらそれとか、$user_idとか$this->idの値とかはどうなってるの?
あと、既存のデータって、どのデータが更新されるの?
0692nobodyさん2010/09/27(月) 13:08:45ID:???
>>658
亀レスだけど、IDが固定なら
saveField()
http://book.cakephp.org/ja/view/75/Saving-Your-Data
が使えない?
0693nobodyさん2010/09/27(月) 13:47:08ID:???
>>691
Cake以外にDBアクセスしてる心当たりはありません。
独自バリデーションはないです。記述したisUniqueのみです。
$user_idはテーブル内でユニークな文字列(ユニークな数値をmd5したもの)
$this->idはnullです。(書き忘れたけど、自分でnullを代入して試した)
周辺のコードとはどの辺まででしょう。モデルは書いた分しかコードないです。
>>682で省略したのは$userInfoの全フィールドを書いてないことぐらいです。

>あと、既存のデータって、どのデータが更新されるの?
同じuser_idを持つレコードが、上記コードの$userInfoの内容で更新されます。つまり初期化。
あと書き間違いがあって、$this->save()は$this->save( $userInfo ) です。

もう一度問題点をまとめておくと
user_idフィールドにisUniqueを指定して、同じuser_idを持つデータの更新/挿入を阻止したいが、更新の阻止ができない。
ということです。
それがCakeの正しい動作なのかが知りたい。ネットや本によるとどうも違うようなので。
CakeのSQLダンプに出ないのも謎ですがそれはそういう不完全なものなのかな。
0694nobodyさん2010/09/27(月) 14:18:06ID:???
>>693
モデル名はUserなの?
カラム名をuser_idじゃなくてkeyとかhashにしたらダメかな?
user_idだとUserモデルのidって解釈されるかも。
0695nobodyさん2010/09/27(月) 14:28:53ID:???
>>694
モデル名はUserじゃないです。UserInfoとかそんな感じです。
カラム名も実際はuser_idではなくapplication_user_idです。長いので質問書く時に短くしてました。
でも一応名前変えても試してみます。ありがとう。

というかisUniqueで阻止できるのはやはり新規追加のみで、更新はされちゃうのかな?
と思ったけどやはりidをnullにしてるのに勝手にuser_idをキーに更新されるのは解せない。
0696nobodyさん2010/09/27(月) 14:31:03ID:???
SQLダンプがでないって言う件、もしかしてDBの保存処理を行った後に
別ページにリダイレクトしてない?
0697nobodyさん2010/09/27(月) 14:32:46ID:???
primaryKey = 'user_id' とかしてたりしてな
0698nobodyさん2010/09/27(月) 14:35:39ID:???
もっかいその処理だけのmodelとcontroller書いて試して、だめならうpすればいいんじゃねえの?らちがあかない
0699nobodyさん2010/09/27(月) 20:04:25ID:???
まだやってたのか

>if ( $this->save() ){
ここでなにをsaveしてるんだ?
0700nobodyさん2010/09/27(月) 22:30:00ID:???
$this->モデル名->find('threaded');でツリー表示されますけど、
これってHTMLに出力すると起動するんですか?
foreachを再帰する為の関数を作るんでしょうか?
それとも、Cakeに出力する為のヘルパーがあるのでしょうか?
0701nobodyさん2010/09/28(火) 00:56:46ID:???
>>700
bakery にはtree helperもあるけど、自分で再帰ヘルパー作るのもそんなに手間ではないよ。
0702nobodyさん2010/09/28(火) 13:55:58ID:???
DB使わずにCSVのテキスト保存して
モデルとして利用する方法をどこかで見たのですが、
ググっても探せません。ご存じないでしょうか?
0703nobodyさん2010/09/28(火) 14:37:54ID:???
>>702
どうやってぐぐったのか?
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=cakephp+%E3%83%A2%E3%83%87%E3%83%AB+CSV
0704nobodyさん2010/09/28(火) 16:36:27ID:???
>>703
これです!ありがとうございます。
「CakePHP CSV 保存」とかで検索してました><
0705nobodyさん2010/09/28(火) 17:40:51ID:???
>>700
それはある
詰め込み世代の新人って指示待ちか出来もしない癖に勝手な事やって迷惑掛けてくれる奴かの両極端だった
ここ数年の奴らは、意外と使える
我々にしてもそうだったけど目で盗んで憶えるというか自分の頭で考えて言われなくても的確に動けるのが増えた気がする
日本人らしさが戻って来た感じ
0706nobodyさん2010/09/28(火) 17:49:54ID:???
ニヤニヤ
0707nobodyさん2010/09/28(火) 18:11:10ID:???
>>705
どゆこと?
0708nobodyさん2010/09/28(火) 18:15:45ID:???
こういう人の監視スレに入ってるって何か嫌
0709nobodyさん2010/09/28(火) 19:08:21ID:???
>>705
なんで指示待ちしかできないんだろうな?
システム開発で言えば、エラー出てもログ見ないで「出来ません!」
って言ってくる奴大杉。

しかも「調べた」と言いつつ「どこを調べた」のか言わない。
そんなのエスパーじゃないからわかるわけ無いのにな。
自分の頭で考えないから、合理性のない行動しかできないんだよな。
0710nobodyさん2010/09/28(火) 19:22:36ID:???
でもね、そういう人がいないと掲示板が過疎るw
0711nobodyさん2010/09/28(火) 20:13:52ID:???
>>709
はてなとくめいだいありーにいけばどういしてくれるあくいひゃくぱーせんとのおともだちがたくさんいるよ
0712nobodyさん2010/09/28(火) 20:15:37ID:???
>>711
ざんねんながらはてなとくめいだいありーはにちゃんよりひどいよ
0713nobodyさん2010/09/28(火) 20:30:14ID:???
>>705
50歳以上か
0714nobodyさん2010/09/28(火) 20:37:25ID:???
いや、30代です
0715nobodyさん2010/09/28(火) 20:49:55ID:???
未成年じゃないのならまず誤爆を認めるところから始めないとな
0716nobodyさん2010/09/28(火) 22:11:51ID:???
バーチャルフィールドで
「Userが購入したOrder回数を調べる」って時に使えるかと思ったのですが、
hasManyで結合させたら、paginateのソートって出来ませんよね。

hasOneやbelongsToの時に使うのかも知れませんが、
使い道があまり思い浮かばないな
0717nobodyさん2010/09/29(水) 09:13:10ID:???
>>716
うーん。多分そういう用途じゃないよ

前者はcounterCacheという機能を使って予め親モデルに書き込んでおくようにする
バーチャルフィールドは郵便番号の上3桁と下4桁を別のフィールドで持っている場合とかに、あたかもひとつのフィールドとして扱いたい場合に使うためにある
氏名を分割していたりとか
0718nobodyさん2010/09/29(水) 09:49:52ID:???
>>717
なるほど。と言う事は、716的な用途の場合は、
パラメーターにjoinsを指定して、直接SQLを書く方が良いですね。
0719nobodyさん2010/09/29(水) 11:46:35ID:???
バーチャルフィールドは、日付のフォーマットとかで主に使っているな。
date_format(created,"%Y年%m月%d日") みたいな。
0720nobodyさん2010/09/29(水) 13:02:49ID:???
それでconditionsの検索条件に含められる?
俺が試した限りでは無理だった
0721nobodyさん2010/09/29(水) 14:14:46ID:???
いやconditionsには使ったことない。表示目的だけ。すまん。
0722nobodyさん2010/09/29(水) 14:54:21ID:???
つかえるでしょ。
0723nobodyさん2010/09/29(水) 16:54:29ID:???
Orderモデルに↓のバーチャルフィールドを書いて
var $virtualFields = array(
'order_num' => 'COUNT(Order.user_id)',
);

コントローラーのfindを
$params = array(
'conditions' => array('order_num' => 1),
'group' => array('User.id',),
);
$data = $this->User->find('all', $params);
print_r($data);
したんだけど、「SQL Error: 1054: Unknown column 'order_num' in 'where clause'」
ってエラーが出る。conditionsの箇所を削ると表示されるから、
conditionsで検索(where)できないと思ってるんだけど。
0724nobodyさん2010/09/29(水) 18:00:24ID:???
いまだにページングのときのパラメータの持ち回り方のベストプラクティスがわからない。

そもそも、コロン区切りパラメータってのが、なんか気持ち悪いんだよなぁ・・・
普通にGETでいいのに。
0725nobodyさん2010/09/29(水) 18:09:44ID:???
>>724
namedパラメータの後に?xxx=yyy 形式が俺の中ではベストかと。
まあURLがちょっとあれだけど。
paginatorで無理しなくてそのまま使えるし、
検索キーワードなどでnamedで通せないものもgetのパラメーターで通せるし。
07267252010/09/29(水) 18:19:31ID:???
ただ弱点はキャッシュの扱いに参ること。
Getのパラメーター部分がキャッシュのファイル名に入ってくれないからキャッシュ生成が無理。

別の話だけど、Searchプラグインなんかだと、packで文字列生成してnamedパラメーターを通すようにしてるけど
これだと本当にURLが意味不明の文字になってしまうから使いどころにはちょっと悩むね。
07277242010/09/30(木) 05:53:30ID:???
>>namedパラメータの後に?xxx=yyy 形式
それはさすがに気持ち悪いなぁ。

かといって、検索条件をセッションに入れちゃうと、
たとえばカテゴリ別のリンクとかが作れなくなっちゃうし・・・

あと、複数カテゴリを指定しての検索とかってよくあると思うけど、
namedは配列を扱えないらしい。
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1925&forum=3

うーん、悩む・・・
0728nobodyさん2010/09/30(木) 08:51:07ID:???
Authを使ってログイン処理をしてるんだけど、
ログイン後にしばらくしたら自動でログアウト状態になるんだけど、
ブラウザのリクエストが無いとセッションが自動で切れるのって仕様?
0729nobodyさん2010/09/30(木) 08:53:03ID:???
↑の追記だけど、core.phpのSecurity.levelをmediumにしてるけど、
やっぱり勝手に切れる。どういうことだろ?
0730nobodyさん2010/09/30(木) 10:37:41ID:???
paginatorの迷うところは、Controller側で制御するのがデフォってところかな。
本来はModelに持たせたいなーとか。思ったりするのだけど。
0731nobodyさん2010/09/30(木) 11:21:51ID:???
ページをコントロールする
ってのが目的だから別に良いと思うけど。
0732nobodyさん2010/09/30(木) 14:27:40ID:???
うん。
>>730 がMVC理解してないだけ
0733nobodyさん2010/10/01(金) 02:05:57ID:???
OSS用のシステムをCakeで作ってるんだけど、
テンプレートの修正はCakePHP方式にするかSmartyにするか延々悩んでる。
テストしてもどちらが良いか悪いか判断付かない。

Smarty編集出来るような人はPHPも使えるだろうから、
別にCakePHPのソースを編集する形でも良いのかな。
0734nobodyさん2010/10/02(土) 19:47:36ID:???
質問です。
HTMLヘルパーでリンクを張るとき
echo $this->Html->link("あいうえお", array('action'=>'read', 'url'=>$url));
として、
http://localhost/controller/read/url:http://www.yahoo.co.jp
と出力させたいのですが、

http://localhost/controller/read/url:http:/www.yahoo.co.jp
となってしまいます。パラメータとしている値の「//」が「/」とエスケープされてるようなんですが、
どうすればいいかご存知のかたはいませんか。
0735nobodyさん2010/10/02(土) 21:33:56ID:???
>>734
スラッシュがエスケープされてしまうなら、単純に
$url = 'http:////www.yahoo.co.jp';
と、2重に書けばいいのでは。
ただ、このままだとコントローラで
$this->passedArgs['url']
で取り出される値は、『http:』のみになってしまいます。
スラッシュは、パラメータの値として判断してくれないんです。

ですから、
$url = 'http://www.yahoo.co.jp';
echo $html->link('あいうえお', "{$this->webroot}hoge/read?url=$url");
としてはどうでしょう?
コントローラでは、
$this->params['url']['url']
で、URLを欠けることなく取り出すことができます。

もしも、URLのパラメータをページングでも保持しておきたい場合は、
url:http://www...
の形にせざるをえません。
その場合、スラッシュを別の文字に一時的に置き換える処理を独自に
作る必要があると思います。
例えば、僕はスラッシュを『~!』に変換しています。
詳しいことは下記に書いてますので、734がページングを使いたいと
思っているのなら参考にしてください。
http://d.hatena.ne.jp/sutara_lumpur/20100829/1283074357
0736nobodyさん2010/10/03(日) 04:02:29ID:???
ちょっとマイクロブログっぽいCakePHPのオープンソースみたいだな
http://www.moongift.jp/2010/08/listter/
0737nobodyさん2010/10/03(日) 14:37:31ID:???
ビューのelementをコントローラで取得したいのですが
どうすればいいのでしょうか?
コントローラ内で$header = $this->element('header')としても駄目でした。
0738nobodyさん2010/10/04(月) 16:30:37ID:???
viewsで↓のようなことできますでしょうか?
example.com/index/index/

views/index-index.ctpを見る

ディレクトリで分ける方法だと管理が面倒なのでこう出来ればいいなと思いました。
ご教示お願いいたします。
0739nobodyさん2010/10/05(火) 21:20:28ID:???
あげます
0740nobodyさん2010/10/05(火) 22:38:37ID:???
質問はフォーラムでしたほうがいいんじゃないだろうか。
向こうの方が丁寧に答えてくれると思う。
0741nobodyさん2010/10/06(水) 07:02:07ID:???
そうだね。sageて質問しても回答率が悪い。
0742nobodyさん2010/10/06(水) 07:19:30ID:???
まずはチュートリアルやりましょう
0743nobodyさん2010/10/06(水) 07:28:29ID:???
>>741
上げようが下げようがつかない質問にはつかないよ
0744nobodyさん2010/10/06(水) 07:55:36ID:???
過去見ると、ageたら付いてるけどな
0745nobodyさん2010/10/06(水) 09:16:17ID:????2BP(0)
>>737
MVCのV(ビュー)で使うべきelementをコントローラで使いたいというのが
そもそも間違っていると思いますよ。
プログラムの流れを見なおして、整理してみては?

>>738
質問したいことの意味がよくわかりません。
indexコントローラのindexアクションを呼び出した場合、
app/views/index/index.ctp を参照するのではなく、
app/views/index-index.ctpを参照するようにしたいということでしょうか?
無理だと思います。
おとなしくviewsフォルダの下にindexフォルダを作り、その中に
index.ctpを置くしかないと思います。

…、やっぱり質問はフォーラムに回したほうが、重複も防げていいと思う…。
http://cakephp.jp/modules/newbb/
0746nobodyさん2010/10/06(水) 10:48:31ID:???
おまえらCakeQs使ってやれよ
http://cakeqs.org/jpn
0747nobodyさん2010/10/06(水) 13:12:41ID:???
>>744
回答付く質問はageなくても付く
それくらいの人数のお気に入りには入ってる。ここは
質問時にage出す人がでてきたのもここ2〜3スレくらいでは?

>>745のような人がいるからこのスレはいいよね
0748nobodyさん2010/10/06(水) 14:12:36ID:???
>>745のような人がいるから、バカがよってくるのか…
0749nobodyさん2010/10/06(水) 14:21:05ID:???
>>748みたいのが少ないからいいね
0750nobodyさん2010/10/06(水) 14:32:22ID:???
>>747
実際、>>739があげてるから今日はレスがだいぶ付いてるだろ。
それまでずっと閑古鳥が鳴いてたぞ
0751nobodyさん2010/10/06(水) 16:51:06ID:???
レスがついても回答は1件しかついてないわけだが
的をはずれた質問は回答つかないことが多いな実際
0752nobodyさん2010/10/06(水) 16:55:08ID:???
いつまでグダグダ言ってんだ
■ このスレッドは過去ログ倉庫に格納されています