【PHP】PHPフレームワーク総合スレ14
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/09/26(土) 05:55:43ID:Z4zintKrpc11.2ch.net/test/read.cgi/php/1237825268/
0002nobodyさん
2009/09/26(土) 05:56:56ID:Z4zintKr* symfony
* CakePHP
* ZendFramework
* CodeIgniter
0003nobodyさん
2009/09/26(土) 07:22:33ID:???cakeのコードきっついすなー
なんでこんなのが人気あるんだ
0004nobodyさん
2009/09/26(土) 08:56:47ID:???.svnからソースコードが盗まれてPHP脂肪www
0005nobodyさん
2009/09/26(土) 11:46:36ID:???って笑えばいいのかな?
0007nobodyさん
2009/09/26(土) 18:36:52ID:???●国外産●
symfony
ttp://www.symfony-project.com/
code igniter
ttp://codeigniter.com/
Zend Framework
ttp://framework.zend.com/manual/ja/index.html
CakePHP
ttp://www.cakephp.org/
Yii Framework
ttp://www.yiiframework.com/
●国産
ちいたん
ttp://php.cheetan.net/
Ethna
ttp://ethna.jp/
guesswork
ttp://classic.guesswork.jp/
maple
ttp://kunit.jp/maple/
●前スレ
【PHP】フレームワークについて語るスレ13【総合】
http://pc11.2ch.net/test/read.cgi/php/1237825268/
次スレは >>980 くらいで立てて
0008nobodyさん
2009/09/26(土) 18:36:58ID:???13http://pc11.2ch.net/test/read.cgi/php/1237825268/
12http://pc11.2ch.net/test/read.cgi/php/1229960175/
11http://pc11.2ch.net/test/read.cgi/php/1219581817/
10http://pc11.2ch.net/test/read.cgi/php/1202521438/
. 9http://pc11.2ch.net/test/read.cgi/php/1197383840/
. 8http://pc11.2ch.net/test/read.cgi/php/1192604501/
. 7http://pc11.2ch.net/test/read.cgi/php/1181350116/
. 6http://pc11.2ch.net/test/read.cgi/php/1171896620/
. 5http://pc10.2ch.net/test/read.cgi/php/1159579507/
. 4http://pc8.2ch.net/test/read.cgi/php/1151706907/
. 3http://pc8.2ch.net/test/read.cgi/php/1145971945/
. 2http://pc8.2ch.net/test/read.cgi/php/1135847024/
. 1:http://pc8.2ch.net/test/read.cgi/php/1123608068/
0009nobodyさん
2009/09/26(土) 18:43:23ID:???英語がろくに使えない中国人が付けたみたいな感じ
0010nobodyさん
2009/09/26(土) 19:25:57ID:???0011nobodyさん
2009/09/27(日) 02:10:24ID:???0012nobodyさん
2009/09/27(日) 04:12:33ID:???何の前なのか明示した方がいい
0013nobodyさん
2009/09/28(月) 17:11:34ID:???サーバー側でHTMLをjqueryで整形できるよ。
http://code.google.com/p/phpquery/
$doc = phpQuery::newDocumentHTML("http://www.yahoo.co.jp/");
$html = $doc['div'] -> html();
サーバーサイド側でこんな簡単にHTMLが抜け出せる。
正規表現も使わないで済む。jqueryライクな書き方でOK
0014nobodyさん
2009/09/28(月) 18:22:58ID:???0015nobodyさん
2009/09/28(月) 21:30:30ID:???0016nobodyさん
2009/09/28(月) 21:40:26ID:???0017nobodyさん
2009/09/28(月) 21:40:46ID:???Yiiって言いにくいよな、なんかショッカーの雑魚戦闘員っぽくて。
0018nobodyさん
2009/09/29(火) 01:52:25ID:???『Best Web Frameworks』
http://www.bestwebframeworks.com/
0020nobodyさん
2009/09/30(水) 04:24:45ID:???特にマジックメソッドはIDEとの親和性も悪いし、エラーの温床になりやすい。
0021nobodyさん
2009/09/30(水) 06:53:34ID:???0022nobodyさん
2009/09/30(水) 16:50:14ID:???0023nobodyさん
2009/09/30(水) 19:12:44ID:???0024nobodyさん
2009/09/30(水) 20:10:25ID:???レンタルサーバーでは使いにくいといいたいわけです。
0025nobodyさん
2009/09/30(水) 22:05:58ID:???コード品質より、楽さを求める人が多いからcakeを選択する人が多い、と。
0026nobodyさん
2009/10/01(木) 03:04:16ID:???0027nobodyさん
2009/10/01(木) 03:34:53ID:???0028nobodyさん
2009/10/01(木) 03:58:09ID:???0029nobodyさん
2009/10/01(木) 08:45:24ID:???まだ良く分かっていないのですが、例えばライブラリのように2つを一緒に使うとかいうような事も出来るのでしょうか?
関数、変数名が干渉してしまってどちらか一方だけになるとかあるのかなぁ、と思っています。
0030nobodyさん
2009/10/01(木) 09:11:17ID:???0031nobodyさん
2009/10/01(木) 09:31:16ID:???Cake 密結合
0032nobodyさん
2009/10/01(木) 10:19:17ID:???そ、それはまずいですね
しかし使っている人も多いようなのである程度注意していれば問題は無いのでしょうが、ちょっとした事でオーバーライドとかのバグになりそうですね
>>31
おおっ、簡潔でいて的を射ていそうな表現ですが
自分にはちょっと分かりにくかったです
Zendは互いが干渉しにくい為にバグやオーバーライド等が少ない代わりに構文はやや複雑になり、
Cakeは色々なメソッドやらハンドラが密に干渉していて、簡単な構文になりやすいという事でしょうか?
0034nobodyさん
2009/10/01(木) 15:59:48ID:???すみません、では違いが分かりません
どのように2つは違うのでしょうか・・・
ごめんなさいあまり知識が無いもので
0035nobodyさん
2009/10/01(木) 17:07:19ID:???設計思想からして違う。
実際に使ってみると、
Zendはフレームワークを作る為のライブラリ集、
基本的な機能は揃っているが導入時にある程度のコードを書く必要がある。
反面、自分の使いやすい形式のFWに仕立て上げる事が出来る。
疎結合なので、使いたいクラスを学ぶだけで簡単に導入出来る。
Cakeは決められたルールに従えば、書くコードが少なくてすむ。
反面、ルールから外れた事しようとすると面倒になる。
0037nobodyさん
2009/10/02(金) 06:54:35ID:???Cake3ー!早く来てくれー!
0038nobodyさん
2009/10/02(金) 16:04:35ID:???最初からcake以外のフレームワーク使うのが吉
せっかくいろいろ種類が出てるんだから、
他のフレームワークも盛り上がって欲しい
まあおれはcake使うけど
0039nobodyさん
2009/10/02(金) 18:54:20ID:???Cakeは逆にシンプルな関数名で良いといわれるようになる。
そこまで先を見ていたのだよ。
0040nobodyさん
2009/10/03(土) 01:04:59ID:???0041nobodyさん
2009/10/03(土) 02:37:53ID:???クラスにパッケージ接頭子付ける方がまし。
0042nobodyさん
2009/10/03(土) 11:48:35ID:???あーゆーのは嫌だなぁ
0043nobodyさん
2009/10/03(土) 12:55:33ID:???0044nobodyさん
2009/10/03(土) 16:25:09ID:???ネームスペース使っても
new Zend_Db_Adapter_Abstract(); が new Zend\Db\Adapter\Abstract();
になるだけだぜ?
同一パッケージや、useでエイリアス貼ればいいんだろうけど・・・それをやり始めると名前衝突が避けられなくなるという罠。
Zendの命名形式はいいけど、サブパッケージを掘りすぎなのが問題だと思う。
Zend_DbAdapterAbstract
Zend_ControllerFront
みたいにcamelCase使ってもう少し階層数を下げれんもんだろうか。
0045nobodyさん
2009/10/03(土) 16:38:08ID:???0046nobodyさん
2009/10/03(土) 16:43:05ID:???習コストかかるし、FW自体をまともに理解出来る人材も少ない。
結果社内開発のシンプルなライブラリ集みたいなものが多用される事になる・・・
0047nobodyさん
2009/10/03(土) 23:36:19ID:???Zend_DbAdapterAbstract
こんなんじゃオートローダー作りにくいし、(現状だとPEAR含めてオートローダーが共用できる)
階層数下げるメリットも分からない。
Yiiはオートローダーを実現するためにこんなコードが200行以上も続くが、こんなんよりよっぽどマシだと思う。
private static $_coreClasses=array(
'CApplication' => '/base/CApplication.php',
'CApplicationComponent' => '/base/CApplicationComponent.php',
'CBehavior' => '/base/CBehavior.php',
'CComponent' => '/base/CComponent.php',
'CErrorEvent' => '/base/CErrorEvent.php',
'CErrorHandler' => '/base/CErrorHandler.php',
'CException' => '/base/CException.php',
'CExceptionEvent' => '/base/CExceptionEvent.php',
'CHttpException' => '/base/CHttpException.php',
'CModel' => '/base/CModel.php',
0048nobodyさん
2009/10/04(日) 03:30:26ID:???お前は何を言っているんだ?
Zendの命名が冗長だっていう指摘に対するレスなだけなんだが。
オートロードなんてクソ重くてコード保守性下がる物の為に、
コード規約を設計するなんて正気の沙汰とは思えないな・・・
0049nobodyさん
2009/10/04(日) 03:32:18ID:???オートローダのファイル検索オーバーヘッドを少なくするためじゃないの?w
200行程度、オートロード1〜2回行うより遙かに軽いよ。
0050nobodyさん
2009/10/04(日) 10:51:49ID:???出鱈目いうなよ。オートロードが速くて保守性がいいからPHP5のFWが使ってんだろが。
>>49
ファイル検索オーバーヘッドってなんだ?オートロードってファイルを「検索」してロードすんのか?w
0052nobodyさん
2009/10/04(日) 15:44:29ID:???ベンチマークとって見ろよw autoloadって結構なリソース食うんだぜ。
最近のFWは機能こそ備えているけれど、デフォルトでは使ってないのもその為。
Zendとか、各クラスで使用するクラスをincludeしてるだろ?
生産性は上がるがクラス間の関係性が不透明になるから、保守性は下がる。
>ファイル検索オーバーヘッドってなんだ?オートロードってファイルを「検索」してロードすんのか?w
そうだよ?
インクルードパスに該当するファイルが無いか検索が発生するけど、これが想像以上に重いんだよ。
Yiiはその手間を省く為に、クラス名とファイル名のマッチングを使っている。
0053nobodyさん
2009/10/04(日) 17:23:53ID:???0054nobodyさん
2009/10/04(日) 21:49:34ID:???そもそもインクルードパスのスキャンをしないためにはフルパスでinclude/requireしかない。オートロードは関係ない。
Kohanaはずっとすっきりしてるし、ZendやSolarはPEARスタンダード準拠。
ベンチマーク?
http://till.vox.com/library/post/zendframework-performance.html の
3) Get rid off require_once, use __autoload とか見れ
http://blog.apecell.com/?s=autoload&x=0&y=0 ここも
お前の言う相対パスのベンチはここ
http://jp.php.net/manual/ja/function.require-once.php
0055nobodyさん
2009/10/05(月) 23:38:00ID:???Zend_Loaderのautoload経由でのincludeと、通常のincludeを比較してみろよ。
予め使うクラスが確定している場合はオートロードなんて使うもんじゃないよ。
0056nobodyさん
2009/10/06(火) 00:47:18ID:???autoloadを介す場合、
1.ファイルパスが書かれた設定を読み込み、配列にセットする。
2.ロード済みかチェックする
3.未ロードならincludeする
という手順になると思う
速度に違いが出そうなところといえば、おそらく1.のパスを配列に詰め込むところでしょう。
数万ファイルあると、相当遅そうだけど、数百、数千ファイルのパスを詰め込むぐらいなら、それほど負荷はかからない様に思える。
また、この設定ファイル自体、更新頻度が低いだろうから、
アクセラレータを介したり、
初回は設定ファイルから読み込み→シリアライズしてしまえば、
さらに負荷を押さえられそうな気がする
0057nobodyさん
2009/10/06(火) 00:58:19ID:???ワロタ。
0058nobodyさん
2009/10/06(火) 01:52:53ID:???- I shaved off roughly 220 milliseconds by removing about 15 (or so) calls to require_once in my bootstrap.php file.
require_once is also the number one performance killer from the entire Zend_* code base. The before/after is amazing.
Without any of those enhancements from the list just by stripping out require_once from our ZendFramework "install",
we went from 9-10 requests/second to 27 requests/second.
Zend_*コードから全てのrequire_onceを取り除き__autoloadに変えると 9-10 リクエスト/秒が27リクエスト/秒になった。
0059nobodyさん
2009/10/06(火) 02:38:20ID:???0060nobodyさん
2009/10/06(火) 09:10:10ID:???PHP側の読込み済みかどうかの判定がウンコだから
0061nobodyさん
2009/10/06(火) 12:08:57ID:???それって、フレームワークやライブラリ次第なんじゃないかなあ。
毎回、必要ないものを大量にrequire_onceしてるならautoloadしたほうが速いだろうけど、
そうでないならrequire_onceのほうが速いと思う。
その加減がわからんけど。
0062nobodyさん
2009/10/07(水) 08:49:18ID:???0064nobodyさん
2009/10/10(土) 11:43:41ID:???>コード規約を設計するなんて正気の沙汰とは思えないな・・・
こいつが糞なのだけは分かった。
0065nobodyさん
2009/10/11(日) 06:11:17ID:???0066nobodyさん
2009/10/11(日) 10:25:39ID:???0067nobodyさん
2009/10/11(日) 11:35:46ID:???大抵はclassの頭にimportとかで明示的に使用するクラスを指定すると思うんだが・・・
0068nobodyさん
2009/10/11(日) 20:39:57ID:???0069nobodyさん
2009/10/12(月) 00:44:11ID:???JavaとかC#みたいなコンパイラ型言語の事を指している?
であれはコンパイル時にクラスチェックが行われるので、
PHPのオートロードで問題になる「実行時にクラスが参照出来ない」「どのクラスを参照しているか不透明」という問題は起こらない。
あと、丸ごとライブラリをimportするような慣習は無い。
0070nobodyさん
2009/10/12(月) 10:09:43ID:???Rails なんて 200 くらいのライブラリを import するよね。
0071nobodyさん
2009/10/13(火) 06:25:12ID:???0072nobodyさん
2009/10/14(水) 09:11:43ID:???コンパイラ言語であることと静的性格は全く関係ない。
Objective-CとはかインタプリタじゃないけどPHPなんかよりもずっと動的性が高いし、
ライブラリを丸ごとimportする習慣もある。
0073nobodyさん
2009/10/14(水) 17:44:33ID:???丸ごとimportって、結局はコンパイラがコード解析及び妥当性をチェックして必要なクラスのみを取り込んでるんだよね?
PHPの実行時オートロードとは性質が異なると思うんだけど。
0074nobodyさん
2009/10/15(木) 00:01:13ID:???0075nobodyさん
2009/10/15(木) 18:19:58ID:???それともcakeならcakeだけ?
0076nobodyさん
2009/10/15(木) 19:08:17ID:???0080nobodyさん
2009/10/16(金) 06:35:50ID:???0081nobodyさん
2009/10/16(金) 19:56:32ID:???hoge_hoge形式がいいの
hogeHoge形式がいいの
0082nobodyさん
2009/10/16(金) 20:04:57ID:QRRFB99x0083nobodyさん
2009/10/16(金) 20:08:34ID:???混在しすぎでどっちつかずだと思う
全体的にアンダースコア使ってるものが多いっちゃ多いけど
自作メソッドとかそういうのは好きなほうで統一すればいいんじゃね
0084nobodyさん
2009/10/16(金) 20:08:56ID:???0085nobodyさん
2009/10/16(金) 20:14:01ID:???0086nobodyさん
2009/10/16(金) 20:15:14ID:???0087nobodyさん
2009/10/16(金) 20:33:16ID:???0088nobodyさん
2009/10/16(金) 21:33:40ID:???0090nobodyさん
2009/10/16(金) 21:47:01ID:???0091nobodyさん
2009/10/23(金) 14:38:35ID:???みんなもScalaを使ってみて、PHPとの比較レポートをお願いします。
ttp://codezine.jp/article/detail/4310
ttp://d.hatena.ne.jp/yuroyoro/20080808
0092nobodyさん
2009/10/23(金) 16:04:35ID:???0093nobodyさん
2009/10/23(金) 20:42:51ID:???0094nobodyさん
2009/10/24(土) 00:04:45ID:???0096nobodyさん
2009/10/27(火) 13:25:25ID:???ttp://business.nikkeibp.co.jp/article/manage/20091022/207799/?P=2
Ethnaを作れるぐらいになると1日で30万円を稼げるのか…スゲーwww
0097nobodyさん
2009/10/28(水) 05:48:04ID:wgov9hiDプロモーション丸出しの記事でワロタw
ソフバン問題で一般にもあくどさがばれたから慌ててイメージアップ戦術打ったんだな
てかF氏は技術者としては悪くはないけど少なくとも神ではねえよw
何より本人が一番分かってるだろうけど
褒め殺しかよw
0098nobodyさん
2009/11/07(土) 10:30:17ID:6jU57Qsohttp://e-arrows.sakura.ne.jp/2009/11/phper.html
0099nobodyさん
2009/11/07(土) 14:44:10ID:???0101nobodyさん
2009/11/08(日) 01:06:50ID:35LWJ8zbどんなのを使っていいかわからない状態です
とりあえず作る予定のサイトは
テンプレートの共通点は多いけど、ページによって使うテンプレートの種類や個数が全然違う感じなんですけど、
よく分からないので、面倒なことを考えずに組み立てれば動くってくらい
初心者が取っつきやすいフレームワークを教えてください
■ このスレッドは過去ログ倉庫に格納されています