- 1 名前:nobodyさん [2008/03/14(金) 15:16:00 ID:HF9x5ODX]
- www.cakephp.org/
10分で作るCakePHPアプリ for Windows p4life.jp/cake/ マニュアル日本語化 www.cakephp.jp/doc/ 日本語フォーラム cakephp.jp/modules/newbb/ あとこのへんとか(初心者向けTIPS) www.avatarfinancial.com/pages/cake/ CakePHP入門リンク集 ttp://pub.studio15.jp/2007/11/13/cakephp-links/ 【PHP】フレームワーク CakePHP 2ホール目 pc11.2ch.net/test/read.cgi/php/1194976228/ 【PHP】フレームワーク CakePHP pc11.2ch.net/test/read.cgi/php/1163850802/
- 230 名前:nobodyさん mailto:sage [2008/03/20(木) 13:45:45 ID:???]
- >>227
矛盾してるな。それらは反比例の関係にあるからな
- 231 名前:nobodyさん mailto:sage [2008/03/20(木) 13:45:54 ID:???]
- >>226
たしかに、 ●自分の用途に合わせて、全てのコードとHTMLを一から作成したシステム ●作り込み部分は最小限にして、大半のコードはcakePHP任せにしたシステム を比べると、負荷は、一から作成したシステムの方が、余分なものがない分、 軽くできるかもね。 まあそこはトレードオフの部分だから、自分に向いてないと思ったら、 cakePHP以外のやり方を模索すればいいと思うよ。
- 232 名前:nobodyさん mailto:sage [2008/03/20(木) 13:47:58 ID:???]
- >>230
よくわからんが、いまどき生産性の悪いほうを 選びたいのか?
- 233 名前:nobodyさん mailto:sage [2008/03/20(木) 13:49:21 ID:???]
- 負荷が高いシステムを作っているところは
どこでもフレームワークを使っている。
- 234 名前:nobodyさん mailto:sage [2008/03/20(木) 13:50:32 ID:???]
- >>229
View側で $paginator->prev() $paginator->next() の第2引数に絞り込み条件を配列で入れてやら無いと URLの後ろにパラメーターが付加されてなくない? localhost/cake/test/index/page:1/parameta:hogehoge みたいなかんじ
- 235 名前:nobodyさん mailto:sage [2008/03/20(木) 13:55:14 ID:???]
- >>234
いまソースが手元に無くて忘れたが、CakePHP1.2でかなり改善された。 そういえば、そういうパラメータを”コントローラ”側で追加していたきもする。 コントローラーのpagination変数だったっけ? pagination[モデル名]だっけ? まあわすれた。
- 236 名前:nobodyさん mailto:sage [2008/03/20(木) 13:55:53 ID:???]
- >>233
どちらかと言うと、「負荷が高いシステム」と言うより、 「大規模なシステム」はフレームワークを使ってるという感じじゃない? そうしないと、コーディングや保守が大変だもんなあ。
- 237 名前:nobodyさん mailto:sage [2008/03/20(木) 14:03:35 ID:???]
- 結局は、昔からある速度重視でアセンブラ(生PHP)で書くか、
生産性重視で高級言語(フレームワーク)で書くかの話でしかないな
- 238 名前:nobodyさん mailto:sage [2008/03/20(木) 14:07:42 ID:???]
- 小規模フレームワークはCIが一番だと思うんだよね
CakePHPは小規模フレームワークのクセにsymfonyと同レベルくらい負荷かかりすぎ
- 239 名前:nobodyさん mailto:sage [2008/03/20(木) 14:12:16 ID:???]
- >>238
宿題。 それをデータで示してください。 つーか、何をもって小規模といっているのかわからん。
- 240 名前:nobodyさん mailto:sage [2008/03/20(木) 14:15:07 ID:???]
- 機能が少ないほうが早い。 機能と速度どっちをとるかだ。
- 241 名前:nobodyさん mailto:sage [2008/03/20(木) 14:15:17 ID:???]
- >>239
10万stepまで 小規模 データは「CakePHP CodeIgniter ベンチマーク」でググれ
- 242 名前:nobodyさん mailto:sage [2008/03/20(木) 14:18:04 ID:???]
- >>239
www.tsujita.jp/blojsom/blog/default/PHP/2007/07/13/PHP%E3%83%99%E3%83%B3%E3%83%81%E3%83%9E%E3%83%BC%E3%82%AF-Zend-Framework-vs-Symfony-vs-CakePHP-vs-CodeIgniter-vs-PHP-on-TRAX.html
- 243 名前:nobodyさん mailto:sage [2008/03/20(木) 14:20:54 ID:???]
- だめだな。CodeIgniter は小規模でしか使えない。
一番重要なモデルが貧弱すぎる。中規模以上ならCakePHPだな。 blogs.atanaka.biz/tanaka/index.php?itemid=691 ・フレームワークにありがちな、あまり使わない機能が削がれている ・フレームワークにありがちな、よく使う機能もけっこう削がれている。 ・だから、ステップ数が他のPHPフレームワークと比べて格段に少ない。 ・だから、実行速度が速い。(ベンチマークはこちら) ・フレームワーク自体が複雑なことをしようとしていないので、潜在バグの深刻さも小さい。(たぶん) ・マニュアルがかなり読みやすく、取っつきやすい。 ・cakePHPには名前のインパクトには負ける。 ・ZendFramework には格式の高さで負ける。 ・MVCというよりは、VCだ。モデルはあくまでもおまけ的。 ・PHPがそもそもテンプレート的なんだからテンプレートエンジンいらない、と考えているふしあり。(だから速い、と) ・でも、簡単な変数置き換えの簡易テンプレートはデフォルトでついてるし、Smartyとの連携もできる。
- 244 名前:nobodyさん mailto:sage [2008/03/20(木) 14:22:14 ID:???]
- 流行らないフレームワーク。そっちで盛り上げてくださいw
[PHP][フレームワーク]CodeIgniterスレ pc11.2ch.net/test/read.cgi/php/1177683436/
- 245 名前:nobodyさん mailto:sage [2008/03/20(木) 14:25:59 ID:???]
- >>243
モデルはCIベースでオレオレ的に拡張した方がいい。 CakePHPの既存モデルにしっくり来ないから まずコードが凄く見難い状態になる 結局バリデートにYAML使ったりと拡張しないいけない
- 246 名前:nobodyさん mailto:sage [2008/03/20(木) 14:27:28 ID:???]
- 小規模 CodeIgniter
中規模 CakePHP 大規模 Symfony これでいいじゃん
- 247 名前:nobodyさん mailto:sage [2008/03/20(木) 14:29:19 ID:???]
- 小規模 CI
中規模 CI 大規模 ここまできたらCIでいいや
- 248 名前:nobodyさん mailto:sage [2008/03/20(木) 14:31:12 ID:???]
- CIのサクサク感を味わうと他のFWは使えない
- 249 名前:nobodyさん mailto:sage [2008/03/20(木) 14:36:26 ID:???]
- >>225
それバージョンいくつ?
- 250 名前:nobodyさん mailto:sage [2008/03/20(木) 14:36:52 ID:???]
- viewの先頭でoptions()を使って追加文字列をセットしておけば、prev()やsort()等で追加の指定する必要なくなる
$paginator->options(array('url'=>'hogehoge')) controllerでpaginate(モデル)した後のoptionsにセットしてもurlに展開される $this->params['paging'][モデル]['options']['hogeoge_key']='hogeoge_value' *この方法は裏技的な気がするけど、、、
- 251 名前:nobodyさん mailto:sage [2008/03/20(木) 14:39:31 ID:???]
- >>249
1.2ですが?
- 252 名前:nobodyさん mailto:sage [2008/03/20(木) 14:40:57 ID:???]
- 痛いCI厨は自分のスレを盛り上げてこいよw
わざわざCakePHPスレを盛り上げて乙
- 253 名前:nobodyさん mailto:sage [2008/03/20(木) 14:46:46 ID:???]
- 経験から言うと、どんなものでも「軽い!」という触れ込みでデビューしたものは、
最初は機能が少なくて、バージョンがあがるにつれて機能が追加され最終的には重くなるんだよな。 で、ほかと同等の機能を備えたときには、ほかと同等の重さになっている。
- 254 名前:nobodyさん mailto:sage [2008/03/20(木) 15:00:55 ID:???]
- CIスレですが、今週の日曜以降、書き込みがありません。
使ってる方、どうぞ書き込んで下さい。 pc11.2ch.net/test/read.cgi/php/1177683436/l50
- 255 名前:nobodyさん mailto:sage [2008/03/20(木) 15:11:51 ID:???]
- akelosスレなんてもっと(ry
- 256 名前:nobodyさん mailto:sage [2008/03/20(木) 15:33:39 ID:???]
- >>251
hasManyアソシエーションでlimitを指定しないと確かに225のクエリになる。 ソース読んだらそのためのif文があった。これは知らなかった。サンクス limit指定しないのが普通なのか・・・あと、なんでそういう実装にしてるんだろう。 limitでUserの件数絞るとしてもwhere user_id (1,3,5)はできると思うのだが。
- 257 名前:nobodyさん mailto:sage [2008/03/20(木) 15:35:10 ID:???]
- 間違えた。
> limitでUserの件数絞るとしても limitでCommentの件数絞るとしても
- 258 名前:nobodyさん mailto:sage [2008/03/20(木) 15:42:11 ID:???]
- >>256
>>257 面倒ならカスタムsqlでやれば早いじゃん
- 259 名前:nobodyさん mailto:sage [2008/03/20(木) 15:42:19 ID:???]
- んー、Commentに対するlimitがある場合はそう実装するしかないのか。
バカじゃん俺。この振る舞いについてのドキュメントはどっかにあったのかな。 連投スマソ。
- 260 名前:nobodyさん mailto:sage [2008/03/21(金) 01:06:38 ID:???]
- Cakeとは関係ないんですが、複数のモデルの処理(全部更新)を1個のトランザクションにするときってどう書いたらいいですか?
コントローラーにこんな感じで書こうと思うのですがどうでしょうか。 start transaction $resultA = $modelA ->method(); if($resultA == 'error') { rollback return; } $resultB = $modelB ->method(); if($resultB == 'error') { rollback return; } $resultC = $modelC ->method(); if($resultC == 'error') { rollback return; } commit
- 261 名前:nobodyさん mailto:sage [2008/03/21(金) 04:01:36 ID:???]
- >>260
スレ違いだと思うんだけど・・・
- 262 名前:nobodyさん mailto:sage [2008/03/21(金) 11:15:08 ID:???]
- confirmぺルパー作成完了
- 263 名前:nobodyさん mailto:sage [2008/03/21(金) 11:28:48 ID:???]
- ぺルパーについてkwsk
- 264 名前:nobodyさん mailto:sage [2008/03/21(金) 22:38:30 ID:???]
- バリデートのyaml化作業開始
- 265 名前:nobodyさん [2008/03/22(土) 02:17:57 ID:rTbTxKR5]
- コンポーネントの中でモデルって使えるよね、$this->モデル名とかで。
コントローラにはあまり詳細な処理は書きたくない(つまり、大まかな流れだけ)ので、 具体的な処理はコンポーネントをこさえて、そちらで処理したいんだけど考え方あってるかな? たとえば、会員登録処理をするアプリを例にすると、UserRegisterComponentみたいなのを作って identify()やregister()、update()といったモデルを扱う処理を記述して、 コントローラーからはフォームの値の受け取りとコンポーネントをコネコネ使うこと、結果によって ビューを表示しわけるようなイメージです。 ソース書いて晒した方が早い?
- 266 名前:nobodyさん mailto:sage [2008/03/22(土) 03:46:35 ID:???]
- >>265
> コントローラにはあまり詳細な処理は書きたくない > 具体的な処理はコンポーネントをこさえて、そちらで処理したい 大事なのはこれらの明確な理由が何なのかってことだと思う。 その会員登録処理がシステムの他の部分からも必要になるならコンポーネントにした方がいいと思うよ。 もしくは他のアプリでも(ほぼ)そのまま使用できるなら。 あとはコントローラとモデル(DAO層)を分離することでテスタビリティを向上させたいとかかなぁ 例えばテストの時はモックコンポーネント使うようにすればデータベースがなくてもコントローラのテストができる。
- 267 名前:265 [2008/03/22(土) 05:08:43 ID:rTbTxKR5]
- >>266
なるほど。コンポーネントで会員登録処理と思いついた理由は指摘のとおり他のアプリで いつも同様のことを実装してるのでコンポーネント化してしまおうというのが一番の理由。 それにコントローラ内に細かい条件分岐や処理を書き始めるとものすごくコードが肥大して メンテナンスがし難いし、もし今後会員登録のフローを同アプリケーションの別箇所でも使い たいって仕様変更があっても対応しやすいかと。 でも、「会員登録(管理)コンポーネント」なんて作っちゃうとモデルやDBテーブルの構造が かなり固定化&依存してしまうのがいやだなだ、と…(AuthComponentみたいにね) それならばpluginにしちゃえば?って考えることもあるけど、pluginってあんまり使われてないし。 うーむ。
- 268 名前:nobodyさん mailto:sage [2008/03/22(土) 10:11:22 ID:???]
- >>267
そんな恐ろしいほどにコードが肥大する。かつそれら共通利用する機会が多いなら コンポーネント化しちゃいなよ
- 269 名前:nobodyさん mailto:sage [2008/03/22(土) 10:19:47 ID:???]
- >>267
DBテーブルの構造がかなり固定化&依存 これ内容が会員登録だったらテーブル構造に依存しちゃうのやばいだろ? 会員認証なら固定依存しても、それほど問題ないけど コンポーネントてそもそもDBテーブルの構造がかなり固定化&依存してしまうものなんだね
- 270 名前:nobodyさん mailto:sage [2008/03/22(土) 10:52:32 ID:???]
- >>267
コンポーネント設計のポイントは、Plug-and-Playを可能にすることであり、独立性を高めることにある 重要となる設計要素は、インターフェースであり、注目すべきは設計要素間の依存関係だと思う 内部実装に依存しない形でコラボレーションをモデル化できるインターフェースが重要じゃないかな コンポーネント化するということは、結局クラスをグループ化することだからね クラス間の関連(集合-部分、汎化-特化)と依存関係を意識して設計しないと 物理的にはコンポーネント化したが、論理的にはひとつのシステム全体 ひとつの再利用単位として使わざるを得ないという状況が現れるから この点で、依存関係の設計はかなり重要
- 271 名前:nobodyさん mailto:sage [2008/03/22(土) 11:26:27 ID:???]
- >>266
モックコンポーネント あまり聞かない、組み合わせだけどw モックとコンポーネント入れ替えするものじゃないの?
- 272 名前:nobodyさん mailto:sage [2008/03/22(土) 11:49:52 ID:???]
- モックンがどうかしたって?
- 273 名前:nobodyさん [2008/03/22(土) 19:56:20 ID:rTbTxKR5]
- ちなみにCakePHPのプラグインを配布してるサイトをご存知ですか?
「配布できる」と書いてあるくせに、プラグイン配布サイトって見たことないやと思って。 「会員登録プラグイン」とかあるといいのになー 会員登録コンポーネントの件、結局ユーザーテーブルを分けて(users:ログインIDとパスワードだけ、user_profiles:その他のプロフィール項目) コンポーネントで固定化するのはusersテーブルを主にして、user_profilesの方はアプリケーション毎に 自由に定義できるような仕様でコンポーネントを書いてみようかと思っています。
- 274 名前:nobodyさん mailto:sage [2008/03/22(土) 20:52:09 ID:???]
- >>271
そういうこと。テストの時はモックを使うようにする。 「コンポーネントのモック」って意味でモックコンポーネントって言った。
- 275 名前:nobodyさん mailto:sage [2008/03/22(土) 21:01:00 ID:???]
- >>273
会員登録プラグイン 何度も使うような処理でも無いし面倒な処理でもないからなあ 個人的には確認画面やらページ送りやら何度も使う場面のあるプラグインもしくは コンポーネントが欲しい
- 276 名前:nobodyさん mailto:sage [2008/03/23(日) 01:31:09 ID:???]
- バリデートのyaml化作業完了
yamlの空白に少しはまった
- 277 名前:nobodyさん mailto:sage [2008/03/23(日) 02:03:00 ID:???]
- >>276
おつかれっす
- 278 名前:nobodyさん mailto:sage [2008/03/23(日) 12:24:28 ID:???]
- findのような感じで、IDを指定してDBデータの更新を
ファンクションはありますか? イメージとしてはこんな感じで。 $this->Post->hogehoge($id, 'Address'->'Hokkaido'); Model classのファンクションを一通り眺めてみたのですが、 それらしきファンクションを見つける事ができませんでした。 api.cakephp.org/class_model.html#d25735e5d69a1c55c58de6df8c06bd9e
- 279 名前:nobodyさん mailto:sage [2008/03/23(日) 13:03:51 ID:???]
- >>278
ファンクションて何ですか?素人は書き込まないで下さい
- 280 名前:278 [2008/03/23(日) 13:46:28 ID:9wMqWTzf]
- >>279
先に挙げたURLで、「Public Member Functions」と記述されていたので、 ファンクションと書かせてもらいました。 methodと言えばいいですか? 既存のものでいうと、findAllやsaveなどの事です。 ご存じでしたらお教え下さい。
- 281 名前:nobodyさん mailto:sage [2008/03/23(日) 14:00:59 ID:???]
- >>280
こんなとこで聞くよりも自分でソース見た方が早くね?
- 282 名前:nobodyさん [2008/03/23(日) 21:00:13 ID:xiSCrZA7]
- >>275
会員登録プラグイン、完成したら俺にくれ
- 283 名前:nobodyさん mailto:sage [2008/03/23(日) 22:20:17 ID:???]
- >>282
いらねー。たぶん需要ない 会員登録なんてすぐ作れるやんwww
- 284 名前:nobodyさん mailto:sage [2008/03/23(日) 23:07:41 ID:???]
- >>278
カラム単位の更新でいいなら、saveField。 $this->Post->id = $id; $this->Post->saveField('Address', 'Hokkaido');
- 285 名前:nobodyさん mailto:sage [2008/03/23(日) 23:25:30 ID:???]
- いらなきゃ使わなきゃいいじゃん。
小さい車輪だろうが再開発をしなくて済むなら助かる。
- 286 名前:nobodyさん mailto:sage [2008/03/24(月) 00:14:26 ID:???]
- 再開発する機会が少ない。激しく無駄
そうじゃなければ、すでに作ってる人たくさんいるよ
- 287 名前:nobodyさん mailto:sage [2008/03/24(月) 00:19:02 ID:???]
- ほんとにいらなければ何もコメントしないので、たぶん荒らし。
スルー推奨。 しばらく前、本やWebを参考にRoRを使っていたが、cakePHPの方が 使いやすい。 ひょっとしたら、RoRでActiveRecordとかに若干慣れたので、 馴染みやすかっただけかもしんないけど。
- 288 名前:nobodyさん [2008/03/24(月) 00:22:17 ID:gAnd/HKb]
- Cakeのプラグインって、なにか有名なのってあったっけ
なんのためにプラ銀機能なんて実装されてんの?
- 289 名前:nobodyさん mailto:sage [2008/03/24(月) 03:29:33 ID:???]
- 都道府県データどこにいれてる?
- 290 名前:nobodyさん mailto:sage [2008/03/24(月) 03:37:25 ID:???]
- コントローラ全体じゃなくてメソッド単位でヘルパー、コンポーネント呼び出すにはどうすればいい?
会員登録ページのメソッドにアクセスしてるにもかかわらず コントローラでPaginationコンポーネントを定義していれば ページ処理の関わるクラスがnewされるんでしょ
- 291 名前:nobodyさん mailto:sage [2008/03/24(月) 13:06:37 ID:???]
- ヘルパーは細かく考えずにコントローラ単位で呼び出すのがCake流
コンポーネントやモデルはヘルパーに比べればメソッド単位で呼び出しやすいけど こっちも深く考えずにコントローラ単位で呼び出すんだ 多分
- 292 名前:nobodyさん mailto:sage [2008/03/24(月) 13:16:08 ID:???]
- 例えばググレカスアクションでほげヘルパーを呼び出す場合
function gugurekasu() { App::import('Helper', 'Hoge'); $ajax = new HogeHelper(); }
- 293 名前:nobodyさん mailto:sage [2008/03/24(月) 20:55:32 ID:???]
- まあ、そんなに特定のアクションでだけ
ヘルパーとか呼び出したいのなら、 そういうコンポーネントを作ればいいんじゃないのかな? コンストラクタあたりで、url見てごにゃごちゃすれば出来るでしょう?
- 294 名前:nobodyさん mailto:sage [2008/03/25(火) 00:59:47 ID:???]
- >>292
ネーミングが中途半端だな HogeHelperだけ普通やん
- 295 名前:nobodyさん mailto:sage [2008/03/25(火) 01:51:15 ID:???]
- >>294
むしろ$ajaxに突っ込んで欲しかったな
- 296 名前:nobodyさん [2008/03/25(火) 10:30:40 ID:Qe2AafnS]
- モデルってあんまりごちゃごちゃ書きたくないよな、dbdesigner2cakeとか使ってるとメンテナンスの面からとく。
だからといってコントローラにごちゃごちゃとロジックを書き並べたくないので コンポーネントにすべてモデルを操作するカスタムメソッドを記述してます。 これって俺だけ?
- 297 名前:nobodyさん mailto:sage [2008/03/25(火) 10:37:30 ID:???]
- だからコントローラにいろいろ書くのは
まずいケーキだってケーキ様が言っている。 cakephp.org/files/OCPHP.pdf
- 298 名前:nobodyさん mailto:sage [2008/03/25(火) 10:46:51 ID:???]
- >>297
ケーキがどうのこうのいおうが 自分の見やすい書き方が一番 たとえば1万step以下のコードなら 全部コントローラに書いた方がいい、みたいなね!
- 299 名前:nobodyさん [2008/03/25(火) 10:55:58 ID:Qe2AafnS]
- >>297
3ページ目? こんなにモデルに書くもんかね… 俺だったらcとmの間のコンポーネントをずっしり書くな。別のプロジェクトにも使いまわしできるし。 コントローラだとほぼ、使いまわせないしな。
- 300 名前:nobodyさん mailto:sage [2008/03/25(火) 11:02:26 ID:???]
- 1万ステップコントローラにべた書きとかすごいね
- 301 名前:nobodyさん mailto:sage [2008/03/25(火) 11:05:24 ID:???]
- >>296
コントローラに関する再利用性の高いメソッドはコンポーネント モデルに関する再利用性の高いメソッドはビヘイビア 再利用性が高いロジックじゃないとダメ そのロジックがコントローラ側かモデル側かどっちに属するかを間違えるとダメ
- 302 名前:nobodyさん mailto:sage [2008/03/25(火) 11:07:56 ID:???]
- >>300
再利用性が無いなら 10万stepsでもコントローラにベタ書きするしかないよ
- 303 名前:nobodyさん mailto:sage [2008/03/25(火) 11:08:52 ID:???]
- >>299
コンポーネントはコントローラとモデルの仲介役じゃねーよwww
- 304 名前:nobodyさん mailto:sage [2008/03/25(火) 11:12:12 ID:???]
- >>299みたいに再利用性の低いものまでコンポーネントはダメだろな
- 305 名前:nobodyさん [2008/03/25(火) 11:13:20 ID:Qe2AafnS]
- ビヘイビヤって1.2からのやつだよね?
- 306 名前:nobodyさん mailto:sage [2008/03/25(火) 11:14:25 ID:???]
- >>296
コンポーネントにすべてモデルを操作するカスタムメソッドを記述してます これダメだろ?再利用性の高さとか無視してるやん
- 307 名前:nobodyさん mailto:sage [2008/03/25(火) 11:17:23 ID:???]
- 1.1てバリデーションのyaml化できないんでしょ
それだけでもオワッテルw
- 308 名前:nobodyさん mailto:sage [2008/03/25(火) 11:22:06 ID:???]
- 都道府県データとか
男性・女性・オカマとか こういうセレクトに必要な初期データはどこへ入れるの?
- 309 名前:nobodyさん mailto:sage [2008/03/25(火) 11:38:31 ID:???]
- >>307
spyc重くね? >>308 とりあえずモデル作ってfind('list')呼んでセレクトボックスへ流す。 都道府県データなんてほぼ100%変更出ないからデータの中身は定数でもいいし 郵便番号検索とか使うアテがあるならデータベース使う。 中で何やってるかは置いといて、ともかくモデルから呼べる事が大事。
- 310 名前:nobodyさん mailto:sage [2008/03/25(火) 11:42:07 ID:???]
- >>309
モデルのメソッドの中に都道府県データをいれて 呼び出してもOK? もしくはDBからひっぱる、それ以外に方法はわからない
- 311 名前:nobodyさん mailto:sage [2008/03/25(火) 11:44:21 ID:???]
- データ量の多い定数なら、別ファイルにして
呼び出すときにモデル経由でincludeして呼び出すのがいいのかな
- 312 名前:nobodyさん mailto:sage [2008/03/25(火) 12:29:56 ID:???]
- >>309
> spyc重くね? 書くのはYAMLでもキャッシュとしてPHPのシリアライズデータに 変換してそれを読み込むから重くない。
- 313 名前:nobodyさん mailto:sage [2008/03/25(火) 12:34:26 ID:???]
- >>298
ケーキを使っている以上ケーキ様の言うことは絶対です。 コンポーネントにいろいろ書くとどれだけテストが大変になるか。
- 314 名前:nobodyさん mailto:sage [2008/03/25(火) 12:38:32 ID:???]
- >>308
> 男性・女性・オカマとか これじゃ足りないな。 現在の肉体的性別 男・女 生まれたときの肉体的性別 男・女 現在の精神的性別 男・女 生まれたときの精神的性別 男・女 好きな性別 男・女・両方・肉体が男・肉体が女 まだ足りないかもな!
- 315 名前:nobodyさん mailto:sage [2008/03/25(火) 13:04:07 ID:???]
- >>313
再利用できないものは コントローラーにいろいろ書くしかない ケーク様が何も用意してくれてないから
- 316 名前:nobodyさん mailto:sage [2008/03/25(火) 13:06:05 ID:???]
- >>298の言ってる事はともかく
>>313はAuthComponentのソース見た事あるのかな
- 317 名前:nobodyさん mailto:sage [2008/03/25(火) 16:31:35 ID:???]
- コンストラクタでぐにょぐにょしたいときは
コンストラクタ内で先に parent::__construct(); を呼ばないとダメだよ なぜ?て それは>>318が答えてくれるはず
- 318 名前:nobodyさん mailto:sage [2008/03/25(火) 17:10:42 ID:???]
- うんこちんちん
- 319 名前:nobodyさん mailto:sage [2008/03/25(火) 17:42:53 ID:???]
- こんなに、解釈によって作り方が変わって来ちゃうなら、フレームワークの「良い意味での縛り」のメリットが無いね。
それぞれが間違いとも正解とも言えないから余計めんどくさい。 もっと縛りがキツければ良いのに。
- 320 名前:nobodyさん mailto:sage [2008/03/25(火) 18:12:31 ID:???]
- >>319
バカがルールを勘違いしてるだけwww
- 321 名前:nobodyさん [2008/03/25(火) 18:24:02 ID:Qe2AafnS]
- ビヘイビアのうまい使い分けがわかんないー
Emailコンポーネントと連携して"emailable=1"を判別してメールするビヘイビアだとか、 ソフトデリート(=削除フラグ=1を削除)を実装したビヘイビアとかのサンプルは目にした んだけど、もっと実践に役立つ使い道ってどんな風なの??
- 322 名前:nobodyさん mailto:sage [2008/03/26(水) 01:26:50 ID:???]
- 俺が作っているやつでは、「自動入力フィールド」をビヘイビアでやっている。
ユーザーが入力した情報を加工したものを別フィールドに自動的に保存する。 データベースのセオリーからいえば計算で求められる物なのでビューやトリガーを使うところだが、 パフォーマンスを重視&汎用性を高めるためにこうしている。 あとどこかでぐぐって見つけた画像を保存するビヘイビア。 あるテーブルに保存したら、自動的にほかのテーブルにメタ情報を保存するビヘイビア つまりトリガーの代わりだね。 文字コード変換ビヘイビア 仕様が変わって使っていないが、一つのフィールドに複数の値を入れられる配列型フィールドを作るビヘイビア。 (一対多のテーブルを作れというなよ?そんなJOINが発生する重い処理を作りたくないこともあるんだ。 SQL99 で標準規格化されたしね。)それの応用でオブジェクト(シリアライズ)型 それともうひとつあるのだが、これはちょっとアイデア賞物だと思うので自分のブログで書きたいw 結構いろいろ使っているなw 総論としてデータベースの機能を拡張したいときに使っている。
- 323 名前:nobodyさん mailto:sage [2008/03/26(水) 02:10:48 ID:???]
- >>322
日本語でおk あいかわらず文章下手糞やなw 単純なことをわかりにくい表現するの好きやな 前スレから全く変わってねーな
- 324 名前:nobodyさん mailto:sage [2008/03/26(水) 02:19:26 ID:???]
- >>322
結局cakeライブラリのモデルで実装されてる機能を少し拡張したいときに ビヘイビアにいれてるんでしょ?
- 325 名前:nobodyさん mailto:sage [2008/03/26(水) 02:29:03 ID:???]
- >>322
ユーザーが入力した情報を加工したものを別フィールドに自動的に保存する。 この自動的て具体的にどういう意味?
- 326 名前:nobodyさん mailto:sage [2008/03/26(水) 02:34:57 ID:???]
- >>322
ユーザーが入力した情報を加工したものを別フィールドに自動的に保存する。 これは前スレで自作ヘルパーでやってなかったか? パフォーマンスを重視&汎用性を高めるというのに具体的内容が欲しい
- 327 名前:nobodyさん mailto:sage [2008/03/26(水) 02:40:36 ID:???]
- >>322
一つのフィールドに複数の値を入れられる配列型フィールド SNSのような大規模サイトでもこれ使う機会なんて滅多にないんだが、何作ってんの?
- 328 名前:nobodyさん mailto:sage [2008/03/26(水) 03:04:09 ID:???]
- >>322
配列型フィールドて mysqlでも検索や集計はできるの?
- 329 名前:nobodyさん mailto:sage [2008/03/26(水) 03:06:22 ID:???]
- >>322
配列型フィールドを使わない人にとっては 激しく必要のないビヘイビアじゃね?
- 330 名前:nobodyさん mailto:sage [2008/03/26(水) 03:12:41 ID:???]
- >>322
それともうひとつあるのだが、これはちょっとアイデア賞物だと思うので自分のブログで書きたいw 恒例自慢きたこれw
|

|