[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 03/21 03:13 / Filesize : 213 KB / Number-of Response : 845
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】フレームワーク CakePHP 3ホール目【本命】



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/


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

331 名前:nobodyさん mailto:sage [2008/03/26(水) 03:36:11 ID:???]

なんだこの過剰反応ぶりw

みるからに同一人物のようだが、
ただの使用例に必死すぎだろw

332 名前:nobodyさん mailto:sage [2008/03/26(水) 03:41:59 ID:???]
○○○を使わない人にとっては
激しく必要のない○○○じゃね?

なんにでも当てはまるなw
無理やり反論しようとして滑ってる。

333 名前:nobodyさん mailto:sage [2008/03/26(水) 03:47:41 ID:???]
>>331
>>332
同一人物乙

334 名前:nobodyさん mailto:sage [2008/03/26(水) 03:51:47 ID:???]
確かに同一人物だが、それが何か?

335 名前:nobodyさん mailto:sage [2008/03/26(水) 04:15:24 ID:???]
>>333
cakephpとは外れたこと書くな



336 名前:nobodyさん [2008/03/26(水) 04:38:16 ID:pkIggipT]
CakePHPで開発するアプリを設計する際にUMLで書いてる人いる?
シーケンス図やクラス図なんかどんな風に記述してるかとか見せてもらえると
参考になります。

337 名前:nobodyさん mailto:sage [2008/03/26(水) 04:51:55 ID:???]
>>336
UMLを使うと従来の方法より効率が落ちる時もある。
なぜなら、従来なら手書きで適当に書いてきた図をUMLでどうやって書けばいいのか調べなければならないから。
書き方が全部頭の中に入った後でなら従来よりスムーズに開発ができるようになるかもしれない
が、しかし、それまでは相当の苦労が必要w
オブジェクト指向開発とUMLとはまた別の話でUMLはオブジェクト指向開発の道具にすぎない







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<213KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef