【PHP】フレームワーク CakePHP
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/18(土) 20:53:22ID:???本家
http://www.cakephp.org/
10分で作るCakePHPアプリ for Windows
http://p4life.jp/cake/
マニュアル日本語化
http://www.cakephp.jp/doc/
日本語フォーラム
http://cakephp.jp/modules/newbb/
あとこのへんとか(初心者向けTIPS)
http://www.avatarfinancial.com/pages/cake/
0682nobodyさん
2007/09/06(木) 12:02:53ID:???引数多いんだね。
単に<inputタグの属性に展開されるだけかと思ったが、
emptyとか関係ないものもあるし。
どっかで見ただけで試していないがlabelを消すときは''とかではなく、
falseにするらしい。
inputのドキュメントって無いのかな?
0683nobodyさん
2007/09/06(木) 12:24:42ID:???ソース読んで無いので間違っていたら修正よろしくw
使用するテーブルは直前の$form->createで指定したmodel。
つまり$form->createはタグを出力するだけでなく副作用がある
($formの状態を変化させる)
# ↑なんか気持ち悪い仕様だなぁ。こうすればいいのに。
# $form1 = $form->create('・・・');
# echo $form1->begin(); //formタグ開始
# echo $form1->input();
# echo $form1->end(); //formタグ終了
$form1->inputで出力されるタグの種類(textとかcheckboxとか)は
データベースの型やアソシエーションから自動選択(?)
具体的にデータベースの型が何のときに
どういうタグが出力させるかは、後の人よろしくw
0685nobodyさん
2007/09/06(木) 14:29:19ID:???0686nobodyさん
2007/09/06(木) 16:08:21ID:???0687名無しさん@Vim%Chalice
2007/09/06(木) 16:34:40ID:???$form->input('field')と
$form->input('Model/field')と
$form->input('Model.field')の
大体3種類の書き方があるよな?
そんで、CakePHPは今後ドット区切り(3番目の書き方)へ
移行するって記事をどっかで見たような気がしたんだけど
ソース持ってる人いる?
0688名無しさん@Vim%Chalice
2007/09/06(木) 16:41:49ID:???http://cakebaker.42dh.com/2007/03/19/modelfield-has-been-deprecated/
0689nobodyさん
2007/09/06(木) 17:08:13ID:???ソースに書いてあるよ。
/**
* Generates a form input element complete with label and wrapper div
*
* @param string $fieldName This should be "Modelname.fieldname", "Modelname/fieldname" is deprecated
* @param array $options
* @return string
*/
ところで、scaffold(およびbakeの出力結果)に
検索機能つかないのかな?
Paginationみたいに、そのままの出力で検索機能があったら良いなぁ
検索機能自体は簡単に作れるけど、検索結果に対してPaginationとか、
そこからaddやeditをしたら、単純なindexではなく、
検索結果に戻る(当然Paginationも考慮)とか考えると
ちょっと大変だな。
addページにきたときに、addページの前の検索結果+ページを
知る必要があるから、addページに飛ぶリンクを
工夫しないといけないし。
0690nobodyさん
2007/09/07(金) 08:58:58ID:???なんと、thx
>scaffold(およびbakeの出力結果)に検索機能つかないのかな?
decorate.phpとかmasterbakeとかあったと思う。
0691nobodyさん
2007/09/09(日) 00:48:06ID:???bakeって使用するデータベースを指定することってできない?
ソース見てるとどうも'default'きめうちっぽいんだけど。
サーバー('default')とローカル('local')で設定が多少違ってて、
開発時はlocalを見てbakeしてほしいんだけど。
06923
2007/09/10(月) 05:48:34ID:???0694nobodyさん
2007/09/11(火) 20:11:32ID:???どう書くのが作法なの?
0695nobodyさん
2007/09/13(木) 00:29:34ID:WTXj/Q9bどうにかして indexs だけで sつけるだけで簡単に動く方法ないでしょうか。
英語の複数系がわからないんです。。。
0696nobodyさん
2007/09/13(木) 01:25:39ID:???0697nobodyさん
2007/09/13(木) 03:13:20ID:???http://cakephp.jp/doc/ch04s05.html
この他に、モデルの$useTableを使う方法、inflector.phpを直接改造してしまう方法がある。
0698nobodyさん
2007/09/13(木) 11:41:33ID:f1fHu9mPとりあえず使ってみることにしました。
それでCakePHPを選んだのですが、
これはようするにDBを簡単に扱うための仕組みみたいなものなんでしょうか?
データを元にviewで好きなもの作りなさいっていうことなんでしょうか?
0699nobodyさん
2007/09/13(木) 12:14:35ID:r/Zw5qbNありがとうございます!
inflectior.php のどこをどのように修正すればよいのか・・・。
わからないので教えていただけると大変ありがたいのですが。
cakephp1.1 でアプリをつくったときは indexs で動いて
cakephp1.2 の場合は indexcies じゃないとダメ。
1.1 の inflectior.php と 1.2 の inflectior.phpを見比べてみても設定が
一緒なんですよね。
0700nobodyさん
2007/09/13(木) 12:25:40ID:???0702nobodyさん
2007/09/13(木) 21:44:26ID:???あなたはいくらなんでも滅茶苦茶すぎw
せっかく教えてもらったファイル名さえスペルミスしてるじゃんw
https://trac.cakephp.org/browser/branches/1.2.x.x/cake/libs/inflector.php?rev=5223
ここをindexで検索したら、複数形作成のルールが書いてある。
これを削除してしまえば、indexsで通るようになるでしょう。でもこの際ちゃんとした複数形を覚えたら?
0703nobodyさん
2007/09/13(木) 22:41:41ID:???ちょっとしつもん。
controller で以下のようなコードを書いたのですが、1件しか登録されません。
foreach ($values as $val) {
$data = array("name" => $val);
$this->Hoge->save($data);
}
一度にたくさんインサートしたい場合はどうすればいいのでしょうか。
0704名無しさん@Vim%Chalice
2007/09/13(木) 23:03:44ID:???save()する前に$this->Hoge->id = null;してみ
0705nobodyさん
2007/09/13(木) 23:20:09ID:???内容はid=nullとあんま変わらないけど。
Model::create()
Initializes the model for writing a new record.
0707nobodyさん
2007/09/14(金) 11:48:15ID:/to9vVVuありがとうございます!この際英語を覚えることにします。
覚えておいて損はないですしね^^
0708nobodyさん
2007/09/14(金) 13:01:34ID:???日本語訳が進んでないドキュメントとかいっぱいあるんだから
そんくらいは読めるようにしないと
0709nobodyさん
2007/09/14(金) 14:23:53ID:DU5zTfFS0710nobodyさん
2007/09/14(金) 15:51:53ID:???趣味なら別にどうでもいいが。
0711nobodyさん
2007/09/14(金) 16:00:59ID:DU5zTfFS0712nobodyさん
2007/09/14(金) 17:02:29ID:???この界隈でどうやって英語抜き生活するんだ
つーか、技術英語なんて大体パターン決まってるし
サンプルコードもあるんだから割と簡単だよ
英語�_とか抜かしてる奴はただ
ズラーっと並んだ横文字をパッと見て諦めてるだけだろ?
0713nobodyさん
2007/09/14(金) 17:09:56ID:???0714nobodyさん
2007/09/14(金) 17:17:51ID:???0715nobodyさん
2007/09/14(金) 17:30:12ID:???0717nobodyさん
2007/09/14(金) 21:43:55ID:???$this->params['url'] => Array
(
[url] => posts/view ←余計なデータ
[var1] => 3
[var2] => 4
)
なんだよ。ぼけ。使いにくいじゃないか。
0718nobodyさん
2007/09/14(金) 22:26:23ID:???なんか残りチケット200ちょいからぜんぜん減ってないんだけど
0719nobodyさん
2007/09/14(金) 22:52:00ID:???そういう場合は、Cake的には普通は
URLを /posts/view/3/4 として PostsController で
function view($var1, $var2) {
...
}
というふうに受け取るんだよ。
http://cakephp.jp/doc/controllers.html#id4805355 に書いてるべ。
0720nobodyさん
2007/09/14(金) 23:05:16ID:???じゃあ聞くが、
検索語[ ] [検索]
というフォームはどうするんだよ?
/posts/?search=aaa
とかで渡されてくるだろ?
0721nobodyさん
2007/09/14(金) 23:36:29ID:???それは、
$this->params['url'] => Array
(
[url] => posts/view
[search] => aaa
)
でいいんじゃないかな。
予約語みたいなものじゃない?urlは。
どういうとき困る?
0722nobodyさん
2007/09/14(金) 23:37:36ID:???0723nobodyさん
2007/09/14(金) 23:43:50ID:???無理してCakePHPの変数を使おうとせんでも
0724nobodyさん
2007/09/14(金) 23:55:33ID:???試してから書いてくれ
0725nobodyさん
2007/09/14(金) 23:57:30ID:UPghMBCiパラメータに何を使ってるかは
自分で分かってるんだからどうとでもなるべ
0726nobodyさん
2007/09/15(土) 00:01:24ID:???保守性が悪いから困る
0727nobodyさん
2007/09/15(土) 00:13:43ID:???あとは知らん
0728nobodyさん
2007/09/15(土) 00:18:09ID:PGlxhB9Tそのレールに不満を感じ始めると途端に使いにくくなるよ
後者なら他のFWの方がおすすめ
0729nobodyさん
2007/09/15(土) 00:42:08ID:???そういうレベルの話じゃなくて、
prams['url']にurlなんかいらないだろ?
他から取得できるのに、何のためにあるんだって言う話。
0730nobodyさん
2007/09/15(土) 00:48:32ID:PGlxhB9Tこれだけじゃなくて、CakePHPはそういう意味不明な予約語みたいのが多い
俺だって_GETに'url'を追加する必要なんかないと思う
だからそういう不満を感じるなら向いてないよ、っていう話
0731nobodyさん
2007/09/15(土) 00:52:24ID:PGlxhB9T俺はもう自分からCakePHPを使うことはきっとないよ
わけが分からない制約が多すぎるからね
0733nobodyさん
2007/09/15(土) 01:23:03ID:PGlxhB9Tまあ継承して解決するだけマシだけど手間は変わらない。
ていうか、CakePHPがPHP標準の仕様を勝手に変えてるせいでそういう対応をしないといけないわけで。
頭が固いとかいう問題じゃなくて、意味不明な制約が少ないFWの方がいいってだけ。
0735nobodyさん
2007/09/15(土) 01:28:32ID:PGlxhB9Tこれでいい?満足した?ww
0736nobodyさん
2007/09/15(土) 01:31:05ID:???とっても満足した。
0737nobodyさん
2007/09/15(土) 01:32:36ID:PGlxhB9Tおめでとう。
0738nobodyさん
2007/09/15(土) 01:33:30ID:???0739nobodyさん
2007/09/15(土) 01:35:26ID:PGlxhB9T0740nobodyさん
2007/09/15(土) 07:07:45ID:???・mod_rewriteで/posts/?search=aaaを/posts/aaaに書き換える
0742nobodyさん
2007/09/15(土) 11:17:52ID:???SymfonyでもZendでもいいし、なんならRailsでも使えや。
0743nobodyさん
2007/09/15(土) 11:39:11ID:???0744nobodyさん
2007/09/15(土) 12:14:57ID:???こうですか?わかりません><
$html->formTag('/post','get',array('onsubmit'=>'location.href=\'/post/\'+this.search.value;return false;'));
0745nobodyさん
2007/09/15(土) 14:49:02ID:???0746nobodyさん
2007/09/18(火) 16:54:37ID:Al1Bs6O8Noticeエラーを表示させたくないのですが、
ドリームウィーバーで error_reporting の部分に ^ E_NOTICE をつけてもNoticeエラー
が表示されてしまいます。エラーレベルを変更するにはどこを修正すればよいのでしょうか。
cakephp1.1のときは上記方法でうまくいったのですが・・・よろしくお願いします。
0747nobodyさん
2007/09/18(火) 18:46:58ID:???http://cakephp.seesaa.net/article/53564832.html
0748nobodyさん
2007/09/19(水) 16:32:02ID:???mbstring.encoding_translationをonにすることなく、
phpコードで文字コード判別・変換したいのだが、
どこに入れたらいいのだろうか?
cakephpが解釈して、変数に入れたりする前に
$_POST、$_GET、(他にもあるかな?)の内容に対して
文字コード変換するべきだと思うんだが、
どの時点でするべきだともう?
どこにコードを書けばいいんだろうか?
0749nobodyさん
2007/09/20(木) 16:12:39ID:???0750nobodyさん
2007/09/20(木) 17:41:56ID:???0752nobodyさん
2007/09/20(木) 18:44:41ID:???0753nobodyさん
2007/09/20(木) 19:25:42ID:???0754nobodyさん
2007/09/20(木) 21:36:38ID:???そういう時は出力するコントローラのアクション内で、
Configure::write('debug', 0);
でスッキリ。
0755nobodyさん
2007/09/21(金) 13:49:22ID:7403NihySQLもわけわからんとこでエラーでるし。
さすがは a 版。
やっぱり今はまだ 1.1 を使ったほうがよさそう。
0756nobodyさん
2007/09/21(金) 18:01:26ID:???0757756
2007/09/21(金) 18:49:13ID:sxzZ5KcOな感じが一般的ですか?
0758nobodyさん
2007/09/21(金) 23:19:35ID:???普通に動いているが?
0759nobodyさん
2007/09/22(土) 00:48:28ID:???0760nobodyさん
2007/09/22(土) 03:59:23ID:???でもやっぱりalphaだと安定性が心配。
0761nobodyさん
2007/09/22(土) 17:26:50ID:???0762nobodyさん
2007/09/23(日) 14:48:44ID:???0763nobodyさん
2007/09/23(日) 16:06:27ID:???0767nobodyさん
2007/09/23(日) 21:18:16ID:???0769nobodyさん
2007/09/23(日) 23:34:12ID:???PHPフレームワークに限らず、全部ゴミ。
ドキュメント読んだりAPI見たりしてわからなければソース見ればいい。
しかしコアソースを変えさせるのは如何なものかと思ってみたりする。
以上、独り言ですた。
0772nobodyさん
2007/09/24(月) 01:35:40ID:???貧乏な上に技術もなく さらには語学力もないのに
遠吠えしてるやつってしょうもないよなあ
だな
こんなとこでほえてないで フォーラムにポストするなりすりゃいいのに
0773nobodyさん
2007/09/24(月) 02:18:10ID:???手を入れる必要があればあるほど、「効率よく開発できるフレームワーク」から
遠ざかっていくことは間違いないな。
あんまり手を入れる必要があるのなら、自分で書いても大して変わらなく
なってしまうわけだし。
0774nobodyさん
2007/09/24(月) 12:18:00ID:???ガキの独り言に何をそんなにムキになって噛み付いてんだ?w
じゃ、まずはモマエからオープンソースの意味について言ってごらん
0775nobodyさん
2007/09/25(火) 19:59:07ID:???デキるやつは、多少バグがあろうと関係ない。
ソースを読んで内部を把握するから詳しくなる。
そしていざ使うとなったときに、
一方はすでに内部から把握している人、
一方は今から勉強する人にわかれる。
0776nobodyさん
2007/09/25(火) 22:41:30ID:???それに、ソースいじりだすとさ、バージョンアップの時も作業が増えるし、いじらなくて済む
ならいじらない方がいいと思うのはおかしいですか?
ごみは言いすぎかもしれないけど、「ソース読むのが前提」ってのは本末転倒かと。
俺は、>769の意見に賛成だよ。
0777nobodyさん
2007/09/25(火) 22:58:10ID:???Cakeが空のクラスを継承してることに気が付くから、
フレームワークの根幹に手を入れるなんて大冒険しなくて良いことに
気が付くよ。
ていうかCakeでソース読まないってどんだけエスパー揃いなんだよ。
膨大なよくわからんHowtoググルより
Cakeぐらいなら、ソース読んだほうがぜんぜんわかりやすいだろう。
0778nobodyさん
2007/09/25(火) 23:08:09ID:???0779nobodyさん
2007/09/26(水) 01:35:02ID:???$this->Hoge->setSource("hoges");
としたのですが、FindAllをするとSQLのエラーとなります。
トレースを見たところ、
SELECT FROM `hoges` AS `Hoge` WHERE 1 = 1
てな具合で、SELECTの後のフィールドリストが空になっています。
自前でモデルの中でフィールドを定義するのか、
それとも、setSourceしたあとに何らかのメソッドでモデルを更新するとか
勝手に想像しながら、APIドキュメントを眺めてはいるのですが、それらしいものが見つかりません・・・
アドバイスお願いできないでしょうか・・・
#ぐぐったら、
#http://d.hatena.ne.jp/cvyan/20070925
#同じようにはまってる人がいました・・・
0780779
2007/09/26(水) 03:03:06ID:???自前でSQLを用意してfindBySqlメソッドを使えば、indexビューは表示できるようになりました。
$sql = "SELECT `Hoge`.`id`, `Hoge`.`name`, `Hoge`.`username` FROM `hoges` AS `Hoge`";
$result = $this->Account->findBySql($sql);
$this->set('hoges', $result);
ただ、InsertやDeleteメソッドも同様にSQLを用意しないと駄目な感じです。
せっかくのフレームワークなので、もう少しスマートな方法があればいいのですが・・・
0781nobodyさん
2007/09/26(水) 09:27:28ID:???モデルの基底クラスでテーブルのメタ情報をキャッシュするようになってるので、そのせいだと思う。
reset()かnewでなんとかならないかな。
0782nobodyさん
2007/09/26(水) 10:10:24ID:???■ このスレッドは過去ログ倉庫に格納されています