のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,660,064人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレ【PHP】フレームワーク CakePHP 10ホール目【v1.3】

php覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
402 = :

1.3と1.2 初学者におすすめなのは?

403 = :

RDBMS + ORMはとてもキモくて使う気になれなかったが、
MongoDBとやら + CakePHPは面白そうだな。

405 = :

DataSourceを拡張したものでmemcachedとかTokyo Tyrantとか用のが
公開されてるね(試してない)。JOINがないなら、わざわざActiveRecord通すことも
ないとは思うけど・・・。セッションの保存用としての利用にはMemcachedは
デフォで使えるみたいだね(やっぱり試してない)
>>402
どうせバージョン乗り換え時に相応の学習コストがかかるし、どっちもStableなんだから1.3
>>403
ORM ってRDBの取り回しのために使うもんだと思ってた

406 = :

CakePHPとMongoDBでやろうとしたけど、色々ハマってやめた。
CakeはRDBを前提としすぎてると思った。
俺の思った一番のネックはHelper->setEntity()だな。

407 = :

>>406
レスどうもです。ちょっとわからなかったので自分なりに考えてみた。
・MongoDBはスキーマレス
・CakeのMongoDBデータソースを使う場合、モデル内にスキーマらしきものを記述する(らしい)
・Cake本体が"Describe"とか発行してテーブル(コレクション)の構造を把握することが出来ないので、
 Helper側でModelName.FieldNameを自動設定する時にはまり所が出来る
・フィールドの中にさらにArrayが入ってたりするともう大変
こういう理解でいいのかな・・・cakephp-mongodbのサンプル見る限りはなんとかなりそうな気がしたが、
いろいろでてくるのか~。
気力と実力と時間が出来ない限りは、CakePHP + MySQL をおとなしく使い続けるしかないのかな・・
そのへんLithiumはイケてるのかと思うと迷う。

408 = :

>>407
FormHelperで配列をPOSTするようなのが、
type=select multiple=trueじゃないと作れないからね。
同じモデルへの送信を複数に出来るから、
[{'name':'foo'},{'name':'bar'},{'name':'buz'}]見たいなのは出来ても、
['foo','bar','baz']みたいなのは出来なかったよ。

でもcakephp-mongodbのコミッタも増えてるし、
そのうち使えるようになるんじゃないのかな。

409 = :

コンポーネントを動的にロードする方法ありませんか
今作ってるあるコントローラが、コンポーネント50個ぐらい使ってて、var componentsが長すぎる
デカいアプリ作るのに向かないのかなCakeって

410 = :

>>409
http://book.cakephp.org/ja/view/933/The-App-Class

Cookbookくらいぜんぶ読んどいて損ないから。
というか、もしチーム開発してたら迷惑だから。

411 = :

質問者じゃないけど、ちょっとやってみたけど、
App::import('Component', 'Foo');
しても、initialize()やstartup()を上手い事呼んでくれる訳じゃないのね。

public function index(){
$Foo = App::import('Component', 'Foo');
$Foo->initialize($this);
$Foo->startup($this);
}

こう書けばいいのかとも思ったけど、
beforeRender()やshutdown()も呼ばれないし、これ使えないんじゃないかな?
なんか勘違いしてるんだろうか。

http://book.cakephp.org/ja/view/933/The-App-Class#コンポーネントの読み込み-939
うわ、ChromeがURLコピーした時URLエンコードしてくれなくなってる・・・

412 = :

そりゃ当然コールバックは呼ばれないよ

414 = :

App::import('Component', 'Foo');
$foo = new Foo();
$foo->initialize($this);
$foo->startup($this);

こんな感じかね
自前でこういう関数作っとけばいいんじゃね

416 = :

>>414
ベターだろうけど色々ふぐあいの原因になる。
そもそも設計し直したほうがいい。確実に

417 = :

どっちにせよコールバックが動かないならなんの意味も無い気がする

419 = :

>>416
なんで?
Cakeも中で同じような処理やってんじゃないの?

設計し直しても作らなければならない機能は減らない

420 = :

コンポーネント50個ってなんでもかんでもコンポーネントにしてるだけだろ

421 = :

411だが、変数名は試した時は$FooComponentだったんだ。
貼る時長いなと思って削っちゃった。
で、結局コールバックが呼ばれないなら、
コンポーネントよりもlibsに置いて素のクラスとして呼んだほうがいい気がする。
コールバックが呼ばれるからこそのコンポーネントだと思うし。

>>409 は50個あるコンポーネント、全部AppControllerで設定してるの?
そんだけコンポーネントあれば、部分的に使うやつもあるんじゃないの?

あと10日ほど前に同じ話題出てたよ。
>>331-333

422 = :

modelのdeleteAllのコンディションで、
dateフィールドの日付が一週間以上前のデータを全て消すということはできるでしょうか?

例えば、

bookテーブル (id, name, date)
ここのdateが 2010-11-30 とか 2010-12-10 とかバラバラになり、一週間以上前の
データを全て消したいです。

マニュアルを読んでいると、特定の日付を指定して消すことはできるみたいなのですが、
こういう複雑なことはMySQLで直接書くしかないでしょうか?

423 = :

ネットを参考に試してみたコードはこんな感じです。
でも動かなかった。。

$aWeekBefore = strtotime('-1 week');
$my_datetime = date("Y-m-d",$aWeekBefore);

$conditions = array('created' => '< ' . $my_datetime);
$this->deleteAll($conditions);

424 = :

