【PHP】フレームワークについて語るスレ6【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/02/19(月) 23:50:20ID:e8b09Hl8【PHP】フレームワークについて語るスレ5【総合】
http://pc10.2ch.net/test/read.cgi/php/1159579507/l50
[PHP]フレームワークについて語るスレ4[総合]
http://pc8.2ch.net/test/read.cgi/php/1151706907/
[PHP]フレームワークについて語るスレ3[総合]
http://pc8.2ch.net/test/read.cgi/php/1145971945/
[PHP]フレームワークについて語るスレ2[総合]
http://pc8.2ch.net/test/read.cgi/php/1135847024/
【PHP】フレームワークについて語るスレ【総合】
http://pc8.2ch.net/test/read.cgi/php/1123608068/
0552nobodyさん
2007/05/07(月) 05:15:59ID:???その一番上のこの記事
http://www.dublish.com/articles/10.html
「そりゃ普通に考えればそうだろ」か
「そうかもしれんが使いどころがねーよ」がほとんどだな・・・
0553nobodyさん
2007/05/07(月) 05:21:57ID:???0554nobodyさん
2007/05/07(月) 05:29:49ID:???http://www.moskalyuk.com/blog/php-optimization-tips/1272
Use full paths in includes and requires, less time spent on resolving the OS paths.
だって。
Error suppression with @ is very slow.
これは知らなかった。
0555nobodyさん
2007/05/07(月) 10:27:02ID:???SQLをちょっと改善するだけでその100倍くらい稼げることが多いからなぁ……
そんな重隅より他に先にやることいっぱいあるだろ、なんてサイトが多そうだ
0556nobodyさん
2007/05/07(月) 12:24:29ID:???その文だけ読んだ限りでは、includeしたファイルの中からまたincludeして・・・という階層を10以内にしろってことっぽいけど、includeで10階層になることなんてまずありえないわな。
0558nobodyさん
2007/05/07(月) 22:33:10ID:???必要ないライブラリファイルは初めから読み込まない方がいいし、include_once()よりinclude()を使った方がいいということ。
0559nobodyさん
2007/05/08(火) 01:44:44ID:???既に読み込んだファイルリストとの照合ってそんなにコストかかるか?
include()より遅いのは当然だが
本当に気にするようなことなのかと。
0560nobodyさん
2007/05/08(火) 02:03:27ID:???「〜〜より何ms遅い」で数字で話をしないと
意味のある遅さ論争はできないと思
0561nobodyさん
2007/05/08(火) 07:01:19ID:???そもそもの設計が悪くて桁違いに遅いプログラムを
書いてるんだよなw
0562nobodyさん
2007/05/08(火) 07:04:46ID:???ループの中で大量にinclude_onceしても、一回しかinclude自体の処理をしないから、onceじゃないincludeを大量にやるより遥かに早くなっちゃうし。
かと言ってinclude_onceを1回してるだけのPHPスクリプトを何度も呼び出しても、PHPのパースにかかる時間のほうが長くてベンチにならん・・・
0563nobodyさん
2007/05/08(火) 07:08:17ID:???全部include_once,
全部include,
で比較してみたら?
0564562
2007/05/08(火) 07:09:52ID:???<?php
$n = 1000;
for ($i = 0; $i < $n; $i++) if (!file_exists($i)) touch($i);
$s = microtime(1);
for ($i = 0; $i < $n; $i++) include_once $i;
echo microtime(1) - $s, "\n";
$s = microtime(1);
for ($i = 0; $i < $n; $i++) include $i;
echo microtime(1) - $s, "\n";
はっきり言って誤差しかない。
何回もやってるとinclude_onceの方が早いときすらある。
0565nobodyさん
2007/05/08(火) 07:20:37ID:???絶対パスと相対パスとインクルードパスから require_once するテスト書いてみると分かるよ。
require_once, require, include_once, include は大雑把に言うと
1. パスの解決
2. ハッシュテーブルを参照 (*_once のみ)
3. ファイルを読み込み
4. パスをハッシュテーブルに登録
ってことをやってるんだけど、(1) で 絶対パスならそのまま、相対パス (./ や ../ で始まる) なら
絶対パスに変換して正規化、その他なら include_path から順番にファイルを検索。
これが思ったより時間がかかっていて、しかも実行時の問題だからアクセラレータも無意味。
たとえば require_once '...'; // @resolve_path みたいにノーテーションしていたら
絶対パスに書き換えてデプロイしてくれるフレームワークとかがあると面白いかもね。
0566nobodyさん
2007/05/08(火) 07:26:10ID:???include はファイルI/Oが伴うから、ハッシュテーブルに登録されていたら
そこで終わりの include_once の方が速くても何の不思議もないよ。
そもそも require_once/include_once はクラスや関数が記述されているファイルを
読み込むとき等に使うもので、requre/include とは用途からして別物だし。
0567564
2007/05/08(火) 07:41:47ID:???なるほどね。
まあとりあえず、includeとinclude_onceにパフォーマンス的な違いはほとんどないって感じでおkかな。
>>566
いや、564のコードはループ内で毎回異なる名前のファイル("0"〜"999")をinclude_onceしてるから、ファイルの読み込みも、パーサの起動も(空のファイルなので実質パースしてないけど)毎回やってるよ。
ちなみに、敢えてinclude中にパースする時間をなくすことで、includeとinclude_onceそのものの時間差をなるべく純粋に測ろうとしてみた。
この2つにパフォーマンス上の違いはないなら、566の言う通り、用途で使い分けるべきって結論になるわな。
0568nobodyさん
2007/05/08(火) 07:45:09ID:???の段階までパスが確定しないケースってそんなに多くはないんじゃ?
PEARだとそうなるかな
0569nobodyさん
2007/05/08(火) 09:23:24ID:???チェックなんてゴミだろ。バカらしいこと考えてないで、用途に合った
ほうを素直に使えばよろしい。
0570nobodyさん
2007/05/08(火) 13:49:59ID:???コードの可読性とメンテ性を考えて作業者の数十分を稼いでくれって話だな
require_once でいいところに require 使ってたりすると
複数回読まれる可能性があるのか? とか思っちゃうよ……
0571nobodyさん
2007/05/08(火) 18:31:45ID:???気にしたら負けの問題だなこれは
0572nobodyさん
2007/05/08(火) 21:19:24ID:???http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
http://t3.dotgnu.info/blog/php/inclusion-checks.html
0573nobodyさん
2007/05/08(火) 22:19:22ID:???if(defined(__FILE__)) return;
define(__FILE__, true);
ファイル頭にこれ書けてか?
そこまでしなけりゃならん程incude_onceは遅いのか??
0574nobodyさん
2007/05/08(火) 22:22:21ID:???日本語三行で頼む
0576nobodyさん
2007/05/09(水) 10:59:20ID:???0577nobodyさん
2007/05/10(木) 03:11:35ID:???そんなつまらんことに時間掛けてる奴は相当アホだな
0578nobodyさん
2007/05/10(木) 03:59:31ID:???0580nobodyさん
2007/05/10(木) 08:18:30ID:???*_once系はキャッシュが効かないから
普通のincludeでキャッシュを効かせようって
キャッシュ前提の話でしょ?
0581nobodyさん
2007/05/10(木) 08:41:00ID:???http://t3.dotgnu.info/blog/php/inclusion-checks.html
をちゃんと読める人はいないの?
0582nobodyさん
2007/05/10(木) 08:50:43ID:???こっからもう意味わかんね
誰かが私たちに挿入チェックをセットアップする?ハァ?
0583nobodyさん
2007/05/10(木) 10:03:01ID:???本当に読めない人もいたのか……
0584nobodyさん
2007/05/10(木) 10:12:29ID:???writingについて、後天学習したピジンぽい。
0585nobodyさん
2007/05/10(木) 10:24:18ID:???少し早くなったよ!
ありが�d!
0586nobodyさん
2007/05/10(木) 17:19:06ID:???0587nobodyさん
2007/05/10(木) 22:59:47ID:???ただボトルネックになりうる箇所を知っておく事は大事な事だと思う。
0588nobodyさん
2007/05/10(木) 23:09:01ID:???Xdebugって読みづらいんだよね
0589nobodyさん
2007/05/11(金) 00:26:18ID:???symfonyオワタ
symfonyオワタ♪
\ オオオオワターオワオオワオワタ/
♪\(^o^) ♪
_ ) > _ キュッキュ♪
/.◎。/◎。/|
\(^o^)/.| ̄ ̄ ̄ ̄ ̄| | \(^o^)/ CodeIgniterハジマタ♪
) ) .| |/ ノ ノ
(((( > ̄ > )))) \(^o^)/ ((( < ̄< ))))
) )
((( > ̄ > ))))
0590nobodyさん
2007/05/11(金) 02:47:59ID:???0591nobodyさん
2007/05/11(金) 10:14:49ID:???他は良いんだけどね・・・
0592nobodyさん
2007/05/11(金) 13:16:38ID:???なんか使う側もオナニー状態に思えるんですが。
0593nobodyさん
2007/05/11(金) 15:02:52ID:xcuFf1Dy$model=new Model;
$list=$model->getList();
include("index.tpl");
?>
これでも一応MVCだろ?
0595nobodyさん
2007/05/11(金) 18:12:14ID:???今ではzendのコンパイラ使ってる。
0598nobodyさん
2007/05/12(土) 01:31:00ID:???ネクスト
PHPで構築した不動産情報サイトにフレームワーク導入へ
久しぶりにMapleが話題に!
0600nobodyさん
2007/05/12(土) 01:50:18ID:???ううむ・・・
0601nobodyさん
2007/05/12(土) 02:35:52ID:???仕事の案件で、Mojavi使ってますってのが結構多いが、これも同じかな?
0602nobodyさん
2007/05/12(土) 03:42:17ID:???更新が停止しているからこそ安心して使える…
そう考えるんだ
0603nobodyさん
2007/05/12(土) 04:37:51ID:???ネクストって会社は恐ろしく間違えまくってる。
0604nobodyさん
2007/05/12(土) 07:07:14ID:???実際技術的なレベルはそんなに高くはないだろうね・・・
Mapleは実際使ったことはないが
内部の見通しはいいのでは?
0606nobodyさん
2007/05/12(土) 14:06:51ID:???自分らでメンテナンスすればなんら問題なし
0607nobodyさん
2007/05/12(土) 14:20:44ID:???でもMojaviなんかはもう設計思想が少し古くなってると思う
0608nobodyさん
2007/05/12(土) 14:28:04ID:???0609nobodyさん
2007/05/12(土) 14:41:35ID:???よくわからんけど
0610nobodyさん
2007/05/12(土) 14:54:21ID:???Railsが持ち込んだ概念がごっそり抜けてるところ。
ヘルパとかスマートなURLマッパがないし、
逆にヘルパやコントローラに溶けていったViewクラスがまだあるとか。
0611nobodyさん
2007/05/12(土) 16:36:41ID:???RailsはORマッパーの組み込みとかミニサーバとかヘルパースクリプトによる省力化とか、そういう周辺部分を便利にしただけだな。
IDEないからエディタで書くけど、XMLは面倒だから、規約ベースにしちゃえとか。
0612nobodyさん
2007/05/12(土) 17:47:35ID:???Strutsが構築した功績は大きいと思うけど
まだまだwebアプリFWを便利にしていく余地は腐る程あるだろう
0613nobodyさん
2007/05/12(土) 19:19:41ID:???でもJavaだと極端に理屈っぽくなるからベンチャー系だと敬遠されがちだしな、、
0614nobodyさん
2007/05/12(土) 20:34:10ID:???0615nobodyさん
2007/05/12(土) 21:01:00ID:???func(,,100)
みたいなデフォルトパラメータ指定出来ないのがうざい。
他言語パクるならそういうとこもパクれよ…
0617nobodyさん
2007/05/12(土) 21:28:50ID:???心の叫びだ
0618nobodyさん
2007/05/13(日) 00:35:37ID:???単に syntax sugar が欲しいのか
書いてる本人は区別できてるんだろーか?
0619nobodyさん
2007/05/13(日) 01:12:55ID:???とにかく「引数を省略できるのは右端から連続してる箇所だけ」という
不条理きわまりない仕様が許せねーんだよ
0620nobodyさん
2007/05/13(日) 01:48:34ID:???ググれよ
0621nobodyさん
2007/05/13(日) 02:41:10ID:???速度出したいときはBasePeer使うと全然早いよ。
adminGeneraterをフロントエンドで公開するようなアホじゃないでしょ?
0623nobodyさん
2007/05/13(日) 03:09:28ID:???> 機能の拡張を繰り返すうちスパゲティ化が進み,現在はある機能を改修すると
> 別の機能が正常に動作しなくなるという事態が頻発しているという。
こういうのは、改修が完了した後なら言ってもいいけど、改修前に言っちゃだめだよね。
個人情報とか扱うんだろうから、不安で使えなくなる。
0625nobodyさん
2007/05/13(日) 14:31:07ID:???syntactic sugar って書けよ。
それに「文法糖」って訳だってあたらずとも遠からずだ。
function(,,100)クレクレなんていうsugarは糞だけどな。
0626nobodyさん
2007/05/13(日) 15:24:54ID:???話が通じない言い回しじゃ役に立たん
0627nobodyさん
2007/05/13(日) 15:36:34ID:???英文でも普通にsyntax sugarというし通じるがまぁ主流の表現ではないな
あと「構文糖」って訳語を見たことがある。オライリーのPerl本あたりで。
syntax sugar/syntactic sugar/糖衣構文/文法糖/構文糖
どれ見ても同じひとつの概念が浮かぶなら特に問題はないと思うが
そもそもその概念自体を知らないんじゃ話が役に立つとか以前に話にならん
0629nobodyさん
2007/05/13(日) 17:10:40ID:???0630nobodyさん
2007/05/13(日) 18:59:22ID:???自分の書きたいようにソースを書いてコンパイルのように実行前に正しい構文に変換して
やればいいだけの話じゃないの?
0632nobodyさん
2007/05/14(月) 00:52:40ID:???0633nobodyさん
2007/05/14(月) 02:52:42ID:???0634nobodyさん
2007/05/14(月) 09:41:13ID:???0635nobodyさん
2007/05/14(月) 09:45:41ID:???「こういう構文があると便利」って思いついて実装する事自体は、大抵そんなに難しくは無いんだが、
そのうち、そういった構文に複数の解釈がある、等の矛盾が噴出したりするので難しい。
0636nobodyさん
2007/05/14(月) 14:15:32ID:???http://adroit.selfcontained.us/index.php
0637nobodyさん
2007/05/14(月) 14:18:47ID:???* MVC
* Smartyユーティリティ付属
* Ajax簡単実装
* PHP5+以降
ライトウェイトを歌ってるのに今時Smarty?
センスなしと判定
0638nobodyさん
2007/05/14(月) 14:21:20ID:???ジャップも頑張れよ
0639nobodyさん
2007/05/14(月) 17:20:36ID:PzBGoMlrEthnaって日本人じゃないの?
0641nobodyさん
2007/05/14(月) 18:49:13ID:???0642nobodyさん
2007/05/14(月) 21:47:38ID:???知らないだけだろ
0644nobodyさん
2007/05/14(月) 22:50:11ID:???0645nobodyさん
2007/05/15(火) 01:24:20ID:???PHP最適化tipsまとめサイト
ttp://labs.unoh.net/2007/05/phptips.html
0646nobodyさん
2007/05/15(火) 13:02:28ID:EEPUGtmM0647nobodyさん
2007/05/15(火) 13:06:22ID:???( ゚∀゚)彡 ちいたん! ちいたん!
⊂彡
0648nobodyさん
2007/05/15(火) 13:21:04ID:???0649nobodyさん
2007/05/15(火) 13:42:48ID:???なるほど。
>メソッドで2回以上参照されるすべてのグローバル/オブジェクト変数はは、
>ローカル変数に格納したほうがよい。
と紹介しているのに、自社のやつが
http://labs.unoh.net/2007/05/php_7.html
みたいなそれを正面から無視するコードかいてたりするのが笑える
0650nobodyさん
2007/05/15(火) 14:03:04ID:???strposを良く使うようになったし
ループ中の判断分岐は外に出せないか検討するようになった
0652nobodyさん
2007/05/15(火) 14:07:48ID:???これから言うと
クラス内で
Context::getInstance()
するより
プロパティーに持っておいて
$this->getContext()
する方が速いってことかな?
俺はContext::getInstance()形式を好んで使ってるんだが
■ このスレッドは過去ログ倉庫に格納されています