トップページ⇒php
1001コメント251KB

【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/
0496nobodyさん2007/05/02(水) 18:12:37ID:???
それは普通だろ
0497nobodyさん2007/05/02(水) 20:01:22ID:???
railsみたいにサクサクウェブアプリ作れるフレームワーク教えてけれ。
0498nobodyさん2007/05/02(水) 20:21:29ID:???
>>489
zendは?
0499nobodyさん2007/05/02(水) 20:44:11ID:???
>>492
PHP for struts って言いたいのか?( ´,_ゝ`)フ
0500nobodyさん2007/05/03(木) 00:14:52ID:???
PHP for Railsでもいいと思う。
出所者がどんどんRuby使いだして流行るだろうし。
0501nobodyさん2007/05/03(木) 00:39:29ID:???
もうRuby=犯罪者の言語ってイメージ
Ruby使ってる=前科者と思ってしまう
0502nobodyさん2007/05/03(木) 00:48:14ID:???
受刑者育成の記事で脊髄反射過ぎだろww
0503nobodyさん2007/05/03(木) 01:36:21ID:???
CIですら内部調べるのが面倒くさくなってきた
…ちいたん…か…
0504nobodyさん2007/05/03(木) 01:39:12ID:???
や〜いや〜い ロリコンはっけ〜ん〜!
0505nobodyさん2007/05/03(木) 15:45:50ID:???
>>504
つちいたんは人妻
つ日本では女性が結婚できるのは16歳から
0506nobodyさん2007/05/03(木) 17:38:58ID:c2Uh0pgh
出所した人毛はRails使えるのか・・・驚異だなw
0507nobodyさん2007/05/03(木) 18:17:19ID:???
【IT】民間刑務所でRubyによるソフトウェア開発者を養成、アウトソーシング業務を [5/1]
http://news21.2ch.net/test/read.cgi/bizplus/1178007815/

プログラミングなんて誰でもデキルんだあ。 的な、
一般常識になるのは、ショックだよね。
0508nobodyさん2007/05/03(木) 19:18:21ID:???
実際、PHPでウェブアプリ作るのなんて、3ヶ月教えれば可能だろう。よほどPC苦手でなければ。
0509nobodyさん2007/05/03(木) 19:30:57ID:???
そんなやつ使えるのか?
何年もプログラムやってるがWebプログラムを書いたことがない奴は
セキュリティ的に問題のあるコードばかり書くのだが
0510nobodyさん2007/05/03(木) 19:44:21ID:???
うんうん・・・粗悪なコード書かれるとかえって手間になる。
0511nobodyさん2007/05/03(木) 23:25:39ID:???
やっぱり安い業者は駄目だなと思った蔵に営業に逝けばいいじゃないか。
0512nobodyさん2007/05/03(木) 23:38:51ID:???
Ruby on Rails のインパクトは多大なものであったと。
0513nobodyさん2007/05/03(木) 23:51:06ID:???
つまりは、Ruby on Jails .だと....
0514nobodyさん2007/05/04(金) 01:50:36ID:???
>>509
問題のある部分はFWがカバー
0515nobodyさん2007/05/04(金) 05:00:11ID:???
だれがうまいことをいえt(ry >>513
0516nobodyさん2007/05/04(金) 05:19:05ID:???
オブジェクト指向ってかなり知的なハードル高いと思うんだが
アウトローにそんな素養あるのか?
詐欺師等の知能犯ならともかく…
0517nobodyさん2007/05/04(金) 05:21:56ID:???
ペッ そりゃ教えれば覚わるだろうよ
クソ。結局孤立無縁で学校も行ってない俺みたいな人間は犯罪者より待遇が下ってか
0518nobodyさん2007/05/04(金) 05:47:00ID:???
開校に伴い同センターに収容される新居受刑者1000名から60名の女性受刑者を選抜し、4カ月間の職業訓練を通して開発に必要な基礎を養わせ、その後実際にプリズニーズのプロジェクトにアサインさせる計画。

女囚か。それなら男の犯罪者よりも平均的なIQは高いかな。
0519nobodyさん2007/05/04(金) 09:19:34ID:Ipcq4wKI
>>516
詐欺師は覚えるだろうな。
んで、フィッシングサイト作りまくり。
0520nobodyさん2007/05/04(金) 12:59:04ID:???
詐欺はオブジェクト指向だからな。
0521ヤバイ!!!2007/05/04(金) 18:19:45ID:???
オブジェクト指向プログラミングができない人は、今後非常にヤバイですね。
4ヶ月でマスターするのか!
実力で負けないように頑張りましょう!

…俺もその一人だが\(^o^)/
0522nobodyさん2007/05/04(金) 19:41:12ID:Ipcq4wKI
class Unko{


}
0523nobodyさん2007/05/05(土) 01:31:05ID:???
>>516
逆だろ。オブジェクト指向自体は分かりやすいし単純。
よのアホプログラマー達が、人の手だ足だとか歩くだとか、
しょーもない例で説明してたから、分かり難くなってただけ。

模範的なコードサンプルが増えた今では、理解なんかすぐできるだろ
0524nobodyさん2007/05/05(土) 01:42:03ID:???
君たちみたいに昔からプログラム長々と書きなぐってた人たちは、
敢えてオブジェクト指向学ばなくても良かったからじゃね?
0525nobodyさん2007/05/05(土) 01:48:39ID:???
よく知られているフレームワークのソースですらイモなコードが多いんだから
一般のプログラマーでオブジェクト指向を本質的に理解できてる人間が
どの程度いるのかは疑問だな
何しろ奥が深い世界だからねぇ
0526nobodyさん2007/05/05(土) 02:02:38ID:???
>>525
>よく知られているフレームワークのソースですらイモなコードが多いんだから
具体的なサンプルは?
0527nobodyさん2007/05/05(土) 02:35:34ID:???
symfony以前は、そうじゃないの?
やっぱりPHP4ベースで書かれたものはつらいわ
0528nobodyさん2007/05/05(土) 02:53:33ID:???
symfonyでも「これはねーだろ」ってところが結構あった
もう忘れたが
0529nobodyさん2007/05/05(土) 06:33:20ID:???
PHPだとオブジェクト指向ぶりぶりだと重くなるから
仕方ないところあるんだよな
仕様で変なとこもあるし
0530nobodyさん2007/05/05(土) 10:06:56ID:???
おまいらget_included_files()でファイル表示してみ?
恐ろしい数のファイルを読み込んでるから・・・
0531nobodyさん2007/05/05(土) 10:30:38ID:???
>>530
どれが?
0532nobodyさん2007/05/05(土) 11:41:33ID:???
>>530
比較的シンプルなCIですら50ファイル以上読んでる現実
まぁ自作クラスも多いのだが…。
まとめた方がいいのかな
0533nobodyさん2007/05/05(土) 20:14:32ID:???
つEAccelerator
0534nobodyさん2007/05/05(土) 20:27:55ID:???
かなり前、Ethnaの中の人が
ファイルを一つにまとめてもコストに大差なかったと
言ってた記憶がある
0535nobodyさん2007/05/05(土) 21:34:28ID:CNYOYtyC
鯖のメモリ増設したほうがずっと安上がりだよ
0536nobodyさん2007/05/05(土) 23:03:38ID:???
>>534
PHP高速化テクニックに20以上ファイルを読み込むなというのがあった
0537nobodyさん2007/05/05(土) 23:23:54ID:???
"PHP高速化テクニック" - Google 検索
http://www.google.co.jp/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&num=50&q=%22PHP%E9%AB%98%E9%80%9F%E5%8C%96%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%22
0538nobodyさん2007/05/05(土) 23:47:36ID:???
smartyなんてロードだけでメチャコストかかるからね。
0539nobodyさん2007/05/05(土) 23:53:33ID:???
>>536
それ何?本?ブログ記事?
0540nobodyさん2007/05/06(日) 00:28:26ID:???
>>539
夢の中
0541nobodyさん2007/05/06(日) 18:41:06ID:???
>>525
ソース覗いて駄目なところ言うのなんて誰にでもできる。
それなりに上手く動作するフレームワーク作るのは、やっぱ大変だし難しいでしょ。
誰にでも出来るわけじゃない。

オブジェクト指向って、現場だとバランスが大事だと思う。
理詰めで設計・コーディングして失敗してる例だってあるわけだし。

>>534
ファイルを一つにってやったことあるけど、確かにあまり変わらなかった。
0542nobodyさん2007/05/06(日) 19:21:27ID:???
「PHP高速化テクニック」の詳細きぼんぬ
0543nobodyさん2007/05/06(日) 19:37:05ID:???
http://del.icio.us/search/?fr=del_icio_us&p=PHP+optimization&type=all
0544nobodyさん2007/05/06(日) 20:34:12ID:???
Many code blocks might slow down the interpretation a little bit.
<?
...
...
...
?>
is faster than
<? ... ?>
<? ... ?>
<? ... ?>

これなんて普通に考えてそうに決まってるが
気にするようなことか(?v?)
使われる状況が違うから簡単に書き換えられるケースが少ないし
0545nobodyさん2007/05/06(日) 20:41:28ID:???
【Zend Developer Zone】 PHPで高いパフォーマンスを得るには?
ttp://www.phppro.jp/news/72

->2. インクルード階層を10個以内に抑える


オブジェクト関係の処理を高速化するための方法
ttp://www.phppro.jp/news/58
0546nobodyさん2007/05/06(日) 21:22:34ID:???
>>545
include_path の事じゃないの?
0547nobodyさん2007/05/06(日) 21:40:26ID:???
Control your include trees to no more than 10 includes
これどゆ意味?
include_pathの数を減らすのか
深い階層からincludeを行わないのか?
階層の深さの場合、どこからの距離を言うのか?
読み込み元ファイルからの距離なのか、/からの距離なのか?
0548nobodyさん2007/05/06(日) 22:00:25ID:uDyEbrl7
相対パスと絶対パスだと絶対パスの方が速いんじゃなかったっけ?
0549nobodyさん2007/05/06(日) 23:04:24ID:???
>>544
なんかこれって、貧者プログラムだな。
0550nobodyさん2007/05/07(月) 00:13:21ID:???
PHPはコンパイラーがバカ過ぎる。
0551nobodyさん2007/05/07(月) 02:34:12ID:???
Rubyよりは大分ましだけどね
0552nobodyさん2007/05/07(月) 05:15:59ID:???
>>543
その一番上のこの記事
http://www.dublish.com/articles/10.html
「そりゃ普通に考えればそうだろ」か
「そうかもしれんが使いどころがねーよ」がほとんどだな・・・
0553nobodyさん2007/05/07(月) 05:21:57ID:???
デリシャスの検索おせええええ
0554nobodyさん2007/05/07(月) 05:29:49ID:???
>>548
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:???
>>547
その文だけ読んだ限りでは、includeしたファイルの中からまたincludeして・・・という階層を10以内にしろってことっぽいけど、includeで10階層になることなんてまずありえないわな。
0557nobodyさん2007/05/07(月) 20:15:10ID:???
>>555
まったくだな。
0558nobodyさん2007/05/07(月) 22:33:10ID:???
別に10階層が何かのキーになるわけじゃない。ネストすればするほど、行数の長いファイルを読み込めば読み込むほど、処理が遅く、メモリを消費する。
必要ないライブラリファイルは初めから読み込まない方がいいし、include_once()よりinclude()を使った方がいいということ。
0559nobodyさん2007/05/08(火) 01:44:44ID:???
include_once()が遅いというが
既に読み込んだファイルリストとの照合ってそんなにコストかかるか?
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,
で比較してみたら?
05645622007/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:???
>>562
絶対パスと相対パスとインクルードパスから 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:???
>>564
include はファイルI/Oが伴うから、ハッシュテーブルに登録されていたら
そこで終わりの include_once の方が速くても何の不思議もないよ。
そもそも require_once/include_once はクラスや関数が記述されているファイルを
読み込むとき等に使うもので、requre/include とは用途からして別物だし。
05675642007/05/08(火) 07:41:47ID:???
>>565
なるほどね。
まあとりあえず、includeとinclude_onceにパフォーマンス的な違いはほとんどないって感じでおkかな。

>>566
いや、564のコードはループ内で毎回異なる名前のファイル("0"〜"999")をinclude_onceしてるから、ファイルの読み込みも、パーサの起動も(空のファイルなので実質パースしてないけど)毎回やってるよ。
ちなみに、敢えてinclude中にパースする時間をなくすことで、includeとinclude_onceそのものの時間差をなるべく純粋に測ろうとしてみた。
この2つにパフォーマンス上の違いはないなら、566の言う通り、用途で使い分けるべきって結論になるわな。
0568nobodyさん2007/05/08(火) 07:45:09ID:???
include_path から順番にファイルを検索
の段階までパスが確定しないケースってそんなに多くはないんじゃ?
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:???
<?php
if(defined(__FILE__)) return;

define(__FILE__, true);

ファイル頭にこれ書けてか?
そこまでしなけりゃならん程incude_onceは遅いのか??
0574nobodyさん2007/05/08(火) 22:22:21ID:???
英語長げー
日本語三行で頼む
0575nobodyさん2007/05/09(水) 10:31:35ID:???
>>572
goodjob!
0576nobodyさん2007/05/09(水) 10:59:20ID:???
自画自賛乙
0577nobodyさん2007/05/10(木) 03:11:35ID:???
バイトコードキャッシュ使えばincludeの速度なんて無くなるんだから、
そんなつまらんことに時間掛けてる奴は相当アホだな
0578nobodyさん2007/05/10(木) 03:59:31ID:???
include_once問題はキャッシュ関係ないんじゃなかったっけ?
0579nobodyさん2007/05/10(木) 08:12:27ID:???
>>578
その通り
0580nobodyさん2007/05/10(木) 08:18:30ID:???
572は要するに
*_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:???
Somebody set us up an Inclusion Check
こっからもう意味わかんね
誰かが私たちに挿入チェックをセットアップする?ハァ?
0583nobodyさん2007/05/10(木) 10:03:01ID:???
読める人がいないんじゃなくて、読んでも解説する人がいないだけだと思ってたら
本当に読めない人もいたのか……
0584nobodyさん2007/05/10(木) 10:12:29ID:???
かなりブロークンな英語であることは確か。
writingについて、後天学習したピジンぽい。
0585nobodyさん2007/05/10(木) 10:24:18ID:???
symfonyのWEBアプリ、フロントコントローラでのSF_ROOT_DIRを絶対パス指定にしたら、
少し早くなったよ!
ありが�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のORMよりCodeIgniterのORMの方が分かりやすくていいな
symfonyオワタ

      symfonyオワタ♪
      \    オオオオワターオワオオワオワタ/
         ♪\(^o^) ♪
          _  )  > _ キュッキュ♪
        /.◎。/◎。/|
  \(^o^)/.| ̄ ̄ ̄ ̄ ̄|  |  \(^o^)/  CodeIgniterハジマタ♪
    )  )  .|        |/   ノ ノ
((((  > ̄ > )))) \(^o^)/ ((( < ̄< ))))
              )  )
         (((  > ̄ > ))))
0590nobodyさん2007/05/11(金) 02:47:59ID:???
ファイルインクルードの見直しは確実に処理速度が向上するけどな。全体としてみてどの程度の割合かは別だが、早くなるのは確実。
0591nobodyさん2007/05/11(金) 10:14:49ID:???
SymfonyというかPropelがビッチ過ぎる
他は良いんだけどね・・・
0592nobodyさん2007/05/11(金) 13:16:38ID:???
乱立の流れはいつごろ収束するんですか?

なんか使う側もオナニー状態に思えるんですが。
0593nobodyさん2007/05/11(金) 15:02:52ID:xcuFf1Dy
<?php

$model=new Model;
$list=$model->getList();

include("index.tpl");

?>

これでも一応MVCだろ?
0594nobodyさん2007/05/11(金) 15:43:06ID:???
>>592
だから「ちいたん」使うんだろwww
0595nobodyさん2007/05/11(金) 18:12:14ID:???
最初にコンパイルしとけば早くなるよ。
今ではzendのコンパイラ使ってる。
0596nobodyさん2007/05/11(金) 20:24:47ID:???
>>595
無料のないの?
■ このスレッドは過去ログ倉庫に格納されています