【PHP】フレームワーク CakePHP 13ホール目【v2.0】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2011/11/09(水) 01:05:10.60ID:???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 12ホール目【笑】
http://hibari.2ch.net/test/read.cgi/php/1309505626/
0070nobodyさん
2011/11/14(月) 22:32:22.79ID:???絵文字の対応が弱かった気がする
0071nobodyさん
2011/11/15(火) 00:30:41.57ID:???<?php
class Contact extends AppModel
{
var $name = 'Contact';
var $useTable = false; //データベースのテーブルを使用しない
var $validate = array(
"name" => array(
"rule" => 'notEmpty',
"message" => '名前を入力してください'
),
);
}
?>
コントローラ
function index() {
if ($this->data['Contacts']['mode'] == 'confirm') {
if (!empty($this->data)) {
$this->Contact->set($this->data);
if ($this->Contact->validates()) {
$this->render('confirm');
return;
}
$this->render();
return;
}
(以下略)
0072nobodyさん
2011/11/15(火) 00:47:02.01ID:???>var $useTable = false;
↑こういう場合は、$_schema を設定する必要があった気がする。
var $_schema = array(
'name' => array(
'type' => 'string',
),
);
0073nobodyさん
2011/11/15(火) 01:42:34.79ID:???setしたデータがあってるか、validatesする前にvar_dumpしてみたら?
ContactsとContactがごっちゃになってそうだけど。
0076nobodyさん
2011/11/15(火) 15:55:39.02ID:???これってふつうですか?controllerから前は呼べた気がするんですが
0077nobodyさん
2011/11/15(火) 16:51:27.77ID:???0078nobodyさん
2011/11/16(水) 13:56:38.50ID:???0079nobodyさん
2011/11/16(水) 14:58:38.98ID:???0080nobodyさん
2011/11/16(水) 15:21:00.48ID:???0081nobodyさん
2011/11/16(水) 15:29:23.74ID:???まあ自分みたいなアマグラマーは少ないからしょうがないと思ってる
0082nobodyさん
2011/11/16(水) 15:58:04.21ID:???大の大人がただの情報交換で連絡取り合うのはあり得ないし。
0083nobodyさん
2011/11/16(水) 17:21:51.07ID:???僕は>>82君の声を耳元で聞きたくて連絡取ってるわけだし、いつだって君のことを見てるよ
0084nobodyさん
2011/11/16(水) 18:33:51.99ID:???0085nobodyさん
2011/11/16(水) 19:42:09.06ID:???0086nobodyさん
2011/11/16(水) 23:57:11.46ID:???なんかスマートなやりかたってありますかね
0088nobodyさん
2011/11/17(木) 01:26:10.05ID:???0089nobodyさん
2011/11/17(木) 01:44:12.36ID:???0090nobodyさん
2011/11/17(木) 08:49:19.09ID:???0093nobodyさん
2011/11/17(木) 12:51:19.33ID:???0094nobodyさん
2011/11/17(木) 12:52:51.10ID:???0096nobodyさん
2011/11/17(木) 23:19:43.07ID:t9LRBQJBドキュメントルートってcakephp/app/webrootでいいの?
トップはいいとして他のページを表示しようとすると
Not Foundになっちゃうんだけど。
ちなみにcakephp直下をドキュメントルートにするとうまくいく。
0097nobodyさん
2011/11/17(木) 23:46:36.11ID:???mod_rewriteを使って、実際のパス名と違うパスでアクセスさせているんだけど
paginatorで作成されるURLが、実際のパス名のほうになってしまいます。
どこかの定数を変更したりすれば上手く行くでしょうか?
htdocs/foo/app/webroot/index.php
こんな感じで index.php を置いているとして、でも各種都合により
実際のリクエストは
http://domain.com/bar/baz/controll1/action1
こんな形で来ます。
このとき、mod_rewriteで^/bar/bazを/foo/に置き換えているんだけれど
このときmod_rewriteのフラグに[PT]を入れないと画像などがHelper経由の画像のパスが、
/var/foo/というような、おかしなものになってしまい
[PT]を入れるとpaginatorで生成されるURLが/foo/になってしまう。
ざっと見た感じでは、問題はDispatcherなのかと思うんだけど
app下のファイルでうまく設定は出来ないでしょうか。
0100nobodyさん
2011/11/18(金) 01:56:17.73ID:???「各のドキュメントルート直下」というのは
例えば、/var/www/cakephp/のこと?
それとも、/var/www/cakephp/app/webrootのこと?
0101nobodyさん
2011/11/18(金) 12:40:48.58ID:???これでいいのでは?
cakephp標準で.htaccessが付いてるし。
0102nobodyさん
2011/11/18(金) 17:11:19.32ID:???あとcomponentからhelperを呼ぶようにするのとどっちがいいですか
0103nobodyさん
2011/11/18(金) 23:01:21.82ID:???0104nobodyさん
2011/11/18(金) 23:12:54.03ID:???Cakeは大丈夫かな?使い始めてから突然変更されたらかなわんな
0106nobodyさん
2011/11/19(土) 00:07:58.71ID:???mod_rewriteが使えるならRoutesよりmod_rewriteが推奨のように見えます。
http://cakephp.jp/old_doc/ch04s03.html
> "Routing"(ルーティング) は、(中略)見栄えの良い URL (pretty URLs) をより設定しやすくし、
> mod_rewrite がなくても動くようにするため、 Cake に追加されました。
> しかし、 mod_rewrite を使用するなら、アドレスバーははるかに整理されます。
0107nobodyさん
2011/11/19(土) 01:45:52.06ID:???今cake使っててCIかyii浮気しようと思っていた俺は、浮気先が一つになったので選ぶ必要がなくなった
オープンソースの宿命だから、そのときはそのときでしょうがない
0108nobodyさん
2011/11/19(土) 02:37:10.19ID:???0109nobodyさん
2011/11/19(土) 02:40:13.80ID:???えとね。mod_rewriteは○○○ってURLを×××に変えることはできるけど、
×××を○○○に変えることはできないんだよ。
0110nobodyさん
2011/11/19(土) 08:14:03.03ID:???あとから規約変えるとか詐欺だろ
0111nobodyさん
2011/11/19(土) 10:01:41.28ID:???触ってみた?
0112nobodyさん
2011/11/19(土) 11:11:45.38ID:???mod_rewriteで出来ないことまでやろうとしてるんじゃなくて、
mod_rewriteとRoutes両方で出来ることなら、
mod_rewriteでやったほうがいいんじゃないか。
>>99はmod_rewriteは基本触らないという意見のようなので。
0114nobodyさん
2011/11/20(日) 14:33:03.47ID:???0115nobodyさん
2011/11/20(日) 14:54:00.52ID:???触ってない
「CIより多少マシ」というコメントがついていたけど、まさにそんな感じだと思った
CIも結局盛り上がらなかったし、既にCakeとかSymfonyというフレームワークがある状況だと、
いいフレームワークが出来てもいかにそれを流行らせるかが問題だと思う
暇そうなプログラマー雇って提灯記事とドキュメントの日本語訳書かせまくるしかないんじゃない?
0116nobodyさん
2011/11/20(日) 17:11:02.58ID:???お前らが英語勉強しろよ
0117nobodyさん
2011/11/20(日) 20:29:27.21ID:???0118nobodyさん
2011/11/20(日) 23:38:02.20ID:???0119nobodyさん
2011/11/21(月) 01:16:55.48ID:???cake初期の頃ブログ書きまくってたけど、「CakePHPがRoRに対抗するフレームワークになるんだ!俺がそうするんだ!」
みたいな変な使命感もってやってたよ
今はすでにPHPでフレームワークがたくさんある、しかもCakeなどのメジャーになったモノがたくさんある状況で
新規のフレームワークに手を出す人は少ないだろうから、まずはそのフレームワークのエヴァンジェリストが必要なんじゃ無いかと思う
0120nobodyさん
2011/11/21(月) 01:22:56.17ID:???確かにCakeの記事は玉石混交しててバリエーション豊かだった気がする。
Zend Frameworkとかもあんま流行ってる感じしないしな。
0121nobodyさん
2011/11/21(月) 01:38:56.62ID:???twitterとか使い出したら、なんかわざわざブログに書くのめんどくなったよ
0122nobodyさん
2011/11/21(月) 12:40:46.36ID:???開発スピードは速い
実行スピードは遅い
バグは多くも少なくもない
という印象
0123nobodyさん
2011/11/21(月) 16:18:29.64ID:???実行スピードの遅ささえ解消されれば、最強なんだがな・・・
0124nobodyさん
2011/11/21(月) 17:47:44.03ID:???Fatal error: Call to a member function hoge()がでてしまいます
コントローラには
$helpers = array('Hoge');
とかいて
$this->Hoge->hoge();
と書いているのですが
0125nobodyさん
2011/11/21(月) 17:49:18.81ID:???0126nobodyさん
2011/11/21(月) 18:19:23.29ID:???ありがとうございます
$this->Hoge = new HogeHelper();
このように書いたら
Fatal error: Class 'HogeHelper' not found が$this->Hoge = new HogeHelper();と書いた行ででてしまいました
最初に読み込んだりしますか
0127nobodyさん
2011/11/21(月) 18:50:56.58ID:???0129nobodyさん
2011/11/21(月) 19:25:32.67ID:???0130nobodyさん
2011/11/21(月) 19:34:10.21ID:???0131nobodyさん
2011/11/21(月) 21:57:23.12ID:hMc6lKUoCakePHPの内部でfindメソッドの戻り値にモデル名をセットしている箇所に問題があり、
モデル名の代わりに0がセットされるようになってしまい困ってます。
原因はPDOStatement::getColumnMeta()でtable名が返ってこないためです。
ちなみにxampp環境のPHP5.3.8だと問題なく動作しているのですが、
PHP5.3.6に問題があるのでしょうか?
0132nobodyさん
2011/11/22(火) 02:47:37.72ID:???0133nobodyさん
2011/11/22(火) 03:02:58.10ID:???0134nobodyさん
2011/11/22(火) 17:28:20.16ID:???このことじゃね
https://bugs.php.net/bug.php?id=54695
0135nobodyさん
2011/11/23(水) 19:20:56.88ID:vIVNUlWbhttpsに張るようにするには絶対パスしかないですか?
0137nobodyさん
2011/11/23(水) 20:35:14.55ID:???0138nobodyさん
2011/11/23(水) 21:13:39.19ID:???0139nobodyさん
2011/11/25(金) 01:36:56.19ID:???0140nobodyさん
2011/11/25(金) 01:41:51.95ID:???0141nobodyさん
2011/11/25(金) 02:01:33.59ID:???0142nobodyさん
2011/11/25(金) 03:48:39.39ID:ms97YqHeこのとおり作ってるんだが、「送信」押すと、
Create the class ResultController below in file: app\Controller\ResultController.php
ってエラーがでる。
0143nobodyさん
2011/11/25(金) 05:54:25.81ID:???App::import('Vendor', 'csspp' . DS . 'csspp');とかやってるけど、そんなもの存在してない気がするんだが
0144nobodyさん
2011/11/25(金) 05:55:26.54ID:???0145nobodyさん
2011/11/25(金) 12:05:59.37ID:???そのサイトの他ページは見てないからviewがどうなってるのか知らないけど、
フォームの送り先URIがおかしいのでは。
0146nobodyさん
2011/11/25(金) 12:08:23.24ID:???cssppをダウンロードしてVenderにぶち込めってことじゃないの
css.phpのコメントにでも書いてあると思うが
0148nobodyさん
2011/11/25(金) 13:42:47.07ID:???/ ',
| {0} /¨`ヽ、
l ト.__.i●
ノ ー─'
ノ ',
●をダブルクリックするとクチバシが伸びるぞ!
人人人人人人人人人人人人人人人人人人
) (
) 伸びるわけねーだろ! ( _/\/\/\/|_
) ,rrr、 ( \ 試したやつ /
⌒Y⌒Y⌒Y⌒Y⌒Y| |.l ト⌒Y⌒Y⌒Y⌒Y⌒Y/つ))) < バーカ! >
⊂ ヽ | __ ☆ __ _/ 巛 / \
/ ̄ ̄ ヽヽ ,`ー \ | |l / \ __つ  ̄|/\/\/\/ ̄
/{゚} 、_ `ヽ/|| , \.|||/ 、 \ ☆ / ̄ ̄ ヽ,
/ /¨`ヽ {゚} | / __从, ー、_从__ \ / ||| / 丶 / ',
| ヽ ._.イl ',/ / / | 、 | ヽ |l ノ//, {゚} /¨`ヽ {゚} ,ミヽ
、 ヘ_/ノ ノ/ ) `| | | |ノゝ☆ t| | |l \ / く l ヽ._.イl , ゝ \
\___ ノ゙ ─ー `// `U ' // | //`U' // l / /⌒ リ ヘ_/ノ ' ⌒\ \
/ / W W∴ | ∵∴ | (  ̄ ̄⌒ ⌒ ̄ _)
/ ☆ ____人___ノ ` ̄ ̄`ヽ /´ ̄
0149nobodyさん
2011/11/25(金) 14:26:37.82ID:???遷移しなかったのですが、一応解決しました。
原因は、
フォームの
<form method="post" action="./result">
↑ここがおかしかったみたいです。
0150nobodyさん
2011/11/25(金) 23:22:16.42ID:???■app/Model/Test.php
<?php class Test extends AppModel{public $name = 'test';}
■app/Controller/TestController.php
<?php class TestController extends AppController{function index(){$test = $this->Test->find('all');debug($test)}}
データベースはSQLiteに設定してありますが、データベースを使わず、
モデルTest.phpに書いた変数$nameの値をコントローラから読み込みたいのですが
Fatal error: Call to a member function find() on a non-object
というエラーが出て困ってます
どなたかアドバイスお願いします
0151nobodyさん
2011/11/26(土) 02:11:47.02ID:???0152nobodyさん
2011/11/26(土) 02:19:26.62ID:???見たけどなんも書いてないし
こういう作りかけで放置?みたいなのがCakeにはちょこちょこ見られて嫌だな
0154nobodyさん
2011/11/26(土) 15:54:08.70ID:???よくわからんが
Test.phpはtest.php
TestController.phpはtests_controller.php
じゃないのか。
0156nobodyさん
2011/11/27(日) 03:43:00.02ID:???お勧めの本とかを聞くのはスレ違いですか?
もし平気ならお勧めの本を教えてください。
0157nobodyさん
2011/11/27(日) 07:48:03.99ID:???「ほかの要因はさておき、我々の売上は、ある程度賃金に依存しているのだ。
より高い賃金を出せば、その金はどこかで使われ、ほかの分野の商店主や卸売り業者や製造業者、
それに労働者の繁栄につながり、それがまた我々の売上に反映される。
全国規模の高賃金は全国規模の繁栄をもたらす」
奥田 碩(日本経団連名誉会長 元トヨタ自動車会長)
0159nobodyさん
2011/11/28(月) 06:13:25.61ID:???PHPは何となくわかるんだけど、ビジネスロジック?をmodelにどう書いたらいいかとかがわからない、、。
ネットで調べてもDBのアクセス方法とかしか載ってないし・・・。
0160nobodyさん
2011/11/28(月) 11:15:11.72ID:???おいおい、その程度の知識かよ・・・
それなら「はじめてのMySQL」的な本とかかって、DB回りを勉強しろよ。
MVCについても全く概念が無いようだから、
ネットの解説記事を見て、オレオレフレームワークでも作る練習しろ。
その後にCakeやった方が捗るよ。
0161nobodyさん
2011/11/28(月) 13:01:50.72ID:???0162nobodyさん
2011/11/28(月) 13:52:41.35ID:???0163nobodyさん
2011/11/29(火) 15:55:46.38ID:???上記で出力した項目のValidationについて教えてください。
上記で年・月・日のドロップダウンリストが出力されます。
2011・2・31を選択して保存すると、2011-03-03として保存されます。
ありえない日付を選択されたのでエラーとしたいのですが、標準でできますでしょうか?
0165nobodyさん
2011/11/29(火) 23:21:26.10ID:xETpRXatViewを作らずにすますにはどうすればいいですか?
0168nobodyさん
2011/11/30(水) 02:02:38.21ID:???ちょっと古い記事ですが
http://blog.syuhari.jp/archives/172
テーブルからデータを取得するコードはモデルにメソッドとして書いて
コントローラで取得して、ビューに渡すという流れです
0169nobodyさん
2011/11/30(水) 11:57:10.26ID:???俺のところでは出来るが
>>168
これ、ページネーション(paginate)を使いたい場合は使えないんだよな・・・
■ このスレッドは過去ログ倉庫に格納されています