トップページ⇒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/
0360nobodyさん2013/03/11(月) 18:32:21.80ID:???
なにもかもバグとみなしちゃう人って
0361nobodyさん2013/03/11(月) 19:05:00.09ID:W/IPgsU1
>>359
取り敢えずしねよ
0362nobodyさん2013/03/11(月) 19:19:04.54ID:???
おーおーキレちゃいましたかぁ
0363nobodyさん2013/03/11(月) 19:26:51.17ID:???
あーこれはダメですよ。いけませんねえ
03643562013/03/11(月) 19:45:33.19ID:gBMHE97E
いかん。解決できない。

誰か教えてください。

datatype="text"
とか一通りやったけど
JavaScriptでアクセスするとなぜかHTMLが返って来てしまう
0365nobodyさん2013/03/11(月) 19:55:30.31ID:???
>>361をとりあえず謝ろうか。
そうすれば答えてやらんでもない。
というか自分でもう答え出てるはずなのになぜしない。
0366nobodyさん2013/03/11(月) 20:15:32.15ID:???
まぁ、初心者なんだからそうムキになるなって

>>364
いいのを教えてあげるよ
まず、君のブラウザのURLに http://google.co.jp/ って入力してみて。

OK?

すると小さなテキストボックスが見えると思う。

そこに、例えばそうだな・・・ "CakePHP ajax" とか入れてみて。

OK?

じゃぁ、隣にある虫眼鏡のマークの着いた青いボタンがあると思う。
それを押してみて。

どう?
いくつかリンクが出てきた?

そしたらそれを上から順に開いて読んでいってみて。

