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

【PHP】フレームワーク CakePHP 16ホール目【v2.4】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2013/09/09(月) 01:56:10.19ID:m9OPw/HT
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/
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
0322nobodyさん2013/10/31(木) 20:10:49.38ID:???
(間違い) and はカッコ外しても論理構造同じ
(正しい) and だけの場合はカッコ外しても論理構造同じ

ミスった
0323nobodyさん2013/10/31(木) 20:11:08.33ID:pvMz+FsK
>>320 >>321
間違えました。

ただしくは、

select
user_id, user_age,user_nme
from users where
( user_id = 1 and user_age = 30 )
or ( user_id = 2 and user_age = 25 )
or ( user_id = 3 and user_age = 28 )

です。 キーに or を入れて試してみたいと思います。
0324nobodyさん2013/10/31(木) 20:15:46.01ID:???
$cond1 = array('user_id' => 1, 'user_age' => 30);
$cond2 = array('user_id' => 2, 'user_age' => 25);
$cond3 = array('user_id' => 3, 'user_age' => 28);

$conditions = array('or' => array($cond1, $cond2, $cond3);
0325nobodyさん2013/10/31(木) 20:23:43.34ID:pvMz+FsK
>>324
あざーすっ!
コードがすっきりしました!!
0326nobodyさん2013/10/31(木) 20:38:39.33ID:???
まあmysqlはor使うと遅くなるんだけどね
0327nobodyさん2013/10/31(木) 23:42:41.93ID:???
漢ならフルスクラッチ
0328nobodyさん2013/11/01(金) 00:32:03.09ID:???
女傑ならソケットでMySQLプロトコル
0329nobodyさん2013/11/01(金) 17:39:10.37ID:???
>>316
bakeすればいいのに
0330nobodyさん2013/11/01(金) 17:45:57.99ID:???
bakeはほぼ使わないなぁ
0331nobodyさん2013/11/01(金) 22:05:00.04ID:???
テーブルのレコードに突っ込んでる時点で数えられるから問題ない
外人がfishesという単語を見て魚の缶詰を思い浮かべるのと同じ
0332nobodyさん2013/11/02(土) 01:30:30.01ID:???
bake 使わない開発が想像できないんだが
0333nobodyさん2013/11/02(土) 09:23:48.01ID:???
いつも0から作り始める人ならそうだろうね
0334nobodyさん2013/11/02(土) 14:49:14.45ID:YSV0Zcpf
bake とか使った事がない。
そもそも何に使うの?

良い解説サイトがあったら教えてください。
0335nobodyさん2013/11/02(土) 18:00:44.69ID:???
別にbakeを使う必要はない。
bakeってのはCakePHPが参考した
Railsで使われていた仕組みで、


たんに、こんなに早く作れるんだよと
なんども練習して撮影したデモを
一秒でも短くするために生まれた道具にすぎない。

そう。3分クッキングのように、
あらかじめ用意しておきましたって
コードを生成するもの。
0336nobodyさん2013/11/02(土) 18:25:11.54ID:???
Searchプラグインって標準では、区切りに全角スペースでは、複数単語検索できないんだね
不便だわ
0337nobodyさん2013/11/02(土) 20:32:04.62ID:???
ある程度まとまった複数のモデルを bake all して、
それをごそっとプラグインに隔離して
適宜削ったり追加したり開発するのはとても便利で早い。
0338nobodyさん2013/11/02(土) 20:42:12.21ID:oRF20owz
html5 で作られた infinite mario すげぇえ。

とおもってたら グラディウスまで作ってる強者がいた。

ここまで出来るのか。。。
0339nobodyさん2013/11/02(土) 20:43:40.35ID:oRF20owz
http://rappdaniel.com/experiment/cubed/

html5 でここまでできるのか。
0340nobodyさん2013/11/02(土) 22:07:26.87ID:???
うちは管理用の画面作るときはまず bake から始めるけどなぁ。
誰が作ってもほぼ同じものができるのは良いよ。
テンプレートをカスタマイズしてるから
元の姿とは全くと言っていいほど違ってはいるけど。
0341nobodyさん2013/11/02(土) 22:18:01.50ID:???
いや、ファイルコピーすればいいですし・・・。
0342nobodyさん2013/11/02(土) 22:57:11.17ID:???
>>341
(言ってはいけないことを。。。)
0343nobodyさん2013/11/03(日) 00:08:16.61ID:???
bakeって何が化けるの?
0344nobodyさん2013/11/03(日) 00:21:41.67ID:???
>>343
つまらん
0345nobodyさん2013/11/03(日) 20:14:17.87ID:???
管理画面はbakeするけど、フロント側はちょっとねぇ。
モデルも開発中盤になってくると、bakeしただけで手の入ってないモデルがいくつか出てくるから、
コピーして必要なとこだけ変えたほうが早かったりするんだよな。
0346nobodyさん2013/11/03(日) 23:30:20.68ID:???
bakeって言ったって
完全に全自動化出来るわけじゃなく、
色々質問されるしな。
前回なんて答えたかなんて覚えていないし、
bakeをする回数は少ないのですぐに使い方を忘れる。
0347nobodyさん2013/11/04(月) 01:31:23.58ID:???
>>346
うちはとにかく bake all だわ。
アソシエーションの制約なんか厳しくて、
かなり CakePHP のルールを守らないと通らないので、
それがかえって誰が作っても同じ出来になるという安心感がある。

それに、コマンドで個別に設定するぐらいならファイル直接触ったほうが楽。
0348nobodyさん2013/11/05(火) 22:46:56.28ID:HKwreGpo
cakeって便利だけど最初の設定って結構面倒じゃないですか?

あとは使っているサーバのスペックが足りなくて
別サーバに引っ越しをする時とか結構手間に感じるのですが皆さんは如何ですか?
0349nobodyさん2013/11/06(水) 00:41:09.71ID:???
なんかCakePHPならではの設定することあったっけ?
0350nobodyさん2013/11/06(水) 01:43:53.69ID:???
DBの設定は面倒だけど、1ファイルの修正で済むからな。
あと、FTPでアップした時のtmpのパーミッション設定は地味に面倒w
0351nobodyさん2013/11/06(水) 07:11:23.30ID:jY+jk4/6
>>350
確かにtmp面倒くさいよな
0352nobodyさん2013/11/06(水) 12:09:46.63ID:???
>>350
俺、多分変更してないけど問題ないな。
0353nobodyさん2013/11/06(水) 19:21:57.33ID:CGtOvjTe
>>349
例えばcakePHP2 で作っていたシステムを
新サーバ+cakePHP3 に移行する時とか大変じゃない?

cakePHP3をサーバに設定した後に、
cakePHP2のソースを手動でしかるべき箇所に移動させて
しっかり新バージョンでも動くかどうか検証とかしなくちゃならないでしょ?


一発で移動とか出来ると楽なんだけどね。
0354nobodyさん2013/11/06(水) 19:28:12.00ID:???
>>353
既存プロジェクトで使ってるフレームワークのメジャーバージョンを上げたら、
そりゃぁ大変だろうよ。
CakePHPに限らずな。
0355nobodyさん2013/11/06(水) 21:06:22.08ID:???
Cake3ってもう使ってる人いるの?
0356nobodyさん2013/11/06(水) 22:24:56.97ID:???
cakePHP2.0 で
ログインしていない場合には閲覧させない様な
クローズドコンテンツを作成しよとしています。

そこで、ログインしていない場合には閲覧させない為に
コントローラのファンクションの中で以下のコードを書いているのですが、
コントローラのファンクションの中では毎度以下の if(ログイン判定)  の
コードを記述する必要があるのでしょうか?

HogeController.php

public function top()
{
if(!$this->Auth->login())
{
//ログインしていないので特定ページ(TOP)へ飛ばす。
return $this->redirect($this->Auth->redirect());
}
}
0357nobodyさん2013/11/06(水) 22:29:20.54ID:???
>>356
Authコンポーネントを良く調べろ。
0358nobodyさん2013/11/06(水) 22:32:14.86ID:???
>>357
'loginAction' => Array('controller' => 'tops', 'action' => 'index'),

色々と試したみたのですが、これでOKですか?
0359nobodyさん2013/11/06(水) 22:39:31.12ID:???
>>358
http://book.cakephp.org/2.0/ja/tutorials-and-examples/blog-auth-example/auth.html
0360nobodyさん2013/11/07(木) 00:07:19.08ID:???
Google Cromeで指定した文字列をクリップボードに
コピーするプログラムを作っています。

$('#id_hoge' ).click( function()
{
var str_text = "あいうえお";
var copyArea = $("<textarea/>");
copyArea.text(str_text);
$("body").append(copyArea);
copyArea.select();
document.execCommand("copy");
copyArea.remove();
});


"あいうえお" がクリップボードにコピーされると思ってたのですが
なぜかされません。cromeでは使えないのでしょうか?
0361nobodyさん2013/11/07(木) 03:12:22.57ID:???
プラグインの日本語情報が異常に少ないんだよね
これじゃなかなか広まらないな
0362nobodyさん2013/11/07(木) 14:17:00.21ID:???
広まらないっていうか、これからどんどん情報減ると思うよ。
自分で調べて情報公開したりするような開発者は、
もうCakePHPなんて飽きてるだろうし。
今は、普通に使えるようになってる人が、普通に仕事をこなすのに使ってる感じじゃね。
書籍も一時期は沢山出てたけどいまはそうでもないしな。
0363nobodyさん2013/11/07(木) 14:34:27.14ID:???
猫も杓子もcakephpの時代が異常だっただけ
今はいいフレームワークがいっぱいあるし
あえてcakephpを選ぶ理由がないからね
0364nobodyさん2013/11/07(木) 14:44:14.56ID:cHcjC9vh
FWはもう、cakePHPに統一しようぜ。
0365nobodyさん2013/11/07(木) 14:52:19.69ID:???
統一するとしてもcakephpだけはやめて
codeigniter, fuelphp, laravel, yiiのどれかで
0366nobodyさん2013/11/07(木) 14:52:21.96ID:???
cakephpは日本が異常だっただけよ
今もオフショア先では大人気
0367nobodyさん2013/11/07(木) 14:55:55.60ID:???
>>365
fuelphpはpsr-0に対応しなかったこととかいろいろあって人気つかないな
codeigniter、laravel、yiiは世界では人気だけど日本だと微妙
0368nobodyさん2013/11/07(木) 15:04:27.70ID:???
http://www.techempower.com/benchmarks/#section=data-r7&;amp;hw=i7&amp;test=json

cakeぼろぼろだ
昔のライバルsymfonyには辛うじて勝利
0369nobodyさん2013/11/07(木) 16:27:36.49ID:urHtWp+p
FWといよりプログラマのスキルによるんじゃねーの。
レスポンスとかさぁ。
0370nobodyさん2013/11/07(木) 18:19:09.69ID:???
codeigniterとか作りが前時代的過ぎてなぁ・・・
その4つの中ならlaravelがいいな
0371nobodyさん2013/11/07(木) 18:25:45.15ID:???
Sinatra風のルーティングは見やすいんだが
PHPとは相性が悪い
リクエストの度にパスの数だけClosureオブジェクトを作ってると考えたらぞっとする
0372nobodyさん2013/11/07(木) 20:37:01.47ID:???
Sinatra風ルーティングは、マイクロFW系向きじゃないかな
0373nobodyさん2013/11/07(木) 20:55:50.09ID:TVGLaC0N
悪い事は言わない

Yiiを使える、進めるヤツはせめてToeic 800点位とってから使おうな。
英語も出来ないのに間隔で変な名前をあちこちに量産されたら迷惑
0374nobodyさん2013/11/07(木) 23:10:35.42ID:???
>>373
なんでYii限定?
0375nobodyさん2013/11/07(木) 23:33:39.73ID:???
TOELCといえばYii
0376nobodyさん2013/11/07(木) 23:35:41.14ID:???
わけがわからないよ
0377nobodyさん2013/11/08(金) 02:55:52.80ID:???
漢字もちゃんと使えてない人に言われてもなー
0378nobodyさん2013/11/08(金) 19:07:09.93ID:???
話題のbakeを試してみたんだけど、命名規則通りにテーブルを作って
cake bake all モデル名 とやったんだけど、
Error: Table ないテーブル名 for model ないモデル名 was not found in datasource default.
とエラー。生成されたモデルを見てみると、勝手に存在しないモデルの$belongsToが書かれてた。
これは何?なんでそうなるのでしょう。
0379nobodyさん2013/11/08(金) 19:51:29.62ID:???
>>378
テーブル名書けよ
0380nobodyさん2013/11/08(金) 22:22:57.25ID:???
テーブル名だけじゃなくてスキーマ全部と、
DATABASE_CONFIG::$default['prefix'] の値も忘れずに
0381nobodyさん2013/11/09(土) 01:13:36.00ID:???
IISにそのままCake載せただけじゃ動かないですよね?
どうすりゃいいんですか?
0382nobodyさん2013/11/09(土) 02:28:19.11ID:???
IISなんて知らんがな
0383nobodyさん2013/11/09(土) 11:02:53.97ID:???
>>381
チュートリアルに書いてるじゃん
0384nobodyさん2013/11/09(土) 22:59:18.49ID:???
え、IISかい。Apache使わないの?
0385nobodyさん2013/11/10(日) 08:55:33.38ID:0LvUSNX1
すみません教えて頂ければ幸いです
CakePHP2.3でフォームで確認画面を制作しているのですがバリデーションが効きません
自分で調べていったんモデルにはセットするとの事で
$this->Model->set($this->request->data);
if($this->Model->validates()){成功の時の処理}
上記の様にしているのですがエラー等も全く出ずただバリデーションが効いていない形です
よろしければどなたか教えて頂けませんか
0386nobodyさん2013/11/10(日) 11:47:08.36ID:???
どんなコードを書いているかも分からないのに答えようがない
0387nobodyさん2013/11/10(日) 19:22:06.34ID:???
より高度なRoRに引っ越しすることをお勧めしよう
Railsスレで質問すれば俺が答えてあげよう
その代わり最大限の敬意を示し、パソコンの前で土下座したまえ
そお誠意が俺まで伝わってきたら答えてあげる

多くの有力企業が採用するRoRにようこそ
0388nobodyさん2013/11/10(日) 20:12:12.51ID:???
今すぐ辞めて欲しい、「Ruby on Rails勉強してます」「CakePHP勉強してます」
http://blog.sumyapp.com/2013/07/no-recommend-rails/
0389nobodyさん2013/11/10(日) 20:28:10.59ID:???
>>388
書いてある内容がイマイチわからん。
0390nobodyさん2013/11/10(日) 21:34:39.51ID:???
人の作ったプログラム触るのcakephpでも嫌なんだけど、俺だけ?
できれば一から作りたいと思ってしまう。
0391nobodyさん2013/11/10(日) 22:07:59.18ID:???
>>389
CakePHPやる前にPHPはちゃんと理解してんだろうな?てことじゃないかな
0392nobodyさん2013/11/10(日) 23:43:46.77ID:???
というか勉強しなきゃ使えないようなものか?て気がする
0393nobodyさん2013/11/11(月) 01:04:57.32ID:???
cakephpやりながらphp覚えてもいいと思うね
0394nobodyさん2013/11/11(月) 02:24:03.68ID:???
ここはやはりだめだ、Stackoverflowで聞いてくる
0395nobodyさん2013/11/11(月) 06:16:43.22ID:???
それが2chというものだよ
0396nobodyさん2013/11/11(月) 11:04:10.26ID:???
捨て台詞残さずにさっさと消えろよ
0397nobodyさん2013/11/11(月) 12:40:31.09ID:???
>>394
解決していないのはどの質問だろうか?
0398nobodyさん2013/11/12(火) 00:26:13.49ID:O3AZzxQU
1つだけのチェックボックスをcakePHPヘルパーを使ってレンダリングしようとしています。
その為に次のコードを記述し
echo $this->Form->input( 'totaling' , array(
'type' => 'checkbox',
'label' => false,
)); ・・・�@

実行すると

<div class="input checkbox">
<input type="hidden" name="data[User][totaling]" id="UserTotaling_" value="0">
<input type="checkbox" name="data[User][totaling]" value="1" id="UserTotaling">
</div>

こんなコードが生成されてしまいます。

本当は次の様なタグが生成される事を想定しています。
�@のコードの何処に問題があるのでしょうか?

<input type="checkbox" name="data[User][totaling]" checked="checked" id="UserTotaling">
0399nobodyさん2013/11/12(火) 00:56:26.23ID:???
ヘルパーでタグ生成とかやめてほしいわ。
調べてみたけど、Railsもそうなんだろ?

HTMLはウェブデザイナーのもの
だからプログラミング要素を極限まで減らすべき。
そういった考えで作られた
フレームワーク(テンプレートエンジン)って
無いものかねぇ。

でも低機能なフレームワークを求めてるんじゃないんだ。
こういうinputみたいなものはそのままHTMLでかけて
面倒な部分を改善できるそんなフレームワーク
0400nobodyさん2013/11/12(火) 01:00:45.10ID:???
あぁ、ぐちっちゃった。

>>398
その質問の答はCakePHP使ってないんで知らないけど、
なんでそんなコードが出力されるか知ってる?

それはチェックボックスは、
チェックしたらdata[User][totaling]=1が送られてくるけど、
チェックしなかった時data[User][totaling]=0ではなく、
なにも送られてこないんだよ。最終行のコードではね。

それの対策が 、「こんなコード」なわけ。
ここまで言えば、どうすればいいかわかるんじゃない?

そう、チェックしない場合に値を送る機能を
OFFにする設定があるはずだ。
0401nobodyさん2013/11/12(火) 02:01:30.93ID:???
>>399
formヘルパーは使った方がいいと思うよ。htmlヘルパーは使わない方がいいかもだけど。
0402nobodyさん2013/11/12(火) 02:22:03.84ID:???
同じくFormHelperやHtmlHelper嫌い。
でも、使わないとハマったり困ることあるから、しぶしぶ使ってる。
0403nobodyさん2013/11/12(火) 08:35:49.27ID:???
>>399
JavaにはほぼHTMLをテンプレートに使えるのあるけどPHPは無理だろうな
0404nobodyさん2013/11/12(火) 09:05:04.81ID:???
bakeのビューのテンプレートで、どこかにかっこいいの落ちてたりしないでしょうか
まあデフォルトのでもOKっちゃOKなんだけど
0405nobodyさん2013/11/12(火) 10:32:08.86ID:ZxfwGxWG
>>400
サンクス。
checkboxをcakePHPのヘルパー使って書くとなぜ hidden が生成されるかの理由が分かりました。
0406nobodyさん2013/11/12(火) 11:37:30.04ID:???
>>403
Javaってどれのことだ?

ZPT系を使えば良いだけだと思うんだが
0407nobodyさん2013/11/12(火) 11:41:20.37ID:???
>>399
もはや、デザイナーとの役割分担のラインは変わってるよ
旧態依存の開発やってれば別だろうが
0408nobodyさん2013/11/12(火) 13:01:19.39ID:???
FormHelper はタグのラッピングが頑固なところはあるな。
クラス名とか触れないところ多いし。
妥協すればとても便利なツールではあるんだが。
0409nobodyさん2013/11/12(火) 13:42:41.13ID:???
Cakeのヘルパーみたいなローカルルール、外注のコーダーに教え込んで使わせる気にはとてもならんから
ヘルパー使ったこと無いわ
0410nobodyさん2013/11/12(火) 16:29:44.75ID:???
>>403
まさかMayaaのことじゃないだろうな?

>>404
探せばBootstrapベースのがあるんじゃね。
0411nobodyさん2013/11/12(火) 17:01:24.88ID:???
>>407
同意。CSSですら、Sass使ってプログラム的な管理するからな。
デザイナーはデザインだけやって、
コーディングはコーダーではなく、プログラマがやる時代になるよ
0412nobodyさん2013/11/12(火) 17:02:26.87ID:GncxjoFv
プログラマ=コーダーだろ
0413nobodyさん2013/11/12(火) 17:14:40.96ID:???
>>412
別の意味での旧態依存の世界の話だ
0414nobodyさん2013/11/12(火) 17:33:48.33ID:???
どう考えてもフレームワークいじる奴とビュー作る奴は分担した方がいい
0415nobodyさん2013/11/12(火) 20:55:59.85ID:jQBt36at
システムだと一通り何でも出来るけど
どうもWEBデザインがうまくないと自分でも思う。

どうやったら見栄えの良いサイトが作れるのかな?

先ずは何から勉強すべきですか?
0416nobodyさん2013/11/12(火) 21:11:38.61ID:???
>>415
ttp://getbootstrap.com/2.3.2/getting-started.html
0417nobodyさん2013/11/12(火) 21:17:21.91ID:???
>>415
Bootstrapとかの上からデザインしてくれるデザイナーがいっぱいいるよ
0418nobodyさん2013/11/12(火) 21:22:11.96ID:jQBt36at
>>416 >>417
うーん。いまいちそのサイトのテンプレートもカッコよくないですね。
何かWEBデザイナの作成する様なスタイリッシュなデザインのサイトを自分で作れる様になりたいんですよね。

よく無料テンプレートサイトとかあるでしょ?
あーいうサイト(デザイン)テンプレートを自分で作れる様になりたいのです。
0419nobodyさん2013/11/12(火) 21:39:26.80ID:???
>>418 PHPと全然関係ないけど、平面構成の本とか読んでみるのはどうかしら
0420nobodyさん2013/11/12(火) 21:48:23.37ID:???
bootstrapのステマが酷い
スルー推奨
0421nobodyさん2013/11/12(火) 22:04:10.58ID:???
ほれ bakeの解説

ttp://hijiriworld.com/web/cakephp-bake/
■ このスレッドは過去ログ倉庫に格納されています