【PHP】フレームワーク CakePHP 2ホール目
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/11/14(水) 02:50:28ID:???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/
0636nobodyさん
2008/02/29(金) 08:42:38ID:???頭のいい人間が少人数しかいないから
正しい方向に行くのは常に少人数
0637nobodyさん
2008/02/29(金) 09:13:18ID:???主流になっている罠w
0638nobodyさん
2008/02/29(金) 09:16:04ID:???0639nobodyさん
2008/02/29(金) 09:21:43ID:???反日感情が大衆を間違った方向へ進ませている
CakePHPも同じ
0640nobodyさん
2008/02/29(金) 09:25:37ID:???小規模フレームワークは乱立しやすく
次から次へと良いフレームワークが出来る
大規模フレームワークはやはり規模がでかいから
乱立しにくい
どうせなら覚える量は少ない方がいい
そう賢い人間の選ぶ答えはsymfony
0641nobodyさん
2008/02/29(金) 09:26:48ID:???フレームワークの数分という意味だからね
0642nobodyさん
2008/02/29(金) 09:29:16ID:???CakePHPも同じ道に行くのはわかるだろう
小規模フレームワークの世代交代は1年単位なんだよね
0643nobodyさん
2008/02/29(金) 09:32:31ID:???簡単な掲示板レベルのものしか作れないね
だから今後も有名どころのCakePHP採用実績はありえないよね
だから廃れるのも速い、その理由からも今年で終わりクセー
0644nobodyさん
2008/02/29(金) 09:35:28ID:???> firefoxのアドオンがおいてある、あのサイトが実はCakePHPで作られていたんだそうです。
0645nobodyさん
2008/02/29(金) 09:40:00ID:???以前は活気のあったmojaviスレが廃れてるのを見れば
お前の好きなフレームワークも同じ道に行くのはわかるだろう w
0646nobodyさん
2008/02/29(金) 09:50:18ID:???アマチュアも使えるきちんとしたFWなら生き延びるだろうけど・・・
CIに期待
0647nobodyさん
2008/02/29(金) 10:14:57ID:???Viewでヘルパーのコンポーネントの呼び出し宣言出来ないとか
Viewで直接モデルをコントロール出来ないとかね
0648nobodyさん
2008/02/29(金) 10:21:05ID:???複雑なロジックはコンポーネント化して呼び出し
複雑なロジックでかつ断片性が内容によってかわるならCakePHPはどうすんの?
0649nobodyさん
2008/02/29(金) 11:20:41ID:???なに、この便利な機能
CakePHP利用してからsymfony使うと
豊富な便利機能にただただ関心
0650nobodyさん
2008/02/29(金) 11:22:31ID:???作者やる気がないから将来性もクソもないがね
やる気のない社長がいる会社の株を買ってるのと同じだね
0651nobodyさん
2008/02/29(金) 11:23:29ID:???いつ開発中止するかわからんフレームワークをよく使えるなwww
0652nobodyさん
2008/02/29(金) 11:24:22ID:???アマチュアには敷居高いからね
流行らなければ廃れていくのは同じ
0653nobodyさん
2008/02/29(金) 11:43:03ID:???フレームワークを次々乗り換えるんじゃなくて
期間的に長く使えるフレームワークしかいらない、
一見、CakePHPは効率よく見えるが
過去資産になりにくい時間の使い方は、非効率
0654nobodyさん
2008/02/29(金) 11:50:01ID:???0から作る案件はかなり少ない
スパゲッティソースでも
今までの過去資産をカスタマイズする方が圧倒的に速い
0655nobodyさん
2008/02/29(金) 12:45:25ID:???0656nobodyさん
2008/02/29(金) 14:26:26ID:???ただ知名度が優先して使ってる人が多くなってるだけ
0657nobodyさん
2008/02/29(金) 14:31:12ID:???フレームワークが主流にならないと
初心者がフレームワーク出来ますとか
調子いい事を言うからな
初心者と経験者の差をはっきりさせて
初心者がすぐに食える状態を無くして欲しい
0658nobodyさん
2008/02/29(金) 14:32:41ID:???高級志向の大人のフレームワークがsymfony
0659nobodyさん
2008/02/29(金) 14:46:43ID:???さびれてんだからさwww
13: フランチョスとsymfony (36)
http://pc11.2ch.net/test/read.cgi/php/1201177567/l50
0660nobodyさん
2008/02/29(金) 14:51:07ID:???http://pc11.2ch.net/test/read.cgi/php/1204113475/l50
一時期 symfony か CakePHP かって時期あったけど
これほどにまでsymfony 廃れてるとは知らんかった。
まあ、どうでもいいけど。
0661nobodyさん
2008/02/29(金) 14:51:22ID:???> 長い目で見れば、流行だけで中身の薄いものは確実に消える
それ具体的に何年後?
そりゃいつかは何もかも消えるだろうなw
そのときに、ほら消えた。俺の言っていたことは正しかったんだ。と
言えない様に、今何年後に消えるのか言ってもらおうか。
それまでに消えなければ、お前の言っていることは間違いだとはっきりする。
そのとき俺がおまえのことを思い出すことは無いだろうが、
少なくともおまえ自身は、自分の予測が外れたことを身にしみて感じるだろうw
0662nobodyさん
2008/02/29(金) 14:59:47ID:???0663nobodyさん
2008/02/29(金) 20:34:53ID:???0664nobodyさん
2008/02/29(金) 23:39:58ID:???core.phpに書いてるんだけど、これで問題ないですか?
0665nobodyさん
2008/03/01(土) 00:37:40ID:???app/core.phpはcakeの動作を変えるために設定を変えるだけで
自分で値を追加しないものと感じる。
もっとも「すべてのページで使うような変数」の内容によっては、
AppControllerにかいたりvendors以下にファイル作ってそこに書いたりする。
とここで、ふと、自分の作っているのを見たらapp/core.phpにも書いていたwww
といっても、ユニットテストのための追加設定だけどね。
0666nobodyさん
2008/03/01(土) 12:28:11ID:uin8SgpQデータベースの値として、0が入ってしまうんですが、
これをNULLで代入させる方法ありませんか?
もちろんデーターベースのフィールドはNULL値が入るようになっています。
データベースはMySQL。クエリーとしては、
INSERTとかUPDATE 〜〜〜 number_field = '' という文が発行されています。
たしかデータベースによっては(Oracle?)、こういう場合null値を入れるやつも
あった気がしますが、汎用的な方法としてやりたいな。
0667nobodyさん
2008/03/01(土) 14:35:44ID:???0668nobodyさん
2008/03/01(土) 14:43:32ID:???使ったこと無いので勉強したほうがいいのかなと思いまして。
先輩方、ご指導ください。
0669nobodyさん
2008/03/01(土) 15:07:46ID:uin8SgpQそれがですね。nullを入れてもだめなんですよ。
同じところで4989を代入したら強制的に値を4989に出来たので
間違いないと思うんですが。
0670nobodyさん
2008/03/01(土) 15:20:41ID:???0671nobodyさん
2008/03/01(土) 15:21:09ID:???使っていると今までの手動テストがいかに怠けていたかがわかるよ。
今ユニットテストでやっているテストを手動でやれといわれたら泣く。
設計が固まってなくて大幅に変更するときとか、安心していじれるようになる。
ある操作をしてエラー → プログラム修正 → データ消してテストデータ入れる → もう一回同じ操作。
これを手動で何度もやらなくてすむ。操作が複雑になって、前提データが
複雑になると、もう一回同じ状態に戻して操作なんてやってられない。
あとちょっと変則的だけど、データベースの定義&その他の設定をYAMLを
使ってやっているのだが、そのスキーマのチェックにも使っている。
スペルミスとか細かいエラーに悩まされなくていいよ。
本当は、YAMLスキーマバリエータを使うべきなんだろうけど。
PHP用なさそうだし、どこまで出来るのか不安だったので。
(たとえば、名前規約、複数形でなければならないとか
このフィールドは違う設定ファイルに定義されてなければならないとか)
0672nobodyさん
2008/03/01(土) 15:23:37ID:uin8SgpQ多分、それもあるとは思います。
しかし、同じ設定のまま、phpMyAdminではnullを入れられます。
もちろんこのときに発行されるSQL文は、
INSERTとかUPDATE 〜〜〜 number_field = null ですね。
MySQL側で設定できたとしても設定は変えられないと思われるので、
アプリ側で対処したいのですが。
0673nobodyさん
2008/03/01(土) 15:30:04ID:???今、このようなアドレスにいるとして、
ここから、以下のようなアドレスを作り出す
一番シンプルな方法は何でしょうか?
(param1の内容だけを変えたいということです。)
/controller/action/1/2/param1:z/param2:b?c=test1&d=test2
URL文字列形式じゃなくて、params配列形式でもOKです。
むしろこっちのほうがいいです。
0675nobodyさん
2008/03/02(日) 01:41:30ID:???今それでやってますけど、これぐらいフレームワークが用意していてもよさそうじゃない?
関数名($this->params, array('named'=>array('param1'=>'z')))
ってな感じ。
0677nobodyさん
2008/03/02(日) 12:37:53ID:???ドキュメントが少ないからソース解析しながら大変だけど
この作業がわりと楽しい
理解を深めながらコーディングできる。
ちょっとした不具合でもデバッグ文でググるんじゃなくて
まずソース解析、こっちの方が正しくて速いことに気づいた
0678nobodyさん
2008/03/02(日) 12:40:00ID:???Akelos自体にドキュメント無くてもRoRと照らし合わせれば
ドキュメントが要らないくらい、完全コピーされてるw
0679nobodyさん
2008/03/02(日) 12:42:47ID:???なんで流行してないのかわからないwww
ドキュメント量が少ないと何も出来ない人が多いからか?
0680nobodyさん
2008/03/02(日) 12:47:14ID:???これ見ると、もう萎える
どんだけブームでもOOPじゃないフレームワークはいらない
0681nobodyさん
2008/03/02(日) 13:03:23ID:???キティガイすぎワロタ
0682nobodyさん
2008/03/02(日) 13:05:31ID:???function findAll($conditions = null, $fields = null, $order = null, $limit = null, $page = 1, $recursive = null) {
0683nobodyさん
2008/03/02(日) 13:06:44ID:???0684nobodyさん
2008/03/02(日) 13:09:50ID:???嘘つくなら、せめてコンマだけはちゃんといれようなw
null,null と打ってそれを適当な回数コピペしたのばればれだから。
0685nobodyさん
2008/03/02(日) 13:14:03ID:???Akelosはメソッドの引数がオブジェクトなん?
$params = new Parameter()
$params->setConditions(・・・);
$params->setFields(・・・);
$params->setOrder(・・・);
findAll($params)
いくら引数が少なくてもこんなのはいやだw
0686nobodyさん
2008/03/02(日) 14:03:11ID:???1.2からfind系関数はfind()に全て纏められて、推奨引数もシンプルになっている。
http://bakery.cakephp.org/articles/view/new-cakephp-releases
簡単に言うと find($type, $options) この二つだけ。
$typeには文字列all, first, list, countなどが入る。
この指定でそれぞれfindAll(), read(), generateList(), findCount()に対応するようになった。
$optionsには検索条件を指定する連想配列を入れていく。
要するに、 >>682 の引数conditions, fields, order, limit, page, recursiveなどを纏めて管理できる。
CakePHPの投げやりな引数は少しずつ改善されつつある。
頭の悪い愚痴ばかり垂れる暇があったら記事読めば?
0687nobodyさん
2008/03/02(日) 15:43:01ID:???0688nobodyさん
2008/03/02(日) 15:43:59ID:???0689nobodyさん
2008/03/02(日) 15:50:03ID:???readは違う。モデルのインスタンスはテーブルの一行に当たるんだが、
readは、この一行のデータをモデルに読み込むもの。
具体的に言うと、$model->dataが変更されるもので、
find系メソッドはクラスメソッドのような扱いで、
インスタンスの状態は変えずに、値を取得するもの。
0690nobodyさん
2008/03/02(日) 17:48:14ID:???こんな感じでgroup by使って集計ランキング作りたいときfind使ってる?
0691nobodyさん
2008/03/02(日) 18:32:01ID:???$this->User->findByEmail('hoge', 'first', array('recursive' => 1));
発行されたSQL
SELECT "User"."first" FROM ほげほげ WHERE "User"."email" = 'hoge' ORDER BY recursive" 1 ASC LIMIT 1
SQL Error: 1: SQL logic error or missing database
よええ…
0692nobodyさん
2008/03/02(日) 18:59:37ID:???0693691
2008/03/02(日) 19:11:42ID:???がどうにかなるのかなと思ったんだよ
もちろんこっちのヌルヌルならSQL通るよ
0695nobodyさん
2008/03/02(日) 20:45:48ID:???こちらは結局今までどおりヌルヌルで書くしかないってこと?
0696nobodyさん
2008/03/02(日) 21:22:14ID:???0697nobodyさん
2008/03/02(日) 21:28:46ID:???nullが一個多いぞ。お前使ってないで文句言ってるだろw
で、たった四つの引数でなにごちゃごちゃいってんの?w
0698nobodyさん
2008/03/02(日) 21:31:13ID:???カラム名をasで別名で使う場合は
直接SQL書かないとダメなんかな
select ここがカラム名だけじゃない複雑な場合 from test
は直接SQLがいいのかな
0699nobodyさん
2008/03/02(日) 21:34:46ID:???これがオブジェクト指向なん?wwwwwwwwwwwwwwwwwwwwwwwwww
0700nobodyさん
2008/03/02(日) 21:35:58ID:???0701nobodyさん
2008/03/02(日) 21:43:22ID:???>>686で書かれているfind系の新しい記述法がfindBy系に適用されるのかどうか
単に確認したいだけなんだけど
現状のCakeだと、findBy系の使用が推奨されること多かったから使ってる人も多いだろうし
0704nobodyさん
2008/03/02(日) 23:48:57ID:???自分のFWのスレいって有用な情報で賑わせればいいのに(´・ω・`)
0705nobodyさん
2008/03/03(月) 00:12:48ID:???そうか、1年前以上も前からはじめてたんだな。
このスレ立てて正解だった。
あれから俺もずいぶんと成長したな。
いまじゃユニットテストもちゃんと使えるようになったし。
Akelosは名前もすっかり忘れていたが、こっちも俺が立てたんだったなw
こっちは残念ながらぜんぜん伸びず。
たぶんね。俺がつかって色々書いているからスレ伸びてるんだと思うよ。
Symfonyはたぶん、4月ぐらい?から俺が使うから伸びると思うよ。
PHP4対応を考慮しなくて良い、個人的なソフトで使う。
それまで、我慢してくれよ。
0706nobodyさん
2008/03/03(月) 00:17:28ID:???0707nobodyさん
2008/03/03(月) 00:27:38ID:???引数は全部ひとつだけしかない。
foo(array('hiki1'=>1, 'hiki2'=>2, 'hiki3'=>3))
0708nobodyさん
2008/03/03(月) 01:08:53ID:???それについていくしかない。
英語が言語的に最低でも、みんな英語使ってるなら使うしかない
0709nobodyさん
2008/03/03(月) 01:50:22ID:???0710nobodyさん
2008/03/03(月) 01:51:11ID:???0711nobodyさん
2008/03/03(月) 01:58:44ID:???0712nobodyさん
2008/03/03(月) 02:57:27ID:???0714nobodyさん
2008/03/03(月) 13:22:21ID:???設計的にどうなん?
0715nobodyさん
2008/03/03(月) 13:37:57ID:???var $default = array('driver' => 'mysql',
を
var $default = array('driver' => 'postgres',
に変更したらまあ当然の様にエラーが出た。
Warning: mysql_connect() [function.mysql-connect]: Unknown MySQL server host 'host='example.com' port='5432' dbname='bakesale' user='watashi' password='hogehoge'' (11004) in C:\www\temp\cake\cake\libs\model\dbo\dbo_postgres.php on line 90
しかし、
var $default = array('driver' => 'mysql',
に直しても何時までも上記エラーが出てしまう。
cakePHPでは一度読み込んだ設定ファイルをどっかに溜めてたりするのかな?
教えて下さい偉い人!
0716nobodyさん
2008/03/03(月) 14:32:56ID:???そこでなんですが、ループで回しやすいように配列を整えると思うのですが、この作業はどこでやるのが正しいんですか?
コントローラ/ビュー/ヘルパーどこがよいのでしょう。
0717nobodyさん
2008/03/03(月) 16:40:58ID:???っていうかそればMVCの基本だよね?
0718nobodyさん
2008/03/03(月) 17:36:05ID:???コントローラーはバリデーションして、モデルからデータを取得して、ビューに変数をセットするだけなんじゃないの。
0720nobodyさん
2008/03/03(月) 19:05:23ID:???0721nobodyさん
2008/03/03(月) 19:21:11ID:???MingやGDのような外部ライブラリと、それを操作する関数群をCakeに持ってくる場合
ライブラリは当然app/vendorsフォルダに入れれば良いと思うのだけど、
関数群の方はどうしてやるのが良いんだろう?
呼び出し元が二か所になるので、呼び出し側のコントローラにベタでは書きたくないので
そうするとこいつもvendorsの中に入れてコントローラ内でvendor()で呼ぶのか
それとも専用コントローラを作るのか。はたまたコンポーネント?
ちょっと知恵を貸して下さい。
0722nobodyさん
2008/03/03(月) 21:01:55ID:???0723nobodyさん
2008/03/03(月) 21:06:07ID:???コンポーネントってMVCでいうところのコントローラなんだから
そこからモデルを直接参照しないで何するんだ?
$Component->Controller->Modelだときもちわるくね?
0724nobodyさん
2008/03/03(月) 23:13:06ID:???> 基本はコントローラ以外にロジックを書くべきじゃないと思ってる。
> っていうかそればMVCの基本だよね?
ぷっ。3ページ目のBad Cakeそのものですねwwww
http://cakephp.org/files/OCPHP.pdf
0726721
2008/03/04(火) 03:21:21ID:???レスサンクス。やっぱりそれが妥当なんですね。
つかまだCake使い始めだからってのもあるのだけど、
こういう事する場合、あれでもこれでも出来るじゃなくて、
あれの場合はこういう手続きで。みたいなのきちっと一本化して欲しいなぁ。
こういう答えが明確でない事で悩む時間がかなり多い。。
もちろん関数とパラメータの意味を調べる為にソースにらめっこにも時間が取られるわけですが。。
社内ライブラリ群でやってる同規模の案件の倍以上かかってるよorz<当然残業コース。。トホホ
0727nobodyさん
2008/03/04(火) 03:35:17ID:???コンポーネントの意味がわかってねーなwww
Mコンポーネント
Vコンポーネント
Cコンポーネント
コンポーネントはMVCのそれぞれにあるんだよwww
低フレームワークをいじってるやつの基礎知識の無さは半端ねーな
0728nobodyさん
2008/03/04(火) 03:41:25ID:???フレームワーク覚えながら仕事できるっていい会社ですね
基本的に勉強は勤務外だから
とろとろ覚えながらやるなんて、まず無理
0729nobodyさん
2008/03/04(火) 09:30:35ID:???だからぁ
Mコンポーネント…Behavior(同じ処理に振る舞いを付ける時)
Vコンポーネント…Helper(表示に関してロジックが必要な時)
Cコンポーネント…Component(手続きを纏めて再利用する時)
Cakeの中ではCコンポーネントの事を単にコンポーネントって
呼んでいるんだから、いかに的外れな事を言ってるのか分かってね。
>>723
直接参照で問題ないでしょ。
データソースを扱いたいためにコンポーネントが
コントローラに依存し出したらそれこそ意味不明。
>>714
何が問題だと感じているの?
0731nobodyさん
2008/03/04(火) 10:25:20ID:???> 何が問題だと感じているの?
>>729
コントローラに追加していないモデルを
どうにしかしてコンポーネントで使うということです。
0732nobodyさん
2008/03/04(火) 11:34:34ID:???> フレームワーク覚えながら仕事できるっていい会社ですね
> 基本的に勉強は勤務外だから
家では仕事しない主義なんでw
0733nobodyさん
2008/03/04(火) 11:46:57ID:???現実の構成から考えると、Cakeのコンポーネントはあくまで
コントローラに書く記述の共通化用だからな
コントローラをインジェクションして使うものだと割り切った方がいいのでは?
0734nobodyさん
2008/03/04(火) 12:23:27ID:Oi3CmVe3http://api.cakephp.org/1.2/auth_8php-source.html#l00674
ClassRegistry::init('名前')でモデルを使用可能にしているみたいだけど。
0735nobodyさん
2008/03/04(火) 12:24:43ID:???コンポーネントに渡すなんてことをしないで、
コンポーネント内部で、uses()を使って
モデルを直接読んでいいですかね?
0736nobodyさん
2008/03/04(火) 13:39:48ID:???コントロール=コンポーネントていう考えがおかしい
M
V
C
コンポーネント
まったく別物だからwww
=で考えるなよバカwww
■ このスレッドは過去ログ倉庫に格納されています