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

【PHP】フレームワーク CakePHP 14ホール目【v2.1】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2012/05/01(火) 16:58:44.53ID:fVBzm1/A
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 13ホール目【v2.0】
http://kohada.2ch.net/test/read.cgi/php/1320768310/
0792nobodyさん2012/11/19(月) 23:33:19.08ID:???
ビューからモデル見に行くの全然あり、てかそれが正しいMVC
Cakeみたいなフレームワークのビューって結局ただのテンプレートになってることが多くて
それは本来のMVCのビューじゃない
0793nobodyさん2012/11/19(月) 23:35:10.21ID:???
>>791
何にでも適用できる原則じゃないけど、そんなラベルの文字列なんかは
ビューに直接書きたくないならヘルパーにスクラッチしとけばいいんじゃないかな?
0794nobodyさん2012/11/19(月) 23:38:05.99ID:???
>>792
お、やはりそうなんだ!
>>793
参考にします
0795nobodyさん2012/11/20(火) 00:39:35.43ID:???
cookbookのチュートリアルって、MVCを誤解させるよな
誰かもっと良いチュートリアルを作ってくれ(丸投げ
0796nobodyさん2012/11/20(火) 08:42:01.29ID:ZgN4QSxZ
>>792
Viewの中でModel使われると鬱陶しいんだよね
0797nobodyさん2012/11/20(火) 11:14:41.40ID:???
Viewには出来るだけPHPコード書きたくないけど、実際は難しいよね
CSSやJavascriptを挿入するだけでも書かなくちゃいけないし
0798nobodyさん2012/11/20(火) 11:53:01.37ID:???
もしかして、ctpをそのまま使ってんの?
何か見やすいテンプレートエンジン使えばいいのに
0799nobodyさん2012/11/20(火) 12:33:19.62ID:???
>>796
鬱陶しいのはなぜ?
0800nobodyさん2012/11/20(火) 12:44:03.10ID:???
ひょっとして、PHPのコードをビューに書きまくるからじゃない?
ヘルパー作って、呼び出すだけにすればいいのに
0801nobodyさん2012/11/20(火) 15:30:08.51ID:???
さすがに一覧表示とかforeach使って書くだろ?
中のループはヘルパー使ってもさ。
同様に、ifを使う箇所も出てくると思うよ。これもヘルパーじゃ無理だ
0802nobodyさん2012/11/20(火) 15:38:31.06ID:???
そこでテンプレートエンジンですよ
foreachもifも必要なくなる(というか使えない
0803nobodyさん2012/11/20(火) 17:17:49.98ID:???
俺はテンプレートエンジンってSmartyぐらいしか知らないけど
普通にIfとかforeachとか使ってた気が・・・
今はどんなのがあるの?
0804nobodyさん2012/11/20(火) 17:38:27.57ID:???
Smartyしか知らないって、全然知らないってことじゃん
この機に調べてみ
0805nobodyさん2012/11/20(火) 17:55:21.76ID:???
シンプルさを訴求するという大義名分があるせいで
その弊害を語られることが少ない気がするが、
Modelとデータベースってのは本来別の次元の話なのに
両者が強力にくっついてしまっているのって結構問題だよな。
0806nobodyさん2012/11/20(火) 20:35:24.50ID:???
個人的に、テンプレートエンジンのソースとPHPと大差ないと思うんだが。
少なくともプログラム知識皆無の奴が使えるものじゃないだろ
0807nobodyさん2012/11/21(水) 00:21:54.19ID:???
>>806
だよね。
phpの書き方覚えるのとテンプレートの書き方覚えるのだったら、汎用的に使えて速いphpの書き方覚えた方が良いような
0808nobodyさん2012/11/21(水) 00:27:56.23ID:???
でもPHP全然わからんデザイナに振れるのは大きい
0809nobodyさん2012/11/21(水) 00:59:56.41ID:???
分業の為だよね。基本的には
0810nobodyさん2012/11/21(水) 01:04:16.32ID:???
PHP全然分からんデザイナーがテンプレートエンジンの書き方は覚えるのか。
それならPHPも分かるよね?って思うんだが。Smartyとか。
0811nobodyさん2012/11/21(水) 01:07:57.98ID:???
いや全然違うだろ
同じだと思ってるの?
0812nobodyさん2012/11/21(水) 01:08:59.64ID:???
エラーをトラップして適切な処理付けて行ったら、結局テンプレートエンジンになるんじゃない?
0813nobodyさん2012/11/21(水) 01:12:19.26ID:???
>>810
お前らって本当にSmartyしか知らないんだな
あれって全然デザイナにわかりやすくなってないじゃん
あれ基準に語るな
0814nobodyさん2012/11/21(水) 01:37:17.56ID:???
ならデザイナーが容易に利用できるテンプレートエンジンを上げてから語れよ
調べて見つかったのがお前が言ってるのと同じとも限らないんだし
0815nobodyさん2012/11/21(水) 02:27:58.22ID:???
自分で例も出さずに使いづらいって何様だよw
0816nobodyさん2012/11/21(水) 04:13:16.87ID:???
何で知らない奴が偉そうに書き込んでんだよ
土下座したら教えてやってもいいはw
0817nobodyさん2012/11/21(水) 08:43:21.33ID:???
>>815
お前は何を言ってるんだ?
PHPもSmartyもソース書くレベルとしては一緒だろ?って話で、
反対意見は、デザイナーから見たら全く別物のテンプレートあんだよ、探せ
って言ってるののどこに使いづらいとか読めてんの?
で、例って何?ソースレベルで提示しろって言ってんの?あほかw
0818nobodyさん2012/11/21(水) 10:44:18.07ID:???
土下座するので、おすすめのテンプレートエンジン教えてください。
Smarty以外で。お願いします。
0819nobodyさん2012/11/21(水) 11:53:52.96ID:???
>>817
はいはい。言い訳は良いからお前が良いと思うテンプレートエンジン書けよ。
どうせ何か言っても批判されると思ってるんだろ?お前みたいな奴からw
0820nobodyさん2012/11/21(水) 13:07:59.14ID:???
>>815>>819が何を言ってるか本気で理解できないので誰か翻訳よろ
0821nobodyさん2012/11/21(水) 13:51:31.70ID:qWxhErew
>>805
良いこと言った!
0822nobodyさん2012/11/21(水) 15:15:54.46ID:???
>>820
頭悪いの?「自分がおすすめするテンプレートエンジン書けよ」ってだけだろ。
なぜか>>818は無視してるし。
0823nobodyさん2012/11/21(水) 15:40:01.76ID:???
デザイナーから見たら全く別物のテンプレートエンジンねえ
制御構文なども皆無なのかな?
単に変数に値を流し込むだけ?
もうそんなデザイナークビにしていい時代だろ
0824nobodyさん2012/11/21(水) 15:52:49.74ID:???
>>822
>>802>>804>>808>>811>>813>>815>>816が同一人物のように見えた。
たぶん>>815はこっち(PHPもSmartyもデザイナーが扱うなら同じレベルと思ってる)側。
たぶん>>817もこっち側。
双方が相手を>>804側と思ってるから話がかみ合ってないんじゃないかな。

結論、お前ら安価省略するな。
で、>>804は>>819が図星でなんだかんだいって具体的なその他のテンプレートエンジンを
出せないだけだからこれ以上議論するのも無駄。

Cakeの話題に戻ろうぜ。
0825nobodyさん2012/11/21(水) 16:17:33.37ID:???
以前にもこんな流れあったな
Smarty厨が出てきて騒いでた、内容は忘れたが
0826nobodyさん2012/11/21(水) 16:24:06.37ID:???
横だが、俺には>>824の言ってることがわからない
俺が見た感じ、

A派:
テンプレートエンジン=Smartyしか知らない、デザイナにもPHPの知識要求されると主張

B派:
テンプレートエンジンは他にもあって、ビューにPHPのコード書かなくても良くなると主張

この2派が喧嘩してるって事じゃないのか?
0827nobodyさん2012/11/21(水) 18:06:37.46ID:XVcRCAEI
cakephp2 使っているんですけどajax用のメソッドを定義する場合でも
Viewファイルは用意しないとやはり駄目なのでしょうか?

public function download()
{
if( $this->request->is( 'ajax' ) )
{
echo "ajax transaction<br>";
}
else
{
echo "not ajax transaction<br>";
}
}
0828nobodyさん2012/11/21(水) 18:30:32.75ID:???
>>826
それでB派に、「ならオススメ教えてよ」って聞いてるのに
一向にオススメを言わないから「どうして?」ってなってるんだよ。

なぜここまでSmarty以外のテンプレートエンジン書かないか分からん。
ちなみに俺はテンプレートエンジンなんかイラねのC派ですw
0829nobodyさん2012/11/21(水) 18:39:56.49ID:???
態度が気に入らないからじゃないの
0830nobodyさん2012/11/21(水) 18:48:57.07ID:XVcRCAEI
画面上に【ダウンロード】ボタンを設けており、
それがクリックされると、AjaxにてcakePHP上のコントロールが呼び出され

そのダウンロードが完了したら、それをユーザのローカルに保存させたいのですがどうすれば良いでしょうか?

success: function( data, textStatus, jqXHR )
{
  var gotten_data = $.parseJSON( data );   ← ここまではOK

  //次にどういうコードを書けば xxx.csv としてファイルをユーザに保存させる事が出来るのか分かりません。

}
0831nobodyさん2012/11/21(水) 18:51:02.50ID:???
>>830
Cake関係無いじゃん
0832nobodyさん2012/11/21(水) 19:05:33.59ID:XVcRCAEI
>>831
JavaScriptで取得するところまでは出来ました。
JavaScriptスレに移動します。
0833nobodyさん2012/11/21(水) 20:23:19.60ID:???
前質問した奴と同じか?一体何がしたいんだw
0834nobodyさん2012/11/21(水) 20:24:02.20ID:???
ワロタ
0835nobodyさん2012/11/21(水) 20:39:23.74ID:???
なぜ2行目は全角にしているのか聞きたいw
0836nobodyさん2012/11/22(木) 00:20:17.31ID:???
>>832
サーバーサイド、クライアントサイドを意識して勉強する必要があると思うよ。
PHP(CakePHP)はサーバーサイドで、httpを利用してクライアントの要求を受けてhtml、css、javascriptコード等を返す
クライアント(ブラウザ)はhtmlを利用してDOMを構築し、javascriptコードに従ってDOM操作したりする
0837nobodyさん2012/11/22(木) 00:54:33.93ID:???
質問の意味がわからないので、もっと説明能力付けたらいいかもね
どうしたらいいのかわからないけど
0838nobodyさん2012/11/22(木) 02:21:35.33ID:???
国語をしっかりやっておけばプログラミング能力は自ずとついてくるよ。
まずは小学校の国語の教科書を繰り返し音読するところから
始めたほうがいいんじゃないかな?
0839nobodyさん2012/11/22(木) 02:49:50.55ID:???
そもそもデザイナーにビューなんか作らせるな。
ビューを作るのはプログラマの仕事だろうが。
前提が間違ってんだよ馬鹿が。
デザイナーが作るのはあくまで純粋なHTMLで
それをプログラマがビュー化するの。
0840nobodyさん2012/11/22(木) 02:54:10.14ID:???
↑ばか
0841nobodyさん2012/11/22(木) 08:03:15.90ID:???
>>839
純粋なHTMLに近いものが、そのままビューとして使えたら
便利だと思わないか
0842nobodyさん2012/11/22(木) 10:08:55.09ID:???
>>841
不可能だろ。どう考えても独自タグ埋め込むだろうが
0843nobodyさん2012/11/22(木) 10:23:04.12ID:???
PHP用の記述をHTMLのコメントとして埋め込むから、普通にHTMLとして作れるやり方があるよ
詳しくは忘れたからぐぐれ
0844nobodyさん2012/11/22(木) 10:45:03.85ID:???
だから、それも言い換えれば独自コードな分けだろ?
そういう独自の仕様を覚える必要あるじゃん
0845nobodyさん2012/11/22(木) 11:17:57.44ID:???
>>839
そもそもPGにビューなんか作らせるな。
ビューを作るのはデザイナーの仕事だろうが。
前提が間違ってんだよ馬鹿が。
PGが作るのはあくまでビューに値を受け渡すロジックで
それをデザイナーが受け渡された値を含めてビュー化するの。

と改変しても全く違和感無いんですけどw
0846nobodyさん2012/11/22(木) 11:38:19.82ID:???
普通になるほど!と思って読んだら
なんだネタかw
0847nobodyさん2012/11/22(木) 11:39:30.11ID:???
>>844
デザイナーは覚えなくて良いのがミソ
0848nobodyさん2012/11/22(木) 11:53:05.02ID:???
WebデザイナーならJavascript扱えるだろうからPHPなんて余裕だろ
htmlしか書けない?ただのコーダーじゃねえか
0849nobodyさん2012/11/22(木) 11:56:51.75ID:???
Cakeでrssを出す方法がよくわからないんだけど
いい解説サイト知らない?
特にrssのURLをいじりたい場合がわからない
routes.phpに普通に書けばいいの?ちょっと試したら効かないみたいなんだけど
0850nobodyさん2012/11/22(木) 11:57:36.88ID:???
デザがjsを普通に遣えるレベルだとプログラマなんて要らないと思うのだが
0851nobodyさん2012/11/22(木) 12:00:26.67ID:???
JS使えるデザなんて見たことないは
0852nobodyさん2012/11/22(木) 12:01:07.41ID:???
jsとかphpとかに手を出したがるデザが多くて困る
だからテンプレートエンジン導入して閉じ込めとくのはアリ
0853nobodyさん2012/11/22(木) 12:04:21.25ID:???
ビューにごちゃごちゃコード書いてると、デザが何かいじった際にぶっ壊してくれることはよくある
0854nobodyさん2012/11/22(木) 12:23:12.67ID:???
なんで奴ら<?php } ?>を勝手に消すん
それがないと動かなくなんだよ!
0855nobodyさん2012/11/22(木) 12:29:46.62ID:HdPktOip
>>854
そんな書き方してるお前が悪い
0856nobodyさん2012/11/22(木) 12:31:57.85ID:???
endif;
endforeach;
endfor;
のがましかな
0857nobodyさん2012/11/22(木) 12:36:27.04ID:???
どう書いたってぶっ壊される時はぶっ壊される
奴らPHPわかんないんだもん
0858nobodyさん2012/11/22(木) 13:33:28.29ID:???
>>849
キーワード
php cakeresponse rss
0859nobodyさん2012/11/22(木) 13:35:16.84ID:???
あ、キーワード間違えた
cakephp cakeresponse rss
0860nobodyさん2012/11/22(木) 13:59:19.29ID:???
俺も普通に>>854って書いてるわ。
>>856にするべきなの?
0861nobodyさん2012/11/22(木) 14:01:01.79ID:???
>>860
>>857
0862nobodyさん2012/11/22(木) 14:02:27.07ID:???
DW使ってるとPHPのコードは色づけされるんだけどなぁ
0863nobodyさん2012/11/22(木) 14:07:47.49ID:???
拡張子がctpだとしてくれないとか?
0864nobodyさん2012/11/22(木) 14:11:53.42ID:???
ビューをデザイナーなんかにいじらせるから壊されんだよ。
ということは、バージョン管理ツール使わせるわけだから
eclipseとかも使わせるのか?
その上Smartyとか覚えさせられて大変だなw
0865nobodyさん2012/11/22(木) 14:14:52.90ID:???
じゃあ誰がビューをいじればいいの?
プログラム関係ない蔵からの文言修正やレイアウト変更依頼に
プログラマがいちいち対応すんの?
0866nobodyさん2012/11/22(木) 14:17:22.95ID:???
デザイナーとプログラマーの間にもう一つ職種が必要なんじゃね?
0867nobodyさん2012/11/22(木) 14:33:55.02ID:???
有料のテーマを買って、それを元にビュー作ったんだけど、
この作業って結構知識いるし作業量もハンパない。
何かの片手間で出来るものじゃないわ
0868nobodyさん2012/11/22(木) 14:38:02.33ID:???
かと言って別の人間が間に入るとよりコミュニケーションに齟齬がでそう
0869nobodyさん2012/11/22(木) 14:39:34.85ID:???
それこそコーダーって職業じゃないのか?
0870nobodyさん2012/11/22(木) 14:43:55.66ID:???
そうだけど、別にデザイナーのスキルは必要じゃない

デザイナーはとにかく良いUIを作ることにのみ専念してくれればいい
0871nobodyさん2012/11/22(木) 15:12:44.35ID:???
何でビューごときに専門の人間が必要なんだよ。
そのくらいプログラマがやれよ。
ちょっとした文言変更も、レイアウト変更も
プログラマがやるんだよ。数分でできるだろうが。
0872nobodyさん2012/11/22(木) 15:17:12.64ID:???
お前プログラマじゃないだろ、なんでここにいるんだよ
できるできないの問題じゃない
数分でできることを全部プログラマにやらせてたら回らなくなるだろ
0873nobodyさん2012/11/22(木) 15:48:56.68ID:???
俺はプログラマだかデザイナーにはソースを触られたくないね。
ビューもプログラムソースだから。
そんな大切なソースを大した作業ではない
文言変更や
そんなに頻繁に発生することのないレイアウト変更をやりたくないからという
職業怠慢な理由でデザイナーに解放しちゃうなんてどうかしてるぜ。
お前こそ本当にデザイナーか?
0874nobodyさん2012/11/22(木) 15:51:27.11ID:???
×お前こそ本当にデザイナーか?
●お前こそ本当にプログラマか?
0875nobodyさん2012/11/22(木) 15:53:02.43ID:???
怠慢じゃなくて、プログラマはプログラムを書くことにリソース割かないと、プロジェクトが滞るだろ
仕事したことのないお子様か?
0876nobodyさん2012/11/22(木) 15:58:50.80ID:zHRu897d
仕事ではC#使うけど
趣味サイトではPHP一択だな。
0877nobodyさん2012/11/22(木) 16:02:17.83ID:???
プログラマ様が全部やれば解決するお
でもそうなっても技術のグラデーションの中で貶め合って憎しみ合い続けるお^^
0878nobodyさん2012/11/22(木) 16:03:21.55ID:???
そうなんだよ、中途半端に仕事の範囲を増やすと後で収集がつかなくなる
それはプログラマ、デザイナどちらの立場からしても言えること。

でもそうすると、両者を取り持つ仕事というならプロマネがやることになるのか
それはそれで笑えるなw
0879nobodyさん2012/11/22(木) 16:05:54.24ID:???
実際の仕事場では、手のあいてる方がやることになるな
技術系の会社だと、プログラマは大抵常に忙しいから、なるべく雑用やらせたくはない
0880nobodyさん2012/11/22(木) 17:19:30.94ID:???
お前らマジでビューをデザイナーに解放してるの?ネタだろ?
うーん。やっぱPHPerってレベル低いのかなぁ。
0881nobodyさん2012/11/22(木) 17:39:29.80ID:???
そこでなんで「俺っちはPHPなんて程度の低い言語使いませんから^^」
って主張をはじめちゃったの???
0882nobodyさん2012/11/22(木) 18:18:16.62ID:???
プログラム、デザイン、どっちかしかやらない、できない、なんて人間は既に仕事干されてるだろうからどうでもよくね?
で、>>873はほぼ感情論でしか物事を語ってないけど、本当にプログラマーか?
よくわからん新たな論点を持ち出してきたり、感覚で喋ってるのは、どうみてもデザイナー側の人間に見えるんだが。
PHP関係ないじゃん。その理屈で言えば他の言語の例えばJavaやらFlashやらならデザイナーとプログラマーで
納品物の管理が完全に分離できるのか?
というか、なんでお前このスレにいんのw?
0883nobodyさん2012/11/22(木) 19:27:33.06ID:zHRu897d
ちょっとお前らに質問です。

画面上のダウンロードボタンを押すと、Ajaxでサーバ再度のControllerが呼ばれて


www/hoge-directory/jiojoijiajsdwfijjasdfajsdfiwerfjai/hoge.csv

という風に   ハッシュで生成したディレクトリ + ファイル名 をPHP側で生成して
JavaScriptをつかって、WEBページ内にリンクを作成しています。


この時、基本認証とか何も無くリンクを貼っているのですが(ハッシュ値)
を当てられる確率が低いからと、、、、

然程クリティカルなデータではないのですが
この状態だsと不味いでしょうか?
0884nobodyさん2012/11/22(木) 19:40:16.81ID:???
>>883
Cake関係無いじゃん
0885nobodyさん2012/11/22(木) 19:42:44.76ID:???
PHP使わないなんて何処にも書いてないのにね。
プログラマーだって書いてるのにね。
脳内変換しまくりw
感情で書いてるのお前じゃん。
例えビューであってもデザイナーにソースを渡しちゃうような奴は
エンジニア失格だよ。
デザイナーにPHPのコード消されたとか嘆いてんなよ。
ソースを渡したお前が悪い。
0886nobodyさん2012/11/22(木) 19:43:33.19ID:???
大して重要なデータじゃなけりゃいいんじゃない?
気になるならcookieのユニークな値も
チェックできるようにすればいいんじゃないの?
0887nobodyさん2012/11/22(木) 19:58:12.39ID:zHRu897d
>>884
死ね

>>886
あー成るほど!!いいアイデアですね!!

ダウンロードボタンを押したタイミングでそのハッシュ値をcookieにセットし
それを持ってるユーザのみ、そのcookieにセットしたハッシュを使用してファイルにアクセス可能にしてしまえばいいですね!!
0888nobodyさん2012/11/22(木) 20:07:47.68ID:???
ロクなの来ないなこのスレ
0889nobodyさん2012/11/22(木) 22:05:17.04ID:???
ロックな奴ばかりが来るよ
0890nobodyさん2012/11/22(木) 22:16:57.37ID:???
論破されたら「ロクな奴来ない」とか。
0891nobodyさん2012/11/22(木) 22:19:25.10ID:???
論破って?
マジ話通じねえな
0892nobodyさん2012/11/22(木) 22:22:45.33ID:???
たまに開いて「みんな病んでんなー」と確認して閉じるスレ
■ このスレッドは過去ログ倉庫に格納されています