トップページ⇒php
985コメント270KB

【PHP】フレームワーク CakePHP 15ホール目【v2.2】

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

※他フレームワークとの比較等はスレ違いです

■本家
http://www.cakephp.org/
APIドキュメント
http://api.cakephp.org/
github - cakephp
http://github.com/cakephp
the Bakery
http://bakery.cakephp.org/
CakeQs
http://cakeqs.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

前スレ
【PHP】フレームワーク CakePHP 14ホール目【v2.1】
http://kohada.2ch.net/test/read.cgi/php/1335859124/
0482nobodyさん2013/04/06(土) 11:04:36.90ID:???
Scaffoldやbakeって使ってる?
ぱっと見仕事では使えんって印象なんだけど
0483nobodyさん2013/04/06(土) 14:08:37.75ID:OGaSOh8K
シェルとコントローラーの共通処理はどこに書けばいいの?
コンポーネントを使っているんだけどモデルの使用は非推奨らしいし
普通はどうするの?
0484nobodyさん2013/04/06(土) 14:17:53.75ID:???
>>482
Scaffoldは使ったこと無いけどBakeは使う
アソシエーションとか自分で書くとミスる事あるし
0485nobodyさん2013/04/06(土) 17:24:40.44ID:???
>>482
使ってないな。一回開発したら共通のモデルとかコントローラが出てくるし、
それをコピペしながらカスタマイズする感じだな。
>>483
シェルでモデル使えるけど
0486nobodyさん2013/04/06(土) 17:28:37.37ID:???
俺も自分で書いた前製品のコントローラやモデルを使い回しているので、bake等は使わない
生成したものが製品でそのまま使えるケースってないんじゃないか
0487nobodyさん2013/04/06(土) 18:44:58.10ID:???
>>482
bake も scaffold も捨てちゃったら Cake のメリット半減するんじゃないか?

テーブル作った直後、まだカラムが流動的なときは scaffold 、
ほぼテーブルのスキーマが決まったかなという時点で bake
その後の開発ではそこでできたファイルを適宜修正

ってのが理想的なフロー

とは言え、現実的にはなかなかそうはならない。

>>483
>モデルの使用は非推奨

おい、そんなデタラメ誰が言ってるんだよ
むしろ推奨だよ
0488nobodyさん2013/04/10(水) 18:01:06.48ID:???
散々既出だと思うけど、Cookbook2.xの日本語版ないのか
俺は英語でも良いんだけど、同僚に見せたいのに困るな
0489nobodyさん2013/04/11(木) 11:55:18.07ID:???
マニュアルか?ググったら即効出てくるぞ
0490nobodyさん2013/04/11(木) 12:08:30.31ID:???
1.3のはあるけど、2のがないんだよ
0491nobodyさん2013/04/11(木) 12:17:18.06ID:???
「cookbook2 日本語」でググったか?
どんだけ検索能力ないんだよ
0492nobodyさん2013/04/11(木) 13:24:26.40ID:???
ごめん、俺の書き方が間違ってた

× Cookbook2の日本語版がない
○ Cookbook2の日本語版には英語版にあるページがない(全部訳されてないっぽい)
0493nobodyさん2013/04/11(木) 13:35:21.05ID:???
いい加減にしろ
0494nobodyさん2013/04/11(木) 14:10:30.99ID:???
はい
0495nobodyさん2013/04/11(木) 15:20:25.40ID:???
日本語が不自由でもPHPは使えるんですね。




あ、使えてないか(笑)
0496nobodyさん2013/04/11(木) 17:27:04.18ID:q32J/zOv
CakeDC users pluginをインストールして正常に動作しています。
それで、実際のアプリケーションはどこに書いたらいいのか分かりません。

プラグイン内に追記していいのでしょうか。
普通、プラグインの中身を書き換えたりするものなんでしょうか?

それとも、app以下にいつもどおりアプリケーションを作るのでしょうか。
その場合、どうやったらプラグイン内のアクションやビューを拡張できますでしょうか。

