トップページphp
995コメント290KB

【PHP】フレームワーク CakePHP 13ホール目【v2.0】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2011/11/09(水) 01:05:10.60ID:???
CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
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/
0050nobodyさん2011/11/14(月) 13:08:59.45ID:???
>>49
理由は?
0051nobodyさん2011/11/14(月) 13:13:03.72ID:???
>>50
日本語に対する情報の差
0052nobodyさん2011/11/14(月) 13:18:47.14ID:???
そんなに英語嫌なの?
アホなの?
0053nobodyさん2011/11/14(月) 13:22:04.04ID:???
>>52
yes
0054nobodyさん2011/11/14(月) 13:41:19.30ID:???
まぁ良いフレームワークならユーザーも増えて情報も増えていくだろう
Yiiはかなり有望だと思うよ
0055nobodyさん2011/11/14(月) 13:47:56.50ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ 有望だけじゃなにがいいかわからない
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)

0056nobodyさん2011/11/14(月) 14:43:27.05ID:???
>>55
・シンプル
・軽い
・柔軟
・だけど大規模もいける
0057nobodyさん2011/11/14(月) 15:38:26.16ID:???
    / ̄ ̄ ̄\
   / ─    ─ \
 /  (●)  (●)  \ CakePHPもおなじじゃないのか
 |    (__人__)    |
 \    ` ⌒´    /
 /            |
(_ )   ・    ・  ||
  l⌒ヽ        _ノ |
  |  r ` (;;;U;;)   )__)
 (_ノ  ̄  / /
        ( _)
0058nobodyさん2011/11/14(月) 17:55:25.43ID:???
CakePHPは日本語情報が相当そろってるでしょ。
個人のブログでも盛んに発信されてるし。

Yiiは有望なんだろうけど、いかんせん個人での発信者が少ない気がする。
開発画面のフッターはかっこいいと思う。あれは使いやすい。
0059nobodyさん2011/11/14(月) 18:04:58.31ID:???
CakePHP辞典のようなリファレンス本があればいいのにね。
やっぱネットで調べるよりも本を見ながらの方が開発しやすいし。
0060nobodyさん2011/11/14(月) 18:57:00.77ID:???
皆は


会員登録
メールによるクリック本登録
パス忘れたときのメールによる再発行

なんかは自分で作り込んでるの?
0061nobodyさん2011/11/14(月) 18:59:56.98ID:???
いらないだろ
0062nobodyさん2011/11/14(月) 19:22:07.74ID:???
>>61
どういうこと?
0063nobodyさん2011/11/14(月) 19:24:44.69ID:???
>>61はいらない子
0064nobodyさん2011/11/14(月) 19:55:45.54ID:???
>>60
自分で作り込んでるの?ってどういう意味だ?
誰かが作った物をそのまま流用してるって事か?
そんなわけねーだろ。
0065nobodyさん2011/11/14(月) 20:59:16.72ID:???
>>60
この一連のユーザー登録機能、
フレームワークによっては標準搭載もあるよな。
0066nobodyさん2011/11/14(月) 21:09:29.55ID:???
んじゃ、CIやYIIって
cakephp+ktailiblary以上に携帯サイト作りやすいの?ん?
0067nobodyさん2011/11/14(月) 21:18:38.51ID:???
>>60
adminが登録するタイプの案件しかやった事ない。
0068nobodyさん2011/11/14(月) 22:03:24.22ID:???
みんな携帯サイトつくってばかりということか
0069nobodyさん2011/11/14(月) 22:25:25.56ID:???
>>60
自分で作ったよ。CakePHPで。

テストも自動化したかったから、
ニセのSMTPサーバー作ってそこに送信→ファイルに保存。
それみてCakePHPについてたブラウザをエミュレートするモジュールが
クリックなんてことしたなぁ。

もう3年以上前になるかな。今なら便利な何かがあるかもね。
0070nobodyさん2011/11/14(月) 22:32:22.79ID:???
Ktai Libraryって個人が作ってるショボいやつでしょ?
絵文字の対応が弱かった気がする
0071nobodyさん2011/11/15(火) 00:30:41.57ID:???
Modelにvalidateを記述してもスルーされてしまうんですが、何故でしょうか?

<?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:???
>>71
>var $useTable = false;
↑こういう場合は、$_schema を設定する必要があった気がする。

var $_schema = array(
'name' => array(
'type' => 'string',
),
);
0073nobodyさん2011/11/15(火) 01:42:34.79ID:???
>>70
setしたデータがあってるか、validatesする前にvar_dumpしてみたら?
ContactsとContactがごっちゃになってそうだけど。
0074nobodyさん2011/11/15(火) 01:56:03.33ID:???
>>47を見る限りCIはタガログ語とインドネシア語の情報が豊富そうだぞ
まずはそっちの語学学習からだな
0075nobodyさん2011/11/15(火) 13:30:08.83ID:???
>>71
俺みたいにappを分けてて、
modelファイルも同一の物があるんじゃねーの
0076nobodyさん2011/11/15(火) 15:55:39.02ID:???
CakePHP2.0でhelperを読み込んだらviewからしか開けません
これってふつうですか?controllerから前は呼べた気がするんですが
0077nobodyさん2011/11/15(火) 16:51:27.77ID:???
前からもコントローラーでApp.importしたが
0078nobodyさん2011/11/16(水) 13:56:38.50ID:???
test
0079nobodyさん2011/11/16(水) 14:58:38.98ID:???
CakePHPの勉強会いってるひといる?どうですか
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:???
viewについてですが条件分岐が多くてif文だらけになるんですが
なんかスマートなやりかたってありますかね
0087nobodyさん2011/11/17(木) 01:07:02.88ID:???
>>86
viewファイルわけるとか?
0088nobodyさん2011/11/17(木) 01:26:10.05ID:???
そういうのはうちでは全部盛り込んだ。
0089nobodyさん2011/11/17(木) 01:44:12.36ID:???
なにを盛り込んだのよ
0090nobodyさん2011/11/17(木) 08:49:19.09ID:???
ど、どくを・・・
0091nobodyさん2011/11/17(木) 08:55:55.80ID:???
>>86
まず、何に対する条件分岐か書けよ
0092nobodyさん2011/11/17(木) 11:17:06.59ID:???
>>86
ヘルパーにまとめちゃえば
0093nobodyさん2011/11/17(木) 12:51:19.33ID:???
viewからコントローラーやモデルを呼び出すことはできますか?
0094nobodyさん2011/11/17(木) 12:52:51.10ID:???
出来ます
0095nobodyさん2011/11/17(木) 13:44:18.21ID:???
>>93
そうしなくちゃいけない設計がマズイ
0096nobodyさん2011/11/17(木) 23:19:43.07ID:t9LRBQJB
一つのIPに対してバーチャルホスト切って運用する場合に
ドキュメントルートってcakephp/app/webrootでいいの?
トップはいいとして他のページを表示しようとすると
Not Foundになっちゃうんだけど。
ちなみにcakephp直下をドキュメントルートにするとうまくいく。
0097nobodyさん2011/11/17(木) 23:46:36.11ID:???
cakePHPを最近使い始めました。
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下のファイルでうまく設定は出来ないでしょうか。
0098nobodyさん2011/11/18(金) 01:01:53.98ID:???
>>96
バーチャルホストのドキュメントルートを、各のドキュメントルート直下を指定するといい。
0099nobodyさん2011/11/18(金) 01:18:37.03ID:???
>>97
mod_rewriteは基本触らないでRouterでやった方がいいと思うんだけど
0100nobodyさん2011/11/18(金) 01:56:17.73ID:???
>>98
「各のドキュメントルート直下」というのは
例えば、/var/www/cakephp/のこと?
それとも、/var/www/cakephp/app/webrootのこと?
0101nobodyさん2011/11/18(金) 12:40:48.58ID:???
/var/www/cakephp/
これでいいのでは?
cakephp標準で.htaccessが付いてるし。
0102nobodyさん2011/11/18(金) 17:11:19.32ID:???
2.0でhelperからcomponentを呼びたいのでやりかたおしえてください
あとcomponentからhelperを呼ぶようにするのとどっちがいいですか
0103nobodyさん2011/11/18(金) 23:01:21.82ID:???
普通にPHPクラスを作って、両方から呼び出してください。
0104nobodyさん2011/11/18(金) 23:12:54.03ID:???
CodeIgniterがライセンス変更されて使いづらくなったらしいけど
Cakeは大丈夫かな?使い始めてから突然変更されたらかなわんな
0105nobodyさん2011/11/19(土) 00:00:44.70ID:???
>>104
CIは会社が作ってるんでしょ。
0106nobodyさん2011/11/19(土) 00:07:58.71ID:???
>>99
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:???
>>104
今cake使っててCIかyii浮気しようと思っていた俺は、浮気先が一つになったので選ぶ必要がなくなった
オープンソースの宿命だから、そのときはそのときでしょうがない
0108nobodyさん2011/11/19(土) 02:37:10.19ID:???
なんで浮気しようと思ったの?
0109nobodyさん2011/11/19(土) 02:40:13.80ID:???
>>106
えとね。mod_rewriteは○○○ってURLを×××に変えることはできるけど、
×××を○○○に変えることはできないんだよ。
0110nobodyさん2011/11/19(土) 08:14:03.03ID:???
オープンソースの宿命なの?
あとから規約変えるとか詐欺だろ
0111nobodyさん2011/11/19(土) 10:01:41.28ID:???
最近はてブでFuelPHPってのが話題にあがってた
触ってみた?
0112nobodyさん2011/11/19(土) 11:11:45.38ID:???
>>109
mod_rewriteで出来ないことまでやろうとしてるんじゃなくて、
mod_rewriteとRoutes両方で出来ることなら、
mod_rewriteでやったほうがいいんじゃないか。
>>99はmod_rewriteは基本触らないという意見のようなので。
0113nobodyさん2011/11/20(日) 02:41:49.47ID:???
>>111
そんなに便利そうに思えないんだよな。
オレオレの域を抜けてないというか
0114nobodyさん2011/11/20(日) 14:33:03.47ID:???
CodeIgniterが死亡した今Yiiとの一騎打ちになったか
0115nobodyさん2011/11/20(日) 14:54:00.52ID:???
>>111
触ってない
「CIより多少マシ」というコメントがついていたけど、まさにそんな感じだと思った
CIも結局盛り上がらなかったし、既にCakeとかSymfonyというフレームワークがある状況だと、
いいフレームワークが出来てもいかにそれを流行らせるかが問題だと思う
暇そうなプログラマー雇って提灯記事とドキュメントの日本語訳書かせまくるしかないんじゃない?
0116nobodyさん2011/11/20(日) 17:11:02.58ID:???
なんで訳さないといけないんだよ
お前らが英語勉強しろよ
0117nobodyさん2011/11/20(日) 20:29:27.21ID:???
Cakeが流行ったのは提灯記事のおかげだったのか
0118nobodyさん2011/11/20(日) 23:38:02.20ID:???
いいえ、提灯ではない記事のおかげです
0119nobodyさん2011/11/21(月) 01:16:55.48ID:???
>>117
cake初期の頃ブログ書きまくってたけど、「CakePHPがRoRに対抗するフレームワークになるんだ!俺がそうするんだ!」
みたいな変な使命感もってやってたよ
今はすでにPHPでフレームワークがたくさんある、しかもCakeなどのメジャーになったモノがたくさんある状況で
新規のフレームワークに手を出す人は少ないだろうから、まずはそのフレームワークのエヴァンジェリストが必要なんじゃ無いかと思う
0120nobodyさん2011/11/21(月) 01:22:56.17ID:???
>>119
確かにCakeの記事は玉石混交しててバリエーション豊かだった気がする。
Zend Frameworkとかもあんま流行ってる感じしないしな。
0121nobodyさん2011/11/21(月) 01:38:56.62ID:???
cakeネタで書こうと思えばいろいろあるんだけど
twitterとか使い出したら、なんかわざわざブログに書くのめんどくなったよ
0122nobodyさん2011/11/21(月) 12:40:46.36ID:???
Cake1年ほど業務で使ってみたけど
開発スピードは速い
実行スピードは遅い
バグは多くも少なくもない
という印象
0123nobodyさん2011/11/21(月) 16:18:29.64ID:???
俺も同じ意見。
実行スピードの遅ささえ解消されれば、最強なんだがな・・・
0124nobodyさん2011/11/21(月) 17:47:44.03ID:???
Controllerからviewヘルパーを呼ぶと
Fatal error: Call to a member function hoge()がでてしまいます

コントローラには
$helpers = array('Hoge');
とかいて
$this->Hoge->hoge();
と書いているのですが
0125nobodyさん2011/11/21(月) 17:49:18.81ID:???
コントローラー内で呼ぶ場合、newしないとだめだよ。
0126nobodyさん2011/11/21(月) 18:19:23.29ID:???
>>125
ありがとうございます

$this->Hoge = new HogeHelper();
このように書いたら
Fatal error: Class 'HogeHelper' not found が$this->Hoge = new HogeHelper();と書いた行ででてしまいました
最初に読み込んだりしますか

0127nobodyさん2011/11/21(月) 18:50:56.58ID:???
App::Importしないと。
0128nobodyさん2011/11/21(月) 19:17:30.73ID:???
>>127
ありがとう
できなかったからもう寝るお
0129nobodyさん2011/11/21(月) 19:25:32.67ID:???
なぜにググることすらしないのか
0130nobodyさん2011/11/21(月) 19:34:10.21ID:???
馬鹿だから
0131nobodyさん2011/11/21(月) 21:57:23.12ID:hMc6lKUo
LinuxでPHP5.3.6をソースからコンパイルして使ってるんですが、
CakePHPの内部で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:???
>>131
このことじゃね
https://bugs.php.net/bug.php?id=54695
0135nobodyさん2011/11/23(水) 19:20:56.88ID:vIVNUlWb
hetmlhelperで相対パスにリンクを張ったらhttpのアドレスからだとhttpにリンクが張られてしまうんですが、
httpsに張るようにするには絶対パスしかないですか?
0136nobodyさん2011/11/23(水) 20:28:32.14ID:???
>>135
Htmlヘルパーを拡張したMyHtmlヘルパーを作ればいいじゃない。
0137nobodyさん2011/11/23(水) 20:35:14.55ID:???
舞Htmlヘルパー
0138nobodyさん2011/11/23(水) 21:13:39.19ID:???
app_html.phpかな。
0139nobodyさん2011/11/25(金) 01:36:56.19ID:???
CakePHPでサイト作るとしたらふつうだいたい何ヶ月くらいかかるの
0140nobodyさん2011/11/25(金) 01:41:51.95ID:???
自分で学習して作るのか、外注して作るのか、作るサイトの規模はどれくらいかとか書いてくれないと、ピンキリとしか言いようが無い
0141nobodyさん2011/11/25(金) 02:01:33.59ID:???
OpenPNEのようなSNSを自分で作る場合はどのくらいかかりますか?
0142nobodyさん2011/11/25(金) 03:48:39.39ID:ms97YqHe
http://libro.tuyano.com/index3?id=8005&page=6
このとおり作ってるんだが、「送信」押すと、
Create the class ResultController below in file: app\Controller\ResultController.php
ってエラーがでる。
0143nobodyさん2011/11/25(金) 05:54:25.81ID:???
Cakeのwebrootにあるcss.phpて動作してる?
App::import('Vendor', 'csspp' . DS . 'csspp');とかやってるけど、そんなもの存在してない気がするんだが
0144nobodyさん2011/11/25(金) 05:55:26.54ID:???
Cakeのwebrootじゃなくてapp/webrootだった
0145nobodyさん2011/11/25(金) 12:05:59.37ID:???
>>142
そのサイトの他ページは見てないからviewがどうなってるのか知らないけど、
フォームの送り先URIがおかしいのでは。
0146nobodyさん2011/11/25(金) 12:08:23.24ID:???
>>143
cssppをダウンロードしてVenderにぶち込めってことじゃないの
css.phpのコメントにでも書いてあると思うが
0147nobodyさん2011/11/25(金) 12:47:14.66ID:???
>>139
画面数と機能数で概算出してみたら?
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:???
>>145
遷移しなかったのですが、一応解決しました。
原因は、
フォームの
<form method="post" action="./result">
↑ここがおかしかったみたいです。
■ このスレッドは過去ログ倉庫に格納されています