僕からのアドバイスはここまでかな。
じゃぁ、検討を祈るよ。
03673562013/03/11(月) 20:49:39.25ID:gBMHE97E
自己解決しましたwww
このスレのバカどもに質問しなくても良かったwwwwwwwwwwwww
0368nobodyさん2013/03/11(月) 20:53:24.32ID:???
>>367
時間かかったねー
0369nobodyさん2013/03/11(月) 21:01:42.52ID:???
よかったねー
0370nobodyさん2013/03/11(月) 22:13:15.35ID:???
ajaxもできないクズプログラマにバカ呼ばわりされる日が来るとは
0371nobodyさん2013/03/11(月) 22:44:11.64ID:???
クズくそわろたwww
二度とくんなw
0372nobodyさん2013/03/11(月) 22:47:48.37ID:gBMHE97E
        /⌒ヽ⌒ヽ
               Y
            八  ヽ
     (   __//. ヽ,, ,)
      丶1    八.  !/
       ζ,    八.  j
        i    丿 、 j
        |     八   |
        | !    i 、 |
       | i し " i   '|
      |ノ (   i    i|
      ( '~ヽ   !  ‖
        │     i   ‖
      |      !   ||
      |    │    |
      |       |    | |
     |       |   | |
     |        !    | |


    てめぇえらドアホは、これでも咥えてろ
0373nobodyさん2013/03/11(月) 23:15:24.16ID:???
あら、ずいぶん細いのね
0374nobodyさん2013/03/12(火) 02:53:11.65ID:???
>>367
>>366 に解決してもらったんだからお礼くらい言ったらどうかね
0375nobodyさん2013/03/14(木) 11:10:44.04ID:???
cake2.xの辞典でるね
助かるわ
0376nobodyさん2013/03/14(木) 12:19:21.66ID:???
やっと出るのか。助かるな
0377nobodyさん2013/03/14(木) 12:52:40.88ID:???
Cake1から2で結構変わってるけど書き方変えただけとか意味のない変更ばかりだなあ
正直気紛れでいろいろ変えられても困る
0378nobodyさん2013/03/14(木) 13:29:34.39ID:???
>>377
意味のない変更ってどれ?
長期的には振り返ってみて無駄な変更だったってのはあるかも知れないけど、
その時点では少なくとも意味もなく変更したものってないんじゃないの?
あったら教えてほしいわ。
ほとんどの変更の理由はちゃんと change log に書いてる。

「意味のない変更」っていうより、
「意味の分からない変更」なんだろ?
0379nobodyさん2013/03/14(木) 13:32:44.74ID:???
意味のない変更w
あーバカはさわるなよ
0380nobodyさん2013/03/14(木) 14:56:36.32ID:???
じゃあファイル名がキャメルケースに変わったのはなんで?
どっちでもいいと思うんだけど、何故わざわざ変えた?
0381nobodyさん2013/03/14(木) 16:05:31.02ID:???
全体を統一させるため
0382nobodyさん2013/03/14(木) 17:46:35.24ID:???
キャメルケースになったのはクラス名とファイル名を同じにすることにしたからじゃないの?
お陰でファイル名見ただけで、クラスが定義されてるかどうかが分かるようになった。

唯一の例外が exceptions.php (1ファイルで複数定義)だが。
0383nobodyさん2013/03/14(木) 19:01:42.10ID:UkYLgnwt
cakePHP2 で画像認証とか入れたいんだけど
オススメはある?

そもそもcakePHPのmvcモデルでそもそも出来るんだろうか?
0384nobodyさん2013/03/14(木) 19:04:50.20ID:???
そもそも自作したら出来るよ
0385nobodyさん2013/03/14(木) 21:54:40.14ID:???
>>383
作ってみると意外に簡単
0386nobodyさん2013/03/14(木) 23:12:28.06ID:UkYLgnwt
>>385
参考サイトを教えて下さい。
0387nobodyさん2013/03/14(木) 23:53:30.90ID:???
>>386
サイトは忘れたけど、GDライブラリを使って、四角の中に文字を大きさと傾きと位置をランダムで変えて重ねるだけ。
あとは重ねた文字をセションで録っとけば付き合わせできるでしょ?
0388nobodyさん2013/03/15(金) 00:00:00.26ID:???
そんな面倒なことしなくても
アクセスカウンターみたいに適当な数字の画像作って、
画像をランダムに取得して表示すればいいんだよ。
ランダム値のクッキーを持っておけば、画像認証に使える。
0389nobodyさん2013/03/15(金) 00:14:38.89ID:???
お前らは一体何を言ってるんだ?
バカは無理して答えちゃダメだぞ

Kcaptcha cakephp
で検索
0390nobodyさん2013/03/15(金) 14:10:50.98ID:???
Cake2.2を使っているが、テーブルのcreated,modifiedは作成時に自動で入れてくれるみたいだが
saveやupdate時に、modifiedが自動で更新されないようだけど仕様?
そのくらい自動でやってくれても良さそうなもんだが、どこかに設定などあるのだろうか
0391nobodyさん2013/03/15(金) 15:41:02.58ID:???
???
0392nobodyさん2013/03/15(金) 15:41:14.04ID:???
俺はupdatedにしてるけど、自動で更新されるよ
0393こず2013/03/15(金) 17:55:41.38ID:???
初心者なのですが、課題でcakephpを使ってCMSを作るのですが、開発環境構築で
どうしてもDB(PostgreSQL)に接続できずに「Cake is NOT able to connect to the database.
Datasource class PostgreSQL could not be found.」と出てしまいます(泣)

やった事としては
C:\xampp\htdocs\cakephp\app\Configの中のdatabase.php.defaultをリネームしてdatabase.phpに変更。
開いて
class DATABASE_CONFIG {

public $default = array(
'datasource' => 'Database/PostgreSQL',
'persistent' => false,
'host' => 'localhost',
'port' => '5432',
'login' => 'postgres',
'password' => 'postgres',
'database' => 'cakephp',
'schema' => 'public',
'prefix' => '',
'encoding' => 'utf8',
);に変更を掛けてみた。
で、他にちゃんとdllがあるかどうかphpディレクトリ内を見てもあるし、壊れてる事もないかと思われる。
DB側ではコマンド使ってcakephpってdbを作成し、tableを作成しrolを作り権限を与えた。
CREATE ROLE cakephp2 WITH LOGIN PASSWORD 'cakephp_pass'
GRANT SELECT, UPDATE, INSERT ON cakephp1 TO cakephp2;
これ以上どうしたらいいか分からないです…(泣)

初心者すぎて何がおかしいのか、何が正しいのか分からず悪戦苦闘を通り越して
悶絶してます。。。
0394nobodyさん2013/03/15(金) 17:59:05.60ID:???
>>390
更新させる時のデータから削除しとかないとだめなのだけど、そこは大丈夫?

そういう仕様にしないと、明示的にタイムスタンプを保存する手段がなくなっちゃうからな
0395nobodyさん2013/03/15(金) 17:59:26.60ID:???
そのまま半年悶絶し続けてください。
半年後もう一度書き込んでください。
0396nobodyさん2013/03/15(金) 18:02:08.52ID:???
>>393
ん?
データベースの設定と設定ファイルとが異なっているのはなぜ?
0397nobodyさん2013/03/15(金) 18:14:35.03ID:ErWJB8E6
>>393
あなたのPCの中身まではわからないのであくまで可能性だけど
�@ポートが違う�Aログイン情報が違う�Bデータベースがそもそも作られてない などが考えられる

基本的にログイン情報が確かならばbakeコマンドで設定ファイル作れば確実だから、bakeでやってみそ

あとなんで権限を作ってるのにそれを設定ファイルで無視してるの?
まあ「postgres」は何もいじってなければスーパーユーザーになってるからそこは問題じゃないけど
ちなみにデータベースさえあればテーブルがなくても接続はしてくれる
0398nobodyさん2013/03/15(金) 18:32:22.34ID:???
若干ずれた話だけど、
CakePHPは海外製で、海外ではPostgresは下火。
なので、バグの踏み抜かれ率はMySQLの方がいいと思っている。
使ってる人に聞いたら、CakePHP2になって最近はPostgres対応も良くなってるらしいけどね。
0399nobodyさん2013/03/15(金) 18:42:25.60ID:???
今は日本でもどんどんMySQLに移行してる
てか速度も機能もどちらも進化してほぼどっこいになってるから、ほぼデファクトスタンダードになりつつあるMySQLを使わない理由があんまりない
0400nobodyさん2013/03/15(金) 18:51:57.40ID:???
MongoDB は使いたいんだけど使う機会がないなぁ
0401nobodyさん2013/03/17(日) 15:30:21.57ID:52JIKnwB
お知らせ

市原警察署の生活安全課の帰化人創価警官の指導の元、
入学式から2週間ほど、在日の創価学会員を主体とした自称防犯パトロールが、
2週間ほど行われることになりました

生活安全課の指導であることと、パトロールであることは、
絶対に公言してはいけないとの指導も、帰化人創価警官より出ています

期間中は2人組の在日の創価学会員が、頻繁に創価批判者の自宅周辺を、
うろつき回ると思われます
日本人の方は、充分に注意してください
0402nobodyさん2013/03/18(月) 11:54:42.05ID:3ophCmi8
>>394
えっと…削除させなきゃいけないって…どういう意味でしょうか?ホント初心者でごめんなさい(泣)
>>396
本当だっ!!直してみますっ!!
>>397
権限作ったのはいいものの、どうやってPHPの方に書いていいか分からずスルーしちゃいました…;;
>基本的にログイン情報が確かならばbakeコマンドで設定ファイル作れば確実だから、bakeでやってみそ
bakeコマンドか分からないけど調べてやってみますっ!!
0403nobodyさん2013/03/18(月) 12:23:45.66ID:???
>>402
CakePHPのORMがUPDATE ステートメントを発行する際に、
次の2つのことを調べて、それを満たした場合に
親切丁寧に現時刻をセットしてくれているのだよ。

2つのこととは、
1. テーブルのスキーマにタイムスタンプフィールドがあるかどうか → なければ処理しない
2. 保存しようとしているデータにそのフィールドの値がセットされていないかどうか → 「セットされていれば」処理しない

で、よくありがちなのが、Modelから単純に取得したままのレコードにタイムスタンプフィールドが含まれていて、
それをそのままにして更新しようとして "update" や "modified" が更新されないということ。
0404nobodyさん2013/03/18(月) 15:46:27.55ID:3ophCmi8
>>403
ありがとうございますっ!!でも、これは実際の処理に入ってからですよね??
アレ。。。違うかなぁ。。。
えっと開発環境を整える段階で接続
「Cake is NOT able to connect to the database.
Datasource class PostgreSQL could not be found.」
と出てしまうのでどうしたらいいのかと。。。はぅ(≡ε≡;A)
0405nobodyさん2013/03/18(月) 16:09:20.83ID:???
うっせえぼけ
0406nobodyさん2013/03/18(月) 16:20:06.38ID:???
>>404
お前、回答を全然咀嚼できてないwww

まずこれまでお前にレスしてくれた数と同じ回数だけ
公式のブログチュートリアルとACLチュートリアルをやれ。

最後は参考資料を一切見ずにブログチュートリアルと
同じ結果を一箇所も間違わずに実現してみろ。

それまで質問するな。
0407nobodyさん2013/03/19(火) 02:38:14.33ID:???
誰か辞典買った?
0408nobodyさん2013/03/19(火) 11:48:24.50ID:???
今更すぎて買わない
0409nobodyさん2013/03/19(火) 18:17:38.42ID:???
ですかねぇ〜

あれば便利なんだけど、ドキュメントとソースコードを
循環させて読む癖がいつの間にかついたんで、
どうしても必要というわけではない。

微妙なんだよな。
0410nobodyさん2013/03/19(火) 19:14:22.35ID:???
なんかオリジナル要素があったら良かったのにね。
実用的な説明がもう少しあったら、ググるより楽なのに。
0411nobodyさん2013/03/19(火) 20:37:32.56ID:???
辞典買った
1.xのも迷って買った結果お世話になりまくったので
0412nobodyさん2013/03/19(火) 22:23:20.75ID:???
どんな感じですか?
0413nobodyさん2013/03/19(火) 23:01:09.70ID:???
まだ少ししか使ってないけど
目次から前の辞典と似た構成で使いやすいと思う
0414nobodyさん2013/03/20(水) 11:00:55.55ID:???
俺も買おうかどうか迷ってるんだよな
出る前は買う気満々だったが、>>409の言う言葉で冷静になったw
でも、次の開発は2系でやりたいんだよな
0415nobodyさん2013/03/20(水) 11:50:00.46ID:???
レビュー出てからと思ったけど、どうせいつか買うから注文したw
0416nobodyさん2013/03/22(金) 00:41:33.52ID:???
Phalanger 〜まさかのPHP派生言語〜
http://toro.2ch.net/test/read.cgi/tech/1363684895/
0417nobodyさん2013/03/22(金) 16:42:10.05ID:???
>>404
ウェブに限らずプログラムをやる以上、当たり前なのはわからなかったらググれ
日本語サイトでヒットしないなら英語のQ&Aサイトも見る
CakePHPレベルのフレームワークならこれで99%のことは解決する

君の場合コマンドラインやドキュメントを読むことすらできないようだから、はっきりいってプログラミングをするレベルではないと思う
0418nobodyさん2013/03/22(金) 16:43:55.75ID:???
なんで1週間前の、解決したレスにわざわざ助言しに来たの?
自分の自己顕示欲を満足させるためか?
0419nobodyさん2013/03/22(金) 18:38:46.83ID:???
気持ち悪いなぁ
いつも気持ち悪いんだよなぁこいつ
0420nobodyさん2013/03/23(土) 12:10:35.85ID:???
findのrecursiveの2にするとフィールドが
$data['User']['Category']みたいになるのですが、
アソシエーションのアソシエーション先を取得すると
こういう連想配列ではなく、$data['Category']みたいに出来ないですかね?
0421nobodyさん2013/03/23(土) 14:00:35.91ID:???
むり
Setクラス駆使して自分で書き換えろ
0422nobodyさん2013/03/23(土) 14:29:26.56ID:???
わかりました。無理だということで納得しました。
0423nobodyさん2013/03/23(土) 16:00:12.17ID:???
Set使うな
Hash使え
0424nobodyさん2013/03/27(水) 14:14:52.85ID:07is+ahi
CAKEPHPでは、一つの画面に複数のアプリを表示するってできるんですか?
例えば、ユーザーデータベースの下に、
カレンダーを作ってスケジュールを表示させるとか。

ひとつのビューに複数のコントローラーを対応させるような感じなんでしょうか?
わからんです。
0425nobodyさん2013/03/27(水) 14:41:15.45ID:???
そっかそっか〜
いっしょに頑張ろ〜ね〜
0426nobodyさん2013/03/27(水) 15:25:22.44ID:???
複
数
の
ア
プ
リ
プ  ハ ,,ハ
リ (;゚◇゚)z
!?
0427nobodyさん2013/03/28(木) 10:45:26.07ID:???
言ってることがおかしすぎて、
何をどう説明して良いのかもわからんよ
0428nobodyさん2013/03/28(木) 13:25:43.45ID:???
>>424
言いたいことは分かる。cakeはそんなに柔軟じゃない。
0429nobodyさん2013/03/28(木) 13:34:44.06ID:???
>>427
お前が馬鹿なだけだ

>>242
requestActionでやりたいことできんじゃね
ただし複数コントローラ回すってことは相当処理重くなるからキャッシュ多様して。
0430nobodyさん2013/03/28(木) 13:50:29.45ID:???
レスポンシブデザインはCakeよりjavascriptやCSSの問題だろうが
お前も相当馬鹿なんだな
0431nobodyさん2013/03/28(木) 13:56:00.57ID:???
どこをどう読めばレスポンシブデザインの話してると思うんですか
0432nobodyさん2013/03/28(木) 14:29:02.81ID:???
>>431

>>242の話だと思うよ
って、専ブラの調子悪いからアンカー合ってるか判らんが
0433nobodyさん2013/03/28(木) 14:49:14.81ID:???
>>431
>>429
04344242013/03/28(木) 15:48:58.41ID:???
424です。
すみませんでした。
PHPの本をいくつか読んで、ようやくCAKEPHPを勉強し始めたばかりで、
言葉遣いがよくわかってませんでした。
>>429さんのアドバイス大変参考になりました。
頑張って勉強します。みなさんありがとうございます。
0435nobodyさん2013/03/28(木) 15:53:49.13ID:???
>>432
なるほど
すまん
0436nobodyさん2013/03/28(木) 22:04:49.88ID:???
>>429
馬鹿はお前だよ
初心者丸出しなやつにrequestActionなんて気軽に使わないほうがいいメソッドで返すなよ
0437nobodyさん2013/03/28(木) 22:55:43.76ID:???
何いってんだお前?
初心者が気軽に使わないほうがいい?理由は?
馬鹿は答えるなって前々から言ってるだろ
0438nobodyさん2013/03/29(金) 00:04:31.43ID:HZZC3DgW
バリデーションエラーを出す場合、
コントローラーのredirectで前の画面に戻るか
renderで前の画面のビューを表示するか
どっちが正解ですかね?
0439nobodyさん2013/03/29(金) 00:52:43.38ID:???
チュートリアルなりbakeで焼くなりしてから、
なぜ自分が別の方法を取ろうとしているのか理由があればそれを添えて再度質問してくれる?
0440nobodyさん2013/03/29(金) 01:11:28.94ID:xqLXLSQF
どちらがその別の方法なのか答えてくれる?
0441nobodyさん2013/03/29(金) 01:23:12.23ID:???
>>438
フォームでエラーが有ると、フォームの画面上に「エラーがあります」
って表示してるよ。つまり、redirectしない。
0442nobodyさん2013/03/29(金) 02:12:59.25ID:???
>>440
チュートリアルなりをこなせばわかることって意味なんだけど馬鹿すぎるのか?
死んでこい
0443nobodyさん2013/03/29(金) 07:41:16.76ID:???
PHPがエラーかwarningを吐いたら、Cakeが検出してDBにログを書き込むということはできませんか?
jsonを出力で返すAPIを作っているので、クライアントがブラウザではない場合のデバッグ援助が目的です。
0444nobodyさん2013/03/29(金) 14:52:46.27ID:???
Logクラスの書き込み先をDBにするのでいけるんじゃない?
レポートのレベルはExceptionのクラスだかどこかで細かく設定できたはず
0445nobodyさん2013/03/29(金) 17:48:51.90ID:???
あ、できるんですか。調べてみます。
0446nobodyさん2013/03/29(金) 20:24:19.11ID:V/nrZl0A
バリデーションでもういっちょ質問。
renderで前の画面を表示する際に
本来のactionでsetしなければならなかった
viewの変数達がsetされてないため
不完全な表示になってしまうことがあるんだけど、
これはどのように回避するのがいいですかね?
0447nobodyさん2013/03/29(金) 20:32:46.93ID:???
チュートリアルやれっつってんだろボケカス
0448nobodyさん2013/03/29(金) 21:35:18.24ID:xqLXLSQF
>>447
君には聞いてないから。
0449nobodyさん2013/03/29(金) 22:50:15.12ID:???
すなぁ
0450nobodyさん2013/03/29(金) 23:28:20.53ID:???
まともな質問にはまともな答えが返ってるようだな。
なかなか良スレ。
0451nobodyさん2013/03/30(土) 01:19:42.24ID:I9ajj83R
>>447
チュートリアルやれやれ五月蝿いけど
render呼ぶ際にいちいちsetするとかだろ?
そんなんじゃなくて自動で前の画面の変数をセットしてくれる機能とか
あるのかって聞いてんだよ。
0452nobodyさん2013/03/30(土) 01:48:59.80ID:???
違う的外れ。
チュートリアルやってないからそんな質問でてくる。
やれ。
0453nobodyさん2013/03/30(土) 01:57:00.77ID:???
>>451
お願いだから消えてくんない?
0454nobodyさん2013/03/30(土) 02:11:56.67ID:I9ajj83R
>>452
だから便利な機能があるかどうか聞いてんだよ。
CakePHPしか知らない能無しなんだから
馬鹿みたいに言われたことだけに答えてろよ雑魚野郎

>>453
聞かれたことに答えられない能無しであるお前が消えろ
0455nobodyさん2013/03/30(土) 02:14:08.93ID:???
まともな答ってどれだ?
0456nobodyさん2013/03/30(土) 02:45:50.33ID:???
チュートリアルにその方法なかった?
0457nobodyさん2013/03/30(土) 04:36:21.06ID:???
ていうかそれCakePHPの問題じゃないよね
0458nobodyさん2013/03/30(土) 10:16:31.67ID:???
CakePHPって中級以上向けのまともな本がないな…。
プラグインの使い方とか知りたいのに「詳しくはググって」みたいに済ませていて笑えたり。
0459nobodyさん2013/03/30(土) 13:11:57.96ID:???
プラグインは個人が作ったのばかりだから、
本で解説ってのはなじまないんじゃね?
■ このスレッドは過去ログ倉庫に格納されています