お騒がせしました。以下のコードで出来ました。

$aWeekBefore = strtotime('-1 week');
$aWeekBefore = date("Y-m-d",$aWeekBefore);

$conditions = array("created < '$aWeekBefore'");
$this->deleteAll($conditions);

425 = :

$conditions = array('created <' => $aWeekBefore);
じゃなかったっけ

426 = :

>>425

むむ、一応動いたんですけど、そっちのほうが正しいやり方なんですかね。
マニュアルが見つからないもので。。

427 = :

http://book.cakephp.org/ja/view/74/Complex-Find-Conditions
「見つからない」って、Cookbookぐらい一通り読んでおけよマジで

428 = :

すいません、すいません。deleteの項目しか見てませんでした。

そして、ありがとうございます。

430 = :

bookって言うぐらいだから全部通して読んでおくしかないと思うよ
セクションごとに「全てを1ページで読む」で

431 = :

てか、リンク先がおかしい

432 = :

わかりにくいと言うより、情報が足りないよね
細かいことが全然わからない

433 = :

cookbook全部読んで情報足りないとおもうなら、
http://api.cakephp.org/classes
これでそれぞれの挙動確認したらいいよ。
あと、もっと深くAPIしるには
coreの中に入ってるtestCase読むのがマジオススメ
こんな昨日あるんだって発見が多い

434 = :

>>433
testCaseは読んでなかったな。
APIリファレンスは必読っていうか、
最近じゃ疑問が出たらCookbookは読まずにAPIリファレンスに直行だ。

435 = :

結局、Cakeにしろ手のフレームワークにしろ
Webアプリを作る奴らの絶対数って減ってるのかな

436 = :

>>431
英語版読んだ方がいいよ。
まあ日本語リソースが充実してるのがcakeの利点の一つでもあるから残念な点だけどね。

437 = :

>>435
Cakeにしろ手のフレ このあたりの意味がよく分からないけど、
webアプリを作る人数は増えてるんじゃないか?
なんとなくだけど。
何で減ってるっておもうん?

438 = :

「オレオレFWを作る人間の数が減っている」と言いたいのだろうと等質の発言をエスパーしてみる

439 = :

Zendしか使ったことないけどCakeどう?
使いやすい?

441 = :

>>439
オレオレ → Ethnaをちょっとだけ使ってがっかり → オレオレ → CakePHP
な俺としては、CakePHPは嫌いです。
2回目のオレオレのとき、php4切りしたから、php4を引きずってるしね。
Cookbookも情報不足だし間違いもあるし、引数が連想配列なのに、
使われるキーがCookbookにもAPIリファレンスにも書いて無いから、
結局ソースを見ることになる。
慣れて覚えるまでは結構イライラするよ。
でも、人口は多いから、ユーザーベースの情報量は多いし、
やっぱりオレオレフレームワークを作るコストや、そこで間違えるリスクを考えると、全然あり。
でもZendとか、他のフレームワーク使ってるなら、あえて乗り換える程良いとこ無い気がする。

442 = :

すまん。確かに統質っぽい書き方だw

Cakeの情報が少ない・古くなったと言うレスを見て
「Cakeやこの手のフレームワークを使う人数も少なくなったのかな?」
ってのが言いたかった。

443 = :

つっても実際1.3になってからの情報はすくないし

444 = :

ModelのafterFind()の第2引数の$primaryって、
どういう場合にtrueになって、どういう場合はfalseなんだろ?
APIリファレンス見ても、いまいち意図がわからない。

http://api13.cakephp.org/class/model#method-ModelafterFind
Whether this model is being queried directly (vs. being queried as an association)

445 = :

上にも書いてたけど、情報多いといっても古いものばかり。
新しい情報ほど少ないってことは実は使ってる人減ってたりして?

446 = :

無いわけじゃないんだけどね。
ただ、検索結果には古いエントリばっかりって感じだと思う。
俺も、単にこれどうやっていいかわかんねぇってのから、
一応Tipsみたいなのまで、ちょいちょい書いてるけど、
CakePHPで検索されてくるのはかなり少ないよ。

447 = :

プログラムの重いところを探すのは、みなさんどうやっていますか?

自分はこんな感じで、もっといい方法あるんじゃないかなあと妄想しています。

$time_start = microtime(true);

for( $i=0; $i<1000; $i++ ){
$str .="$i回";
}

$time_end = microtime(true);
$time = $time_end - $time_start;

echo "$time秒掛かりました。";

448 = :

スレチ

449 = :

まぁ業界的にはxDebugを使ったプロファイリングだろうな。
俺はそんな要件が厳しくないので、めんどくさくてめったに使わないから、
あんま説明はしてやれんが。
xdebugがphp拡張モジュールだから結構準備が面倒だけど、興味があるなら下記でググってくれ。

xdebug プロファイリング

スレに合わせるためにじゃないが、たまたまさっき見かけたのはこれ。
http://blog.restartr.com/2010/10/10/the-xhprofpanel-debugkit-custom-panel-cakephp/

XHProfの出力をDebugKitで見せてくれる、DebugKitのカスタマイズみたいだ。
俺は使ったことは無いから、別にオススメしてるわけじゃないぞ。
XHProfもphp拡張モジュールだから、導入が面倒なのは同じかね。

450 = :

コード数行~数十行単位であたりがつくんだったらそれでもいいと思われ
どのクラスの呼び出しで時間食ってるのか、とかの視点でみたいんだったらプロファイラ


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について