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

【PHP】フレームワーク CakePHP 6ホール目【v1.2】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2009/03/09(月) 10:55:37ID:3PTy4GqZ
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです。

※sage推奨
※日本語マニュアルURLを貼るときは、http://book.cakephp.org/ja/view/1/ のようにしましょう(末尾のエンコードされたタイトル部分は不要)

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

■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
http://book.cakephp.org/ja
0263nobodyさん2009/04/25(土) 12:14:00ID:???
>>262
http://book.cakephp.org/ja/complete/157/
ログの記録
0264nobodyさん2009/04/25(土) 12:18:12ID:???
>>263
自分でエラーログ書けってこと?
0265nobodyさん2009/04/25(土) 17:26:55ID:???
セッション機能について質問です。
デフォルトでSession.startをfalseにして、
コントローラーによってtrueにしたりDBか/tmp保存に
切り分けたいのですが、何か良い方法はありますか?
0266nobodyさん2009/04/26(日) 00:51:40ID:???
frameタグを使って2分割した場合、
frame src に同じコントローラーの別々のアクションを指定したいんですが、
どう書けば良いんでしょうか?
0267nobodyさん2009/04/26(日) 10:36:52ID:???
検索結果のpaginationで、検索引数を持ち回るときってsession使うのが普通なの?
みんなはどうしてる?
0268nobodyさん2009/04/26(日) 11:11:38ID:???
>>267
ググってる
0269nobodyさん2009/04/26(日) 14:42:26ID:???
>>267
それでいいんじゃねーの
0270nobodyさん2009/04/26(日) 15:58:15ID:???
そういや、以前NetBeansへのCakePHPフレームワーク対応の
話があったと思うんだけど、どうなったの?
0271nobodyさん2009/04/26(日) 17:48:54ID:???
Sunがあれだからな。
果たしてOracleがやってくれるかどうか・・・。
0272nobodyさん2009/04/26(日) 22:30:08ID:???
セレクトタグで都道府県を選択したいんだけど、
ヘルパーに追加してる人とかっている?
0273nobodyさん2009/04/27(月) 01:33:20ID:???
array('北海道'=>'北海道', '青森'=>'青森', '岩手'=>'岩手', '宮城'=>'宮城',
'秋田'=>'秋田', '山形'=>'山形', '福島'=>'福島', '茨城'=>'茨城', '栃木'=>'栃木', '群馬'=>'群馬',
'埼玉'=>'埼玉', '千葉'=>'千葉', '東京'=>'東京', '神奈川'=>'神奈川', '新潟'=>'新潟', '富山'=>'富山',
'石川'=>'石川', '福井'=>'福井', '山梨'=>'山梨', '長野'=>'長野', '岐阜'=>'岐阜', '静岡'=>'静岡',
'愛知'=>'愛知', '三重'=>'三重', '滋賀'=>'滋賀', '京都'=>'京都', '大阪'=>'大阪', '兵庫'=>'兵庫',
'奈良'=>'奈良', '和歌山'=>'和歌山', '鳥取'=>'鳥取', '島根'=>'島根', '岡山'=>'岡山', '広島'=>'広島',
'山口'=>'山口', '徳島'=>'徳島', '香川'=>'香川', '愛媛'=>'愛媛', '高知'=>'高知', '福岡'=>'福岡',
'佐賀'=>'佐賀', '長崎'=>'長崎', '熊本'=>'熊本', '大分'=>'大分', '宮崎'=>'宮崎', '鹿児島'=>'鹿児島',
'沖縄'=>'沖縄')
0274nobodyさん2009/04/27(月) 07:10:46ID:???
お上が決めた県コード順になってるな。出来るなオヌシ
ttp://ja.wikipedia.org/wiki/JIS_X_0401
0275nobodyさん2009/04/27(月) 14:02:39ID:???
それが普通じゃないの?
っていうかkeyは要らないんじゃない?
0276nobodyさん2009/04/27(月) 16:41:20ID:???
paginate で 「stampが 0 より上のものを優先。でその中でも modified が新しい順に表示したい」
ってとき
$this->paginate = array(
'limit' => 10,
'page' => 1
);

$this->paginate['order']['modified'] = 'desc';
$this->paginate['order']['stamp > '] = 0;

じゃうまく動かない。
誰かうまい方法ご存じですか?
0277nobodyさん2009/04/27(月) 16:54:40ID:???
不等号じゃなしに普通にstampって書いて降順にすればいいんでは?
0278nobodyさん2009/04/27(月) 18:18:49ID:???
>>277
ありがとう!できました!
0279nobodyさん2009/04/28(火) 12:31:08ID:LqIduRrQ
すみません、バカな私に是非ご教授をお願いします。
画像ファイルアップロード処理のfileタイプで困ってます。

入力画面(ファイル選択など)→確認画面→登録処理
という画面遷移です。

画像ファイル選択の入力時のフォームは
$this->input( Hoge.img1,array( 'type' => 'file' ) )
とし、
確認画面では、Hoge.img1の下にnameやtypeなどの属性が自動で設定されています。

確認画面のアクションで、アップした画像を適当なディレクトリへコピーし
一時表示用にそのパスをsave_nameとして新たに属性として設定させています。
さらに登録処理へ渡すために、
$form->input( Hoge.img1,array( 'type' => 'hidden' ) )
としているのですが、
画像の属性がこれでは登録処理へ渡せません。
textタイプなどはこの書き方で、そのまま登録処理へ渡せました。

画像ファイル各属性を、
$form->input( Hoge.img1.name,array( 'type' => 'hidden' ) )
このようにそれぞれ設定してやれば渡せます。

ただ、新たに設定したsave_nameだけは、
$form->input( Hoge.img1.save_name,array( 'type' => 'hidden' ) )
これでは渡すことができません。

画像ファイルの属性を、確認画面を挟んでから登録処理へ渡すのに、
なにか上手い方法はありませんでしょうか?

乱筆、乱文すみませんです。
0280nobodyさん2009/04/29(水) 10:22:51ID:???
>>269
セッション使うと、別windowで立ち上げたときに変な挙動になるんだよね。
できればGETの引数でやりたいんだけど、ググった限りだとセッション使う方法しかみつからなかったんで。
0281nobodyさん2009/04/29(水) 13:28:28ID:???
>>280
passedArgs でググってみ
0282nobodyさん2009/05/01(金) 20:45:13ID:???
PEARまったく知らなくても
cakephp使う上で、問題無い?

それとも、途中でPEARの知識が必要になる?
0283nobodyさん2009/05/01(金) 21:59:24ID:???
>>282
PEAR使わずにcakephpだけでOKだよ。
途中で「やっぱりPEAR必要だった。」って言うことはないと思う。
ネットに公開されている便利部品を使って実現。という事は
多々発生すると思うよ。
0284nobodyさん2009/05/01(金) 23:35:11ID:???
それってさ、
「cakephp用の部品です」
って形で公開されてるの?
0285nobodyさん2009/05/01(金) 23:46:22ID:???
>>284
そういうのもある。
0286nobodyさん2009/05/02(土) 00:25:41ID:???
cakeってmysql必須なの...?
0287nobodyさん2009/05/02(土) 00:42:57ID:???
>>286
いいや
0288nobodyさん2009/05/02(土) 01:25:28ID:???
でもMySQLのパスワードとかデーターベース名を
セットアップしないと動かなかったよ?
0289nobodyさん2009/05/02(土) 01:26:14ID:???
これちょっとやってみたけど、
モデルとビューとコントローラーの
3つを書かないとだめなんだね?
0290nobodyさん2009/05/02(土) 01:30:44ID:???
だから
$uses = array();
でモデルいらねーっての
0291nobodyさん2009/05/02(土) 01:41:25ID:???
<?php foreach ($tasks as $task) { ?>
<tr>
<td><?php echo h($task['Task']['id']) ?></td>
<td><?php echo h($task['Task']['content']) ?></td>
<td><?php echo h($task['Task']['status']) ?></td>
<td><?php echo h($task['Task']['created']) ?></td>
</tr>
<?php } ?>

----------------------------------
↑こういう使い方を見たんだが、
これって全然OKなの?
0292nobodyさん2009/05/02(土) 01:49:13ID:???
逆になんで駄目だと思ったの?
0293nobodyさん2009/05/02(土) 07:48:48ID:???
ふむmd5に脆弱性があるんだね
0294nobodyさん2009/05/02(土) 08:10:57ID:???
>>291
入門書:CakePHPによるWebアプリケーション開発 \2,940 嫁
>>286 p.41, 44
>>289 >>290 p.44
>>291 p.41, 47
0295nobodyさん2009/05/02(土) 10:38:50ID:???
ここも一読して質問してくれ
http://book.cakephp.org/ja/
0296nobodyさん2009/05/02(土) 12:30:44ID:???
ビデオで学ぶCakePHP入門もある
ttp://d.hatena.ne.jp/i_ogi/20090418/1240044385
0297nobodyさん2009/05/02(土) 13:33:45ID:???
http_socketのcookieのところが複数クッキーに対応してないんですね。
あとpage:1とかの:が予約語なんでhtmlチェックとかしたら
怒られるんですよね。

コアライブラリいじるとアップデートの時変更忘れそうだから治して欲しい門です><
0298nobodyさん2009/05/02(土) 21:13:12ID:???
cakeをはじめてやる人に
向いているわかりやすい入門書教えてください
0299nobodyさん2009/05/02(土) 21:57:58ID:???
http://www.amazon.co.jp/dp/4798022225/

これってなんで
アマゾンでC++のカテゴリに入れられてるの?
0300nobodyさん2009/05/02(土) 22:38:49ID:???
C++   → CPP
CakePHP → CPP
0301nobodyさん2009/05/02(土) 22:55:51ID:???
>>300
それってマジなの?
0302nobodyさん2009/05/03(日) 00:41:38ID:???
本屋はシステムに詳しい訳じゃないから分類の間違いは良くあるぜ
0303nobodyさん2009/05/03(日) 08:02:54ID:???
>>298
あくまでも個人的意見として

CakePHPによるWebアプリケーション開発
http://www.amazon.co.jp/dp/4798022225/
基本的な事から丁寧に解説。コツコツ型にお勧め。

CakePHP徹底入門
http://www.amazon.co.jp/dp/479811717X/
Cakeのコード自働生成機能(bake)を使って解説。短時間で動かせる様になりたい人。
動かしながら理解していくのを好む方にお勧め。

CakePHP1.1(旧バージョン)で解説されているので避けた方が良い入門書
CakePHPガイドブック
http://www.amazon.co.jp/dp/4839924317/
Fast CakePHP (LLフレームワークBOOKS)
http://www.amazon.co.jp/dp/4774133418/
0304nobodyさん2009/05/03(日) 19:51:13ID:???
質問です。
CakePHP と Ruby on Rails を二股で勉強しています。
言語の仕様上仕方ないのかもしれませんが、
Rails と比べて CakePHP は括弧やシングルクォートが多くなって
疲れる気がします。
けれど、Rails よりも動作環境の敷居が低い CakePHP も魅力です。
煽りじゃなくて、CakePHP と Rails どちらにしようか迷っている人間に、
「CakePHP はこんな所が素敵だよ」と背中を押す一言を頂けたら幸いです。
0305nobodyさん2009/05/03(日) 19:51:54ID:???
>>304
質問というか相談ですね。失礼しました。
0306nobodyさん2009/05/03(日) 21:55:39ID:???
RoR →サーバー代毎月5,000円必要
cake → 無料のサーバーでも動く
0307nobodyさん2009/05/03(日) 21:56:34ID:???
http://www.google.co.jp/trends?q=cakephp%2Cruby+on+rails&ctab=0&geo=jp&date=all&sort=0

あとはこのグラフを見れば一目瞭然
0308nobodyさん2009/05/03(日) 22:29:46ID:???
しかし実際はこっちのグラフの方が参考になる罠
ttp://www.google.co.jp/trends?q=cakephp%2Crails&ctab=0&geo=jp&geor=all&date=all&sort=0
0309nobodyさん2009/05/03(日) 22:45:40ID:???
>>306
レスありがとうございます。
やはり稼働環境の敷居という点が大きな違いですね。

>>307,308
グラフありがとうございます。
説明不足で恐縮ですが、上記どちらのグラフも以前見たことがあります。

Rails をやりたいものの、
環境的な都合で Rails を選択できない状況になるのが怖く、
かといって(Rails と比べて)記述が面倒だと分かっている CakePHP を
選択するのも微妙な気もして迷っています。

CakePHP で
$a = aa('key1', 1, 'key2', 2); をクォートを省略して、
$a = aa( key1 , 1, key2 , 2); と書いてしまえば、
面倒さが若干無くなるのですが、
「それはダメ!」という声がどこかから聞こえている気もします。
0310nobodyさん2009/05/04(月) 01:27:23ID:???
仕事: Cake
趣味: Rails
でいいじゃん。面倒くさいな
0311nobodyさん2009/05/04(月) 01:54:49ID:???
無料のサーバで動いたって
同じ品質のサーバでうごかすならどっちも5000円だけどな
0312nobodyさん2009/05/04(月) 02:07:36ID:???
5000円てどこのこと言ってるの?
0313nobodyさん2009/05/04(月) 08:03:49ID:Tn5a5ZIs
これはInterface使ったモデルなんかは作れるの?
0314nobodyさん2009/05/04(月) 19:42:43ID:???
括弧やシングルクォートぐらいエディタが書いてくれるだろ…。
0315nobodyさん2009/05/04(月) 19:55:04ID:???
>>314
秀丸エディタ使ってんだけど、括弧やシングルクォートが自動で出る様にする設定
教えて。すごく便利になる。
0316nobodyさん2009/05/04(月) 21:29:58ID:???
少しは検索してみるとかしないと駄目じゃないか
開発は初心者でも検索の初心者ではないだろ?
http://www18.big.or.jp/~fujiwara/ikki/hidemaru/
0317nobodyさん2009/05/04(月) 22:10:28ID:???
PDTいいよ
0318nobodyさん2009/05/04(月) 22:11:10ID:???
{

って打つと、なにもしないのに、勝手に

}

って出てくる。最初はまじでびっくりする。
0319nobodyさん2009/05/04(月) 22:38:44ID:???
C#なんて
Event a+=
まで書いてタブ押したらハンドラ登録からハンドラメソッドの雛形まで出してくれるのを考えると
PHPの開発環境はやっぱり貧弱だけどね
0320nobodyさん2009/05/04(月) 23:18:02ID:???
それを実現するために俺たちがMSにいくらお伏せしてるか考えればできて当然だろう
PHPユーザがZendに還元してる金なんてたかが知れてるし
0321nobodyさん2009/05/05(火) 00:48:15ID:???
>>315です。
>>317 >>318
秀丸エディタでゴリゴリやるよりEclipse + PDTをインストする方が良さげですね。
ttp://d.hatena.ne.jp/ngtn/20080204/1202142255
ttp://blog.ne2ma2.com/archives/83
0322nobodyさん2009/05/05(火) 01:20:41ID:???
あなた最低です
0323nobodyさん2009/05/05(火) 04:40:42ID:???
秀丸エディタに未練がないって事は金払ってなかったんだな
0324nobodyさん2009/05/05(火) 07:40:55ID:???
秀丸エディタ使ってるみなさん、秀まるおさんに4200円払いましょう
http://hide.maruo.co.jp/swreg/price.html
0325nobodyさん2009/05/05(火) 09:59:08ID:???
金払ったら誰でも知ってるあの暗号がそのまま送られてきて萎えたぜw
今はどうか知らないけど
0326nobodyさん2009/05/05(火) 10:04:59ID:???
>>324>>325
hidemaru=4200yen(zeikomi)?
0327nobodyさん2009/05/05(火) 15:19:29ID:???
>>321
「PHP統合開発環境 PDT2入門」320ページ \2,940- 09/04/23発売ホヤホヤ
http://www.shuwasystem.co.jp/products/7980html/2257.html
0328nobodyさん2009/05/05(火) 22:42:19ID:???
本を薦めるときはアマゾンのリンクにしてよ
0329nobodyさん2009/05/06(水) 06:49:04ID:???
新書の為、アマゾンのリンクでは情報が少な過ぎ、書籍内容紹介にならない為
ttp://www.amazon.co.jp/dp/4798022578/
出版社のリンクにしたと思われ
ttp://www.shuwasystem.co.jp/products/7980html/2257.html
0330nobodyさん2009/05/07(木) 14:52:11ID:???
CakePHP 1.2.3.8166
http://bakery.cakephp.org/articles/view/release-cakephp-1-2-3-8166
0331nobodyさん2009/05/08(金) 18:31:50ID:???
ユーザによって見れる見れないページを分ける時
ビューキャッシュは使わないってか使えない?
0332nobodyさん2009/05/09(土) 23:04:16ID:???
cakeに挑戦したいけど全くわからない俺に最もわかりやすいチュートリアルのありかを教えてくれ
0333nobodyさん2009/05/09(土) 23:14:46ID:???
>>332
http://www.amazon.co.jp/dp/4839930651/
これを買うのが今なら一番だろう。
0334nobodyさん2009/05/10(日) 09:48:31ID:???
>>332
ビデオで学ぶcake入門(ブログチュートリアル)(2時間半)
ttp://d.hatena.ne.jp/i_ogi/20090418/1240044385

>>333 ↓この本、「今なら一番」は納得だけど、中級者向けじゃない?
ttp://www.amazon.co.jp/dp/4839930651/
0335nobodyさん2009/05/10(日) 14:59:55ID:???
つうか、時間課金だった頃じゃあるまいに、本家のドキュメントで十分、紙の書籍なんて不便なもの要らんだろ。
0336nobodyさん2009/05/10(日) 16:00:15ID:???
紙もネットもそれぞれ利点があるんだから
否定することはないよ
0337nobodyさん2009/05/10(日) 16:35:21ID:???
紙の利点って何?
0338nobodyさん2009/05/10(日) 16:40:40ID:???
便所でも読めることだな。
0339nobodyさん2009/05/10(日) 16:53:22ID:???
さあ、始まるぞ!歴史上何度となく繰り返されてきた、紙メディアと電子メディアの戦い
さて、今回はどちらに軍配が上がるだろうか?
メディアとしての紙
http://www.kamiseikatsu.com/medi-top/
紙メディアの優位性
http://www.amy.hi-ho.ne.jp/kido/display.htm
0340nobodyさん2009/05/10(日) 17:12:44ID:???
ネット乞食って金使う奴を見下す傾向あるよね
その情報に対して何の貢献もしてないのに
本書いてる奴は少なくとも貢献してるけど
0341nobodyさん2009/05/11(月) 10:19:47ID:???
翻訳ビヘイビアに関する質問なのですが、
これって、
たとえばtitleフィールドで検索するとき、すべての言語のtitleを対象にしてくれたりするのでしょうか?
それとも、自前でJOINする必要がありますか?
03421312009/05/12(火) 06:50:00ID:???
キャッシュに関して質問解決した131です。

paginator paginate を使ったページングに関して、
ハマった後に解決したのでメモ書きとして投稿させてください。
すいません、質問ではなくメモです。
cake_1.2.3.8166