初歩的な質問ですみませんが、調べても分かりませんでしたので教えて下さい。
0497nobodyさん2013/04/11(木) 17:42:33.10ID:???
    ∧__∧
    ( ・ω・)   いやどす
    ハ∨/^ヽ
   ノ::[三ノ :.、
   i)、_;|*く;  ノ
     |!: ::.".T~
     ハ、___|
"""~""""""~"""~"""~"
0498nobodyさん2013/04/11(木) 17:49:30.50ID:???
まず、CakeDC users pluginを知らない。有名なプラグインなのか?
0499nobodyさん2013/04/11(木) 17:54:19.52ID:???
有名もなにもCakeDCはcakephp謹製なんだ
でもuserは使ったこと無い。
んでpluginに直接手を入れるってのは普通やらない
App内のControllerからPlugin.Compinentを呼んだり同じくBehaviorをModelから呼んだりってのが普通
0500nobodyさん2013/04/11(木) 19:18:55.66ID:???
>>499
ありがとうございます。
0501nobodyさん2013/04/11(木) 22:30:36.69ID:3witJWIv
テストのfixtureでindexを定義する方法をご存じでしたら、教えてもらえませんか?

Modelのfindで以下のように定義を追加してindexを使用するようにしています。
'joins' => array('FORCE INDEX(hoge)')

ただテスト時に作成されるDBにはindexが張られていなくて、テストを作ったらエラーになってしまいます。
0502nobodyさん2013/04/14(日) 20:14:25.82ID:???
iPhoneアプリ. Windowsアプリを売って生き残れ Ver 1.7 リンク数61
Http://qr. net/kh4y
0503nobodyさん2013/04/15(月) 10:52:07.00ID:ad40gkzw
よろしくお願いします。
CakePHP2のfindでアソシエーションをしているのですが、conditionsに
ModelA.ColumA=>"aaa",
ModelB.ColumB=>'cccc'
とやっても複数モデルの条件検索が通らず困っています、何卒よろしくお願いします
0504nobodyさん2013/04/15(月) 11:47:30.23ID:???
コマンドからではなくてブラウザからbakeする方法ってないですか?
自作しないとそういう機能はない?
0505nobodyさん2013/04/15(月) 13:54:39.83ID:???
>>504

ブラウザからbake出来ちゃうとセキュリティー的に危ないだろw
0506nobodyさん2013/04/15(月) 14:02:45.08ID:???
そりゃ答えになってないだろ
debugモードじゃないと動作しないとかいくらでも可能だろ

俺の知るかぎりじゃ存在しない
0507nobodyさん2013/04/15(月) 15:15:48.14ID:???
>>503
それだけじゃよく分からんが、SQLを見てどうなってるの?
二つじゃダメでも一つだとOKなの?
そもそもちゃんとアソシエーションは組まれてて、
絞り込みをしない場合には結果取得できてるの?
0508nobodyさん2013/04/15(月) 15:18:02.08ID:???
>>504
聞いたこと無いな
検索してもそれらしいのはなかった
0509nobodyさん2013/04/15(月) 15:21:01.40ID:???
>>501
確か出来たよ。
テストも通常のも同じはず。

ちょっとやりかた忘れた、というかそもそも覚えちゃいないけど、
組み込みのソースで、なにか適当なサンプルになりそうなのがあったんじゃないか?
Testじゃないけど、Acl周りのスキーマ見てみた?
0510nobodyさん2013/04/15(月) 19:20:03.21ID:???
やはり>>504はできないですか
そういう機能作れそうだから自作すればいいのかな
ローカルだと鯖のDBに繋げないから、鯖側で作りたいんだよね
0511nobodyさん2013/04/16(火) 07:27:27.51ID:???
ろーかるだと鯖につなげない?
繋げば良いじゃん

鯖でやりたい??
やればいいじゃん
0512nobodyさん2013/04/16(火) 13:39:21.70ID:???
>>511

鯖のセキュリティーポリシーで、クロスドメンできないんじゃないの?
0513nobodyさん2013/04/25(木) 17:49:24.04ID:???
2.3.3きた
セキュリティ関係だそうで
0514nobodyさん2013/04/25(木) 22:03:05.11ID:???
CakePHPが他のフレームワークより優れてるとこってどこやろう?
どれも一長一短
0515nobodyさん2013/04/26(金) 11:06:34.66ID:???
>>513
恐ろしく致命的
0516nobodyさん2013/04/26(金) 11:23:55.31ID:???
Authコンポーネント使っててSecurityコンポーネント使ってない場合限定の脆弱性ではある。
普通組み合わせて使うからな。
0517nobodyさん2013/04/26(金) 14:52:40.50ID:???
>>516
Securityコンポーネント使ってても問題が発生したぞ
0518nobodyさん2013/04/26(金) 23:58:38.16ID:???
Cakephpはセキュリティ面が劣るという意味でしょうか?
初心者ですいません
0519nobodyさん2013/04/27(土) 01:42:03.53ID:???
2.2系でパッチを出してないってことは2.2から2.3に
アップデートした際のバグなんだろ。

セキュリティリスクは何使ってても存在するんで、
Cakeがダメなら何がOKってもんでもない。

メジャーなオープンソースだと攻撃者にしてみれば
ターゲットが沢山あるんでクラックしがいがあると同時に
開発者も多いんで対応も早い。

極端な話、誰にも公開していないオレオレフレームワークを
自分だけで使ってたとして、よほど物好きじゃない限りわざわざ
セキュリティホールを探してクラックしてみようとは思わない。

これは別にWebに限った話じゃないけど。
0520nobodyさん2013/04/27(土) 02:21:37.37ID:???
Cake2.x系でSmarty使ってる人いる?
情報があんまりないから、もうSmarty使わないのかな
0521nobodyさん2013/04/27(土) 11:43:57.26ID:???
Smartyとかもう懐かしむ対象だろ
0522nobodyさん2013/04/27(土) 12:05:08.54ID:???
2.3の件、詳細は後で教えるから先にアップデートしろって案内なのか。
意図はわかるけど、先に詳細を知りたい気もするな。
0523nobodyさん2013/04/27(土) 12:10:24.19ID:???
>>522
本家のサイトに毎回きっちりアップデートログ出てるだろ
一体どこ見てんの?
0524nobodyさん2013/04/27(土) 12:12:47.67ID:???
それか、あれを読んでのことなら普通はあれ以上のことは言わないだろ。

どんなセキュリティホールがあったかなんて具体的なこというと
ふざけてアタックする連中をいたずらに増やすだけ。
0525nobodyさん2013/04/27(土) 13:09:11.47ID:???
>>524
そうそう、どんなセキュリティホールなのか具体的な記述がないことを言ってる
理由もわかるけど、先に知りたいなあと思っただけ
0526nobodyさん2013/04/27(土) 14:40:04.43ID:???
>>525
公開されたら試すやつが続出する。それくらい簡単な操作で発生する。
0527nobodyさん2013/04/27(土) 14:42:12.75ID:???
なんでお前はそれを知ってるんです?
0528nobodyさん2013/04/27(土) 15:39:38.12ID:???
CakePHP のログの一番先頭の
db6dd18 Fixing case where it was possible to pass array data to FormAuthenticate fields
から github で履歴見たら?
配列のデータを渡された場合の対処が考慮されていなかったんじゃない?
0529nobodyさん2013/04/27(土) 22:03:51.99ID:???
シェルのテストの書き方がわからねえ…
ぐぐっても2が出る以前の古い記事しか出て来ない
色々やったけどモデルがundefinedで例外になるなあ、どうすればいいんだろう
0530nobodyさん2013/04/28(日) 00:40:22.04ID:???
>>521
そうなんだけど、期間指定でググると
Smarty自体使ってる人は結構いるみたいなんだよ。
PHPの解説なんかでSmartyの話しだしたりさ。

ただ、Cakeではそういう意見が見当たらないから
使ってないのかな?と思ったわけで。
0531nobodyさん2013/04/28(日) 01:01:05.99ID:???
使用者が少ないのか、情報が少なくてもうダメだな
0532nobodyさん2013/04/28(日) 01:02:45.63ID:???
>>530
CakePHPはテンプレートは素のPHPに見えるctpファイルって基本があるのに、
わざわざSmartyにする必要ないじゃん。
しかも下火になってるSmaryに。
まぁCakePHP+Smartyでやってるとこはあるよ。
保守でまだまだ1.3を使ってる人もいるし、
昔Smarty組み込んでそのままってアプリもあるだろうしな。
2でSmartyってとこがあるのかは知らん。
0533nobodyさん2013/04/28(日) 03:42:12.33ID:???
ctpでコーディングしてくれるデザイナーやコーダーっているの?
いや、いるだろうけど、嫌がったりしないんだろうか
0534nobodyさん2013/04/28(日) 12:59:08.75ID:???
ctpでコーディングするには、ある程度PHPの知識が必要だぞ。
逆で、デザイナーが作ったデザインに
プログラマがPHP埋め込んでctpで保存して、
一部をデザイナーやコーダーが修正する、ってならあるだろうけど。
0535nobodyさん2013/04/28(日) 17:25:52.78ID:???
なんでもSmartyだった、フレームワークもまだそんな無かった頃ならまだしも
フレームワークのテンプレートを分かるデザイナーは増えてるよ。

>>534 のようなワークフローで対応してる会社もあると思う。
ただ、デザイナーならまだしも、コーダーならctp分かると思うけど。
0536nobodyさん2013/04/28(日) 17:31:43.26ID:???
昔は大概のプログラマの知識でコーディングもカバーできたけど、
今はちょっとなぁ。
javascript のコード規約をうっかり忘れるととんでもないものを作りかねない。

ここまでjavascriptが重要になってくると、
JS使いの人間がコーディングの中心に立って
HTML使いとサーバーサイドの人間を上手く使ったほうが
効率がいいんじゃないか?
0537nobodyさん2013/04/28(日) 17:33:51.93ID:???
Smarty はもはや話者の少ない訛りのきつい方言みたいになったな
0538nobodyさん2013/04/29(月) 03:00:33.08ID:???
第三者がテンプレいじらない限りには、
WordpressみたいにPHPを直接編集させるほうが効率いいよな
0539nobodyさん2013/04/29(月) 22:19:28.10ID:???
Windows上でPHP+CakePHP+MySQLのシステム開発をしようと思うんですが。
特に問題ありますか?
Linux上でした方が良いのでしょうか?
0540nobodyさん2013/04/30(火) 04:02:38.43ID:???
普通にやってる人もそれなりにいるが、お勧めはしない。
大抵サーバーはLinuxだろうから、そりゃLinuxかMacでやったほうがいいよ。
本来Windows向けじゃないものを、ユーザーが居るからって、
ちょっと無理して動くようにしてるんだから、なにかトラブルにあたる事もやっぱある。
それを解決したりする努力って、本来しなくてもいいことだし、
解決してもサーバーで動かすときには必要の無い知識になるよ。
0541nobodyさん2013/04/30(火) 04:03:29.10ID:???
特に問題はない。
俺は自宅で作成してる時はいつもWindowsでやってる。
会社ではMac

改行コードが問題になる場合は注意。
あと何だろう。
何か細かい問題があった気がするが今思い出せない。
0542nobodyさん2013/04/30(火) 05:37:18.71ID:99fKZa1l
unixでやるに越したことはない。

だからといって是が非でもって訳でもない。

たぶん誰に聞いても同じ答え。
0543nobodyさん2013/04/30(火) 12:03:11.61ID:???
今回のセキュリティパッチはすべてのバージョン対象。
Cakeユーザは見逃すな!

http://bakery.cakephp.org/articles/markstory/2013/04/28/security_release_-_cakephp_1_2_12_1_3_16_2_2_8_and_2_3_4
0544nobodyさん2013/04/30(火) 14:22:37.74ID:???
>>539
xamppとかインストールすれば
0545nobodyさん2013/04/30(火) 17:35:18.21ID:???
>>543
とのことですが、単にcakeフォルダを上書きすればOKなんですかね?
0546nobodyさん2013/04/30(火) 20:27:50.68ID:99fKZa1l
>>545
出来るだけフォルダ入れ替えた方がいい

上書きだとゴミが残ってるかもしれないから
0547nobodyさん2013/04/30(火) 21:19:55.24ID:???
開発はWindowsでやって、運用はLinuxでしてみようと思います。
パソコンがその分必要になりますが・・・

xamppはバージョンが古い(安定版?)ですよねぇ
0548nobodyさん2013/04/30(火) 21:22:43.35ID:???
>>547
そうか、まぁお勧めはしないが、
Windowsならではのトラブルに当たらないよう祈ってるよ。
0549nobodyさん2013/04/30(火) 22:16:07.30ID:???
>>547
それはガチでやめたほうがいい

開発環境も本番環境もOSやPHPのバージョン揃えるのは当たり前
mysqlとかwinだと小文字大文字区別ないけどlinuxだとちゃんと区別されたりするし
0550nobodyさん2013/04/30(火) 23:05:04.60ID:???
当たり前でもないけどな…
0551nobodyさん2013/04/30(火) 23:49:40.85ID:???
まぁ、大抵の本番のサーバーはLinuxかUnixだろうから、
開発環境もLinuxかMacにするのがいいよ。
Linuxは、自分でWindows消してLinuxに入れ替えるとかになるからちょっとハードル高くて、
だからweb系の開発者でMacユーザーが増えてるんだろうね。

俺は、最近のMacはちょっと不満点も増えてきて、Linuxにしたいなとか思ってはいるけど、
今のところMac使ってるよ。
Windowsで開発はしたくないな。
0552nobodyさん2013/05/01(水) 00:00:20.35ID:???
何作るつもりなのか知らないけど、そんなに神経質になることないよwww
自宅では個人運営のサイト100近くつくってて、そのうち20個ぐらいがCake使ってるけどWindowsで特に問題ない。
まぁ、ほとんどがアフィリエイト用なのでセキュリティとか微妙なとこをほとんど気にしてないって言うのもあるけどな。
業務で顧客に納品するのでなければ問題が起きてから対処したんでも十分だろ。
0553nobodyさん2013/05/01(水) 01:21:57.64ID:???
ローカルではxampp入れて動作確認し、
実際の運用のLinuxのサーバだけど、どっちも問題ないよ。
0554nobodyさん2013/05/01(水) 15:06:08.04ID:???
開発と運用でOSを合わせたほうがいいっていう話だが、
それ以上に PHP のバージョンだけはあわせておいたほうがいいと思う

Cake本体は動いても、自分のコードがバージョンが変わると
根本的に不具合だらけっていうのは PHP にあまり精通していないとよくあることだから。
0555nobodyさん2013/05/01(水) 15:59:51.24ID:???
PHP4系ならそういうことはよくあったけど、5になってほとんどないけどなぁ
0556nobodyさん2013/05/01(水) 16:37:12.46ID:???
Yiiで自作した無名関数使いまくったライブラリを移植して結構使ってて、
いざアップロードするっていうときに実はサーバが5.2系だったので泣いた
0557nobodyさん2013/05/01(水) 17:12:46.52ID:???
VMWareかなんかで仮想環境にLinux入れとくといいよ
0558nobodyさん2013/05/01(水) 19:30:07.31ID:???
開発はxamppで何年もやってる
全然mondainai。
0559nobodyさん2013/05/01(水) 21:48:27.32ID:???
Winで開発しててLinuxで運用しる場合に問題がありそうなところって何だろう?

メール、cron、ファイルの名前、改行コード、ぐらい?

あと何かある?
0560nobodyさん2013/05/01(水) 22:07:33.34ID:???
会社でレンタルしてるサーバーがLinuxでしたので
んで、会社で支給されてるマシンはWindowsです

簡単な在庫管理表を作って欲しいとのことでしたので
でも、機能拡張するならDB設計をしっかりしたいですね

PHPのバージョンを揃えるのは肝心ですね
最新は5.4でしたか
Cakeは2.3.4

後、大文字小文字ですね
0561nobodyさん2013/05/01(水) 23:54:07.23ID:???
じゃVM使えばぁ?
0562nobodyさん2013/05/02(木) 00:36:37.40ID:???
VMって簡単に言うけど、あんなモッサリしたので仕事になるか?
せいぜい動作確認に使って、その場で部分的に修正とかだろ。
ネイティブ並みにさくさく動けば文句ないけどな。
0563nobodyさん2013/05/02(木) 07:02:45.49ID:???
>>562
3年前のPhenom�U 4コア メモリ16Gだけど、
そんなに遅くなることないな。。。
どういうスペックのPC使ってるの?
0564nobodyさん2013/05/02(木) 11:11:06.34ID:???
>>563
i5(4コア) 2.8GHz メモリ16GH だから似たようなもんだけど

キーを押してレンダリングされるまでのタイムラグがめっちゃ気になる
0565nobodyさん2013/05/02(木) 13:47:46.97ID:???
i5、メモリ16GでVM遅いとか、どんな構成で構築すれば遅く出来るんだ?
0566nobodyさん2013/05/02(木) 20:56:11.81ID:???
>>564
俺はメモリ8GBだけど、全くモッサリ感なんて無いけどな
単純にお前さんの設定がわるいだけじゃないか?
ちなみに俺はVMにCentOSをインストールして、SSHから接続してるが
0567nobodyさん2013/05/02(木) 21:27:30.92ID:???
>>564
一度VM環境を再インストールするとか、バージョンアップするとか。。。。
おいらはVmwarePlayerを使ってるけど3.x→4.xの時は体感できるほど
パフォーマンスが上がった気がする。
あくまで気がするってだけだけどね。
0568nobodyさん2013/05/02(木) 22:57:54.56ID:???
会社でCeleronを詰んだマシンがあるので、それにLinux環境を構築してみます
レンタルサーバーと同じ環境になるかは微妙ですが。
メモリが512MBしかないですけど・・・
CakePHPは入るかな?
そんなに容量いらなかったと思いますが

VmwarePlayerは使ったことないんですよね(#^.^#)
Windows8にLinux64bit版のVmwarePlayerをインストールしてみようかなぁ
0569nobodyさん2013/05/03(金) 00:28:42.70ID:???
>>568
実機をサーバ化するのはいいけど、ネットワーク関係は大丈夫なのか?
ローカルIPでサイト確認もできなくはないし、DDNS使うのもいいだろうけど、
お前さんはあまりサーバについて詳しくなさそうだから、
素直にVPSでも借りたほうがいいじゃないか?
安いのだと月額数百円であるし。
0570nobodyさん2013/05/03(金) 11:10:57.16ID:QBmSRWYj
環境揃えたいなら仮装環境つかうなりすりゃいい
0571nobodyさん2013/05/03(金) 13:37:07.31ID:???
開発環境のはなししてんじゃないの?なんでVPS借りるとかの話になってくんの?
あとSSHとかも意味わからん
0572nobodyさん2013/05/03(金) 13:52:20.25ID:???
てかそもそも完全にスレチだろ
他所でやれよ
0573nobodyさん2013/05/03(金) 16:43:30.21ID:???
お前ら、最短でCake使ってどんなサイト作ったことある?
0574nobodyさん2013/05/03(金) 16:48:03.49ID:???
1時間で簡易ブログ
0575nobodyさん2013/05/03(金) 17:31:58.80ID:???
確かに出来るな。WYSIWYGエディタはオープンソースのを使えばいいし。
0576nobodyさん2013/05/05(日) 03:42:05.80ID:???
Call to a member function save() on a non-object
ってでる・・・なんでや・・・

modelにもcontrollerにも書いたぞ・・・
エスパーしてくれ
0577nobodyさん2013/05/05(日) 03:50:24.41ID:???
モデルのオブジェクトの参照が見つからないんだろ。
よくありがち。
前後の文脈は?
0578nobodyさん2013/05/05(日) 04:24:59.08ID:???
メソッドが定義されてないってとこよりnon-objectに注目
0579nobodyさん2013/05/05(日) 12:50:53.00ID:???
dbが指定できてないかモデルが指定できてないってことでいいのかなぁ
0580nobodyさん2013/05/05(日) 22:21:46.26ID:???
いくつも可能性がありすぎてこれ以上は不可能
0581nobodyさん2013/05/05(日) 22:28:34.51ID:???
暇だから皆のよく使うプラグインでも書いて行かねぇ?

TwitterBootstrap
■ このスレッドは過去ログ倉庫に格納されています