【PHP】フレームワーク CakePHP 16ホール目【v2.4】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/09/09(月) 01:56:10.19ID:m9OPw/HTCakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ
質問するときはCakePHPのバージョンを書きましょう
※他フレームワークとの比較等はスレ違いです
■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
Issue
http://cakephp.lighthouseapp.com/dashboard
CheatSheet[1.2] (PDF)
http://cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf
■日本語公式
http://cakephp.jp/
フォーラム
http://cakephp.jp/modules/newbb/
cookbook(マニュアル)
[2.x] http://book.cakephp.org/2.0/ja/index.html
[1.3] http://book.cakephp.org/ja
http://kohada.2ch.net/test/read.cgi/php/1354593996/l50
0555nobodyさん
2013/11/26(火) 11:33:42.73ID:???ただし、そこからカスタマイズ依頼とかされたら困るが。
0556nobodyさん
2013/11/26(火) 12:09:28.97ID:???0557nobodyさん
2013/11/26(火) 17:50:46.60ID:???Cakephpvar2.3.10
でSmartyの3.1.15導入してみた。
tplファイルがない場合に選択されるctpファイルでの表示がおかしい。
HtmlHelper関連だと思うのだけどどなたか解決方法教えてください
0558nobodyさん
2013/11/26(火) 18:08:22.89ID:???wordpressのプラグインとか作ってても
ドキュメントに無いソースの奥に眠る関数とか探して調べるのにすごい疲れたわ
0559nobodyさん
2013/11/26(火) 20:04:02.44ID:???0561nobodyさん
2013/11/26(火) 20:29:19.30ID:???あんな意味不明なぐちゃぐちゃなコードどうやってメンテしてんだろう
0563nobodyさん
2013/11/26(火) 22:03:23.94ID:???0564nobodyさん
2013/11/26(火) 22:05:01.70ID:???0565nobodyさん
2013/11/26(火) 22:30:57.24ID:nldP7I2h無料でここまで何でも出来るCMSとかこのスレの馬鹿グラマには出来ないでしょうね。
0566nobodyさん
2013/11/26(火) 22:48:15.61ID:???せめてCakePHPで作られたCMSの話を……
0568nobodyさん
2013/11/27(水) 00:18:20.01ID:???CakePHPベースのCMSは、なんかなぁ、
どうせCakeなら自分で好きなようにしたくなっちゃう感じする。
0569nobodyさん
2013/11/27(水) 00:25:51.15ID:Rk4EDw/d0571nobodyさん
2013/11/27(水) 01:57:50.96ID:???どんなにドツボにはまってても、
あぁ、この泥沼に世界中の見知ら人が
何万と埋もれてるんだろうなという
温もりがWordPressにはある。
0572nobodyさん
2013/11/27(水) 03:22:25.52ID:mdMZh+ObMoval Type
0573nobodyさん
2013/11/27(水) 06:23:21.20ID:???スペリング違うけど、クソなのは同意。2.xに初めて触ったときは感動したけど、4.xで卒業したよ。最近のは知らない
0574nobodyさん
2013/11/27(水) 22:12:09.37ID:???cakeもプラグインをもっとメジャーにしようよ
wordpress派も流れて来るから
0575nobodyさん
2013/11/28(木) 01:28:07.13ID:???wordpressはphpなんて知らない人用のもの
0576nobodyさん
2013/11/28(木) 06:31:59.63ID:???0577nobodyさん
2013/11/28(木) 10:50:04.35ID:???商業的な成功には理念的な完成度は不要である例として
WordPressを引き合いに出してる。
0578nobodyさん
2013/11/28(木) 11:11:40.35ID:???無料配布でしょ?
0579nobodyさん
2013/11/28(木) 11:35:10.00ID:???>>578
かなり儲かってるよ
0580nobodyさん
2013/11/28(木) 11:36:57.69ID:???0581nobodyさん
2013/11/29(金) 02:16:14.63ID:???Fat Modelになりすぎてもだめ。
むずかしいよ、最初からそんな見通せないから、ついモデルに書いて太らせてしまって、
行数増えすぎてからうあーってなるよ。
ComponentとBehaviorも、気軽に作ってると数ばっか増えて、煩雑になってくる。
特にComponentが、コントローラーにもモデルにもアクセスできちゃうから、
つい責任持たせすぎになっちゃうよ。
0583nobodyさん
2013/12/01(日) 15:08:36.60ID:???久々に素のPHP書いたら、メチャクチャに面倒臭く感じた
でもそれだけにCakeとか使うのもなあ…。
0586nobodyさん
2013/12/01(日) 21:20:50.87ID:???メール用にはSwiftMailer選ぶんだけどバリデーションの部分はたまに悩む
Symfony2みたいなコンポーネントごとの独立性の高いFW知ってるなら
一部のコンポーネントだけ使えばいいらしいが
0587nobodyさん
2013/12/01(日) 21:35:29.81ID:???メール:CakeEmail
バリデーション:Model/Validator
フォーム:Formヘルパー
いや面倒だな`,、('∀`) '`,、
0588nobodyさん
2013/12/01(日) 21:58:22.92ID:???cakephp1のシステムを1年前に作ったんだが2で作り変えるか。。。迷い中。
ヤフーとかグリーとかミクシーみたいなでかい企業はどれくらいの頻度でやってるんだろ?
0589nobodyさん
2013/12/01(日) 22:06:14.84ID:???そういう企業は複数のシステムを持ってるものだから、一気に全部を作り直したりはしない
少しずつ手を付けていく
0590nobodyさん
2013/12/02(月) 00:36:17.56ID:???大体は「全体のデザインの中にフォームがある」ってスタイルになるから、
レイアウトやテンプレートをCakeで作らなければいけない。
そうなると、元々ある静的な部分を更新したら当然Cake側も更新しないと
整合性が取れないわけで、手間やコストが2倍に膨らんでしまう。
結局、Cakeやフレームワークを使うなら、全てそれで管理しないといけなくなる。
0591nobodyさん
2013/12/02(月) 09:12:38.83ID:???ちょこっと導入できるような小さなメールフォームのライブラリが、案外ぐぐっただけじゃ見つからなくて
これ以上探す時間が勿体無いから自分で書こうと思った
CAPTCHAのライブラリはすぐ見つかったので、それはさくっと採用したけど
とにかくさっさと動くようにして終わらせたくて、テストも書かずに作ったので
ブラウザでいちいち動作確認して、面倒臭かった
0592nobodyさん
2013/12/02(月) 09:38:56.13ID:???CakePHPの一部をコンポーネント/ライブラリとして他所で使う例を調べようと思ったが
CakeのControllerのComponentの話とCakeにサードパーティのライブラリを導入する話しか出てこない
0593nobodyさん
2013/12/02(月) 18:03:31.67ID:???/public_html
└contact.php
/cakephp
└/app
└/webroot
こういう構成だったとして、contact.phpにアクセスしたら
ContactControllerのindexを実行したいと思い、
#contact.php
$_GET['url'] = '/contact/';
require '../cakephp/app/webroot/index.php';
#webroot内の.htaccessのindex.php箇所
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
こんな風にしてhttp://example.com/contact.phpにアクセスしたんだけど、
「Contact.phpController could not be found.」ってエラーが出た。
やっぱ、public_htmlをアプリケーション化しないと無理なのかな?
0594nobodyさん
2013/12/03(火) 00:14:57.84ID:???0597nobodyさん
2013/12/03(火) 13:43:20.44ID:???0598nobodyさん
2013/12/03(火) 14:19:05.43ID:???全部小文字なわけがない。
0600nobodyさん
2013/12/03(火) 18:25:14.17ID:???0601nobodyさん
2013/12/04(水) 09:36:02.64ID:???なんか公開されてるのでやろうと思っても、なんか古いCGIを思い出させるのしかないんだよねぇ。
ちょっとバリデーションのところをカスタマイズしたいなと思っても、手を入れにくいし・・・
0602nobodyさん
2013/12/04(水) 09:51:23.15ID:???たとえ情報が間違っていて時代遅れでも検索上位にあるから初心者に利用されやすい
どんどん変なやり方や糞なプログラムが広がる負の連鎖を断ち切れなくなっている
The Right Wayみたいなベストプラクティスをまとめたサイトが現れるってことは英語圏でも事情は同じってことだな
0603nobodyさん
2013/12/04(水) 09:55:24.07ID:???素のPHPかフルスタックフレームワークか完成品かという感じ
0604nobodyさん
2013/12/04(水) 09:57:37.43ID:???htmlspecialchars_decode ってすごい関数名だよなあ
じわじわ笑いがこみ上げてきた、どうしてこうなったんだろ
0605nobodyさん
2013/12/04(水) 10:09:33.35ID:???メールフォーム程度だと悩む
まともにテストしてあるライブラリを探す手間を惜しんで
自分で全部書いてPHPの謎関数名や謎仕様を再び実感する羽目になる
0606nobodyさん
2013/12/04(水) 10:49:10.54ID:???当然、その頃と今ではだいぶ書き方も変わってるわけで、
「昔自分が作ったプログラム」を使いたくないから、1から書きたくなる。
0607nobodyさん
2013/12/04(水) 23:45:10.66ID:???もともとオブジェクト指向ではなくて
名前空間がなかったから。
名前が被らないようにしようと思えば
どうしても名前は長くなる。
0608nobodyさん
2013/12/04(水) 23:46:52.74ID:???メール受信じゃなくて送信だろ?
HTMLメールや添付ファイル付きメールを
送ろうとでも思ってるの?
メールフォーム程度なら
文字をエンコードする程度で終わりだろ?
0610nobodyさん
2013/12/05(木) 00:24:35.97ID:???GETほど手軽じゃないにせよPOSTのパラメータだってCookieだってリクエストヘッダだって好きにいじれるんだから
自分が書いたHTMLのフォームで設定した以外の値が送られてくる可能性は大いにある
それに一口にメールフォームと言っても入力が名前とコメントだけのものから企業のアンケートフォームまで色々ある
電話番号・郵便番号・メールアドレス・整数……よくある項目に対して毎回1から入力チェックを書く気はしないな
CSRF対策や二重送信防止・画像認証も1から書くのは時間の無駄だし
確かにCakeを持ち出すのは大げさかもしれんが馬鹿が素で書くよりマシじゃね
0611nobodyさん
2013/12/05(木) 00:41:23.84ID:???Webサイト全体をCMSやFWで構築するって話だとフォームは標準装備って感じじゃない?
昔みたいにメールフォーム設置3万円〜とかまかり通らないでしょ?
おしえてぷろのひと
0612nobodyさん
2013/12/05(木) 09:41:31.15ID:???ttp://basercms.net/news/archives/218
0613nobodyさん
2013/12/05(木) 10:21:18.03ID:???0614nobodyさん
2013/12/05(木) 10:27:58.21ID:???0616nobodyさん
2013/12/05(木) 10:45:00.73ID:???cakeに慣れてる人はcake使うからなw
0617nobodyさん
2013/12/05(木) 12:08:21.04ID:???Cakeベースってとこも、最新のが使えないという不便さはあるしなー
0618nobodyさん
2013/12/05(木) 12:23:17.69ID:???レイアウト使わないほうがいいな。
ヘッダー、フッター、サイドバーなんかはelementでまとめて
ピュアPHPのようにHTML上にコード埋め込む形の方が、
デザイナーとの共同作業時に捗るわ
0619nobodyさん
2013/12/05(木) 13:37:55.86ID:???カスタムできるお問い合わせフォームがついてるのは嬉しい
ただプラグインもテーマもまだまだ少なすぎる
デフォの機能で間に合うサイトなら使えなくもないかな―
0621nobodyさん
2013/12/06(金) 09:58:37.69ID:???レイアウトだとCakeの言語要素が強いから理解するまで難しいけど、、
elementだけなら、includeとかDreaweaverの挿入感覚で使用できるから、
Webデザイナーは一部の修正だけで済み、言語知識を必要としない。
故にWebデザイナーへの説明や、ビューの修正を依頼するときにわかりやすく、
自分の仕事(プログラミング)に専念できるから捗る。
ここまで書く必要ありましたかね・・・
0623nobodyさん
2013/12/06(金) 11:24:56.76ID:???/home/hoge/public_html
/home/fuga/public_html
こんな2つのディレクトリがあった場合、各public_html直下に
Cake本体のディレクトリを配置する感じになるんでしょうか?
0624nobodyさん
2013/12/06(金) 12:02:18.41ID:???レイアウトもエレメントも同じ仕組みで出来てるし、
その説明読んでも、あえて避ける必要性を感じないなぁ。
自分のアプリの見直してみても、
レイアウトもエレメントもビューも、全部HTMLに多少のifやforeachやヘルパーが入ってるだけで、
レイアウトだけなにか難しいってのは無いように見える。
てか良く考えたら、デザイン側の人にわかんねぇよって言われたこと無かった。
0625nobodyさん
2013/12/06(金) 12:27:57.95ID:???慣れるまで最初はそれでもいいかもしれんけど
複数のアプリを作ったりしたくて、サーバ丸ごと触れる環境なら
cakephp本体は/usr/local/libとかどこかに1つ置いて
ユーザーディレクトリの中にappの中身を置くようにするのがいいと思う
http://book.cakephp.org/2.0/en/installation/advanced-installation.html#sharing-cakephp-libraries-with-multiple-applications
0627nobodyさん
2013/12/06(金) 19:30:44.10ID:???「METAタグ挿入したいんだけどどうしたらいい?」
「CSSやJavascriptは?インラインで書きたい時もあるんだけど」
「titleタグもページごとに変更したいんだよね」
「そうそう、パンくずリストはどうするの?」
え〜まだまだ続ける?これら全てCakeの機能で実現できるけど、
Cakeを知らない人は出来ないよね。その前にPHPか。
デザインもプログラムも出来る人なら問題ないかもね。
0628nobodyさん
2013/12/06(金) 19:57:56.87ID:???0629nobodyさん
2013/12/06(金) 23:30:47.19ID:???やろうとするのが根本的な問題。
だから「お前には無理」で終わればいい。
0632nobodyさん
2013/12/07(土) 03:05:33.58ID:???できるプログラマーは、デザイナーの事を考えて作る。
できるデザイナーは、プログラマーの事を考えてデザインする。
そう思うんだよね。
0633nobodyさん
2013/12/07(土) 03:16:42.52ID:???で、自分の領域の仕事をこなす上で必要な知識は身に付けていかないとダメだと思うんよ。
0634nobodyさん
2013/12/07(土) 03:21:24.80ID:???0635nobodyさん
2013/12/07(土) 07:23:32.80ID:???かわいいデザイナーの娘と仕事がしたい
0636nobodyさん
2013/12/07(土) 10:04:31.60ID:???これがいつもじゃなくて、時々起こります。
なんでだろ〜?
0637nobodyさん
2013/12/07(土) 10:09:45.65ID:???ビューのテストはどうやればいいの?調べてもヘルパーのテスト方法しか出て来ない
0639nobodyさん
2013/12/07(土) 12:21:40.57ID:???デザイナー様に無理難題ふっかけるなよ。
0642nobodyさん
2013/12/07(土) 14:58:21.59ID:???JavaScriptはJavaScriptとしてテストしたらええやん。
画面としてテストしたいならせれにうむを使うやん。
0644nobodyさん
2013/12/07(土) 16:41:30.86ID:???使える・使えないの問題じゃなくて、
Cakeの仕様をデザイナーにも覚えさせるのか?
ってことだと思うが。
0645nobodyさん
2013/12/08(日) 01:28:28.09ID:???PHPUnitでHttpヘッダーのステータスコードをチェックするテストコードを書きたいが、
わからない。
【調べたこと】
公式で$this->headersにデータが入っているようなことが書いてあるが、取得できない。
・テストコード
$this->testAction( '/hoge.json', $request ); // 内部でステータスコードを変更するコードを出力
$this->headers // array() が出力される
・エラーコード発生場所(HogeController.php)
$this->response->type( 'json' );
$this->response->statusCode( 400 );
$this->response->body( json_encode( $body ) );
$this->response->send();
$this->_stop();
【前提】
RESTfulなコードを書いている。エラーはステータスコードを4XXや5XXなどとして、
コーディングしたい。
【環境】
CakePHP2.3
0646nobodyさん
2013/12/08(日) 17:12:58.59ID:???$this->response->header(); //全取得
$this->response->header('Server'); //Serverの値取得
$this->response->header('Server', 'foo server'); //Server: foo serverをセット
0647nobodyさん
2013/12/08(日) 17:17:32.39ID:???0648645
2013/12/08(日) 20:13:36.09ID:???>>646
CakeResponseの値を確認する場合は、
テストコード上ではHogeControllerのインスタンスはどのように持たせればよいでしょうか?
$this->testAction( '/hoge.json', $request );
$this->Hoge->response->header();
ModelでのテストではClassRegistry等を使ってsetupで
テスト側にインスタンスの持たせるかと思いますが、
Controllerのテストではどのようにインスタンスを持たせるのでしょうか?
0650nobodyさん
2013/12/08(日) 22:01:22.39ID:???意気込みで望むものではなくてさ、
テストがしにくいものを無くすぞって考えてやるべき。
テストしにくい所のコードをついばんでいって、
テストしやすい形に抜き取っていって、
最終的にどうしてもテストしにくい部分だけ最小限にして残す。
テストしにくいと思ったら、そのままのコードで残したらダメだよ。
そのままのコードでテストするなんて愚の骨頂。
0652nobodyさん
2013/12/08(日) 22:32:26.91ID:???ようは、テストもできねーようなコード書くなということか。
0653nobodyさん
2013/12/08(日) 22:43:19.55ID:???■ このスレッドは過去ログ倉庫に格納されています