・やりたい事
URLのパラメータを検索条件として、
← 1 2 3 ... 13 14 →
のようなページングを行いたい。
←→の矢印は"最初最後"ではなく、"前の次の"という遷移になります。

・準備
まずは基本的な事を学ぶために、ここを見ました。↓
http://www.cpa-lab.com/tech/Paginator%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9%e3%80%82CakePHP1.2

次に、サンプルが載ってるここを確認。↓
http://www.spokslog.com/book/paginator_tests/preview/
やりたい事は6番目。
思いっきりバグがあるとか書いてあるし、
確かにその通りやっても上手く出来なかった。

次に続く・・・
03431312009/05/12(火) 06:53:20ID:???
・まずやってみた事
コントローラ側
// BETWEENの値がURLパラメータより引き出した数字。
$this->paginate = array('conditions' => array(
'A.a BETWEEN ? AND ?' => array(5, 10),
'A.delflag = ' => 0,),
'limit' => 20,
'order' => array('A.modified' => 'DESC'),);
$this->set( 'list', $this->paginate );

ビュー側
$page = null;
$page .= $paginator->prev('←',array(), null, array( 'class' => 'blockToInline' ));
$page .= ' ';
$page .= $paginator->numbers( array(
'url' => $this->passedArgs,
'modulus'=>2,
'separator'=>' ',
'first'=>1,
'last'=>1,));
$page .= ' ';
$page .= $paginator->next('→',array(),null,array( 'class' => 'blockToInline' ));
echo $page;
後はlistで適当に。

矢印部分はページの状態によって、DIVタグが勝手に入って改行されてしまうため、
クラスをblockToInlineとして、CSSでインライン要素にしてます。

次に続く・・・
03441312009/05/12(火) 06:55:37ID:???
・結果
ページリンク前半部、1 2 3 辺りはURLパラメータを引き回せるんだけど、
←や...以降の12 13 14 → などは引き回せずに、条件無しで全件になってしまう。
prev や next にnumbersと同じurlオプション付けても上手く動かず。

・調査
cakePHP paginator などで検索したあと、セッション使えとかなんか色々やってみたけど、結局出来ず。

・解決方法
numbersのurlオプションを、prev前に$paginator->optionsに設定する。
$page .= $paginator->options( array('url' => $this->passedArgs,));
numbersのurlオプションは外すが、modulusやfirstなどのオプションはnumbersのまま。
全部optionsに変更したら上手く動かなかったような気がする。

コントローラ側は特に変更なく、
最終的なビュー側のコードはこうなりました。
$page = null;
$page .= $paginator->options( array('url' => $this->passedArgs,));
$page .= $paginator->prev('←',array(),null, array( 'class' => 'blockToInline' ));
$page .= ' ';
$page .= $paginator->numbers( array(
'modulus'=>2,
'separator'=>' ',
'first'=>1,
'last'=>1,));
$page .= ' ';
$page .= $paginator->next('→',array(),null,array( 'class' => 'blockToInline' ));

以上です、長々と失礼しました。
私ほどのバカモノは居ないと思いますが、
似たような事でハマっていた方が居たら是非参考に・・・。
0345nobodyさん2009/05/14(木) 00:10:00ID:???
つうか、ふっつーに標準的なPHPの機能だけで2時間以内に作れるので、使う意味がないな。
0346nobodyさん2009/05/14(木) 00:55:00ID:???
頭いいな
0347nobodyさん2009/05/14(木) 02:03:18ID:???
メモとか自分のブログにかけよ
こんなとこに書いてもすぐdat落ちするし再利用性無い
0348nobodyさん2009/05/17(日) 17:53:26ID:???
モデルでfieldsに関数(count(*)見たいに)で指定するとモデル名で取得できなくなる(0になる)んですけど
モデル名で取得する方法ってありますか?
0349nobodyさん2009/05/17(日) 18:51:58ID:oOtRNQgA
モバイルサイトを作っているのですが、404エラーページをSJISで
吐かせるにはどうしたらいいんでしょうか?
http://www.syuhari.jp/blog/archives/168
この辺を参考にafterFilterで文字コード変換しているのですが、エラーページの場合は
app_controller通らないので、UTF8のまま表示されてしまいます
(html側のエンコード指定はSJISなので、文字化けした状態です)
0350nobodyさん2009/05/17(日) 18:54:10ID:???
文字化けなおしたいだけなら404notfoundのhtmlをutf8にする
どうしてもsjisにしたいならapacheで設定する
方法は2つ
1.404時の出力ファイルをPHPスクリプトにする
2.404時のヘッダのエンコード設定をsjisにする

検証はしていない
0351nobodyさん2009/05/17(日) 21:26:25ID:???
error.phpでも触ればいいんでない
0352nobodyさん2009/05/17(日) 21:40:34ID:oOtRNQgA
回答ありがとうございます

>>350
1だと、ちょっとスマートではない気がするので、できればCake内で解決したいです
2のヘッダですが、ヘッダ自体はSJISにしているのですが、データの中身はUTF8なので
文字化けしているという状況です

>>351
app/error.phpの中でもafterFilterは効くのでしょうか?
ちょっと試しに書いてみたのですが、動かないようです・・・
error.phpのサンプルがあまり無いため、よくわからないのですが
function error($params)を書いて、その中に処理を書くべきなのでしょうか?
0353nobodyさん2009/05/17(日) 22:18:17ID:???
>>352
じゃあsjisにすればいいんじゃないの?
404ページはapacheがデフォルトで持ってるhtmlファイルが出てるだけでしょ
0354nobodyさん2009/05/17(日) 22:38:31ID:oOtRNQgA
>>353
cakephpの404ページはviews/layout/default.ctpの中に
views/error/error404.ctpが入ったモノが表示されるはずです・・・
0355nobodyさん2009/05/18(月) 01:07:59ID:???
function render($action = null, $layout = null, $file = null) {
if($this->RequestHandler->isMobile()){
echo mb_convert_encoding(parent::render( $action, $layout, $file ),"SJIS","UTF-8");
exit;
}
echo parent::render( $action, $layout, $file );
exit;
}

renderをapp_controllerで上書きすりゃえんじゃね。
0356nobodyさん2009/05/18(月) 02:20:27ID:???
>>354
それのエンコードかえたら?
0357nobodyさん2009/05/18(月) 20:26:30ID:???
requestAction()で別コントローラのアクションを呼び出すと、
そのアクション中でcontroller->set()されたものがビュー(エレメント)内で使えない。
これは元のコントローラでセットしろと言う事?
コードのまとまりが悪くなっちゃうと思うんだけど。
03583572009/05/18(月) 20:27:41ID:+BNQiVp5
セットされたものが使えないと言うのは、
requestAction()の呼び出し元のビューでもそうだし、
そのエレメント内でもそう。
つまりrequestAction()で呼び出されたアクション中ではcontroller->set()が機能してないって事だと思う。
03593572009/05/18(月) 20:45:14ID:+BNQiVp5
自分が遭遇してるケースは
ビューから
View->element(hoge,array('hoge'=>View->requestAction()));
と言う形でエレメントを描画しようとしたら
この形で呼び出したrequestActionではエレメントでも呼び出し元ビューでも
set()された変数がundefinedになるというもの。

requestAction()はコントローラからも呼び出せるが
MVC的にはビューから呼び出すのが正しいはず。
03603572009/05/18(月) 20:51:41ID:???
あー、requestAction()で呼び出された場合set()は効かなくて
element()の引数で渡すか完全にレンダーして返せと言う事か
とりあえずやりたい事は出来そうお騒がせしました
0361nobodyさん2009/05/18(月) 21:06:16ID:???
AuthComponentって便利ですね^^
0362nobodyさん2009/05/18(月) 21:07:00ID:???
CakePHPを始めるのにオブジェクト指向は必須ですか?
■ このスレッドは過去ログ倉庫に格納されています