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

【PHP】フレームワークについて語るスレ10【総合】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/08/24(日) 21:43:37ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1202521438/
0669nobodyさん2008/11/18(火) 10:27:37ID:???
>>668
ソースインストールはお世辞にもお手軽とは言えなかったがな
未だにrpm以外でのPHP管理を敬遠するサーバ屋もあるくらい
0670nobodyさん2008/11/18(火) 12:15:39ID:???
http://ja.wikipedia.org/wiki/Web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF

ここで言うプル型アーキテクチャのフレームワークってPHPでなんかある?
0671nobodyさん2008/11/18(火) 12:41:48ID:???
Smarty
0672nobodyさん2008/11/18(火) 13:20:30ID:???
なんか新しいフレームワークがでてきたらしい

Yii Web Programming Frameworkは期待できそう。
http://cakephp.seesaa.net/article/109833179.html
0673nobodyさん2008/11/18(火) 14:00:58ID:???
Perlは組み込み関数は少ない。
CPANモジュールをインストールしなければ行けないから、リモートログインとシェルが使えない共用のレンタルサーバなんかだと使い物にならない。
多少なりともUNIXの知識も要求されるし。
その点、PHPの場合、mbstringが有効になってれば、Pearが使えなくてもどうにでもなる。
0674nobodyさん2008/11/18(火) 14:55:14ID:???
>>673
それはかなり昔の話だけどね。
PHPで global $HTTP_GET_VARS とかしなきゃいけない、ってのに近いくらいw

特に、Perl5.8からはEncode標準添付だし、MovableTypeの流行以降は、
そこらのレンタルサーバでも一通りのモジュールは入るようになってる。
DBI・DBMやらも普通に使えるのが大半。
その頃にはみんなレンタルサーバでのPerl CGIから離れてしまってたがなw
0675nobodyさん2008/11/18(火) 14:59:41ID:???
>>670
よくわからんが、「イベントドリブン」なんてのを謳ってるようなのは
そうなのかな?
0676nobodyさん2008/11/18(火) 18:21:34ID:???
>>672
ActiveRecordじゃないですか。モデルに強くてうれしす。
制作者はPRADOのひとかぁ
0677nobodyさん2008/11/18(火) 19:49:11ID:???
>>675
EDPとはまた違うような。

ビューがコントローラーにデータをリクエストするようなやつ。
0678nobodyさん2008/11/18(火) 20:42:37ID:???
PHPは5-6年前の時点でPHP4が普及してたから。
そもそも国際版のPHP3ってレンタルサーバで提供されることはほとんどなかった。あっても、すぐに4に移行したから。
Perlの場合、5.8.10になっても標準モジュールだけでは既存のウェブフレームワークは動かない。
モジュールをインストールしても、CatalystみたいなのはCGI環境ではまともな速度が出ないし。
共用レンタルサーバへの設置の難しさがあって、MTがWordPressに抜かれて、XOOPSとかPukiWikiとかフリーのウェブアプリってPHPの一人勝ちになった。
Perlが使われるのは未だにKENTのCGIとか。
そういう反省があって、今のPerl界でMENTAとかの設置の簡単な、標準外のモジュールに依存しないウェブフレームワークが注目されてる。
けど、結局のところ、ベストプラクティスに載ってるようなモダンなPerlを書こうと思えば、適時CPANモジュールをインストールするしかないわけで、これはPerlっていう言語の性格上どうにもならないな。
0679nobodyさん2008/11/18(火) 20:49:25ID:???
>>677
ビューがコントローラーにデータをリクエストする。を読むと、
すごいイベント駆動ぽい気がするんだけど・・・

プル型というのは、いったい何のための仕組みなんだ?
コントローラーがビューにデータを渡すのではなく、
あえてビューがコントローラーにデータをリクエストする理由が知りたい。
0680nobodyさん2008/11/18(火) 21:21:31ID:???
ページデザインだけでサイトが完結しうるところがメリットかな。
オンデマンドに必要なデータを拾いに行くので、自由度が高くなる。
ページに組み込むパーツがいかように変化してもコントローラーを
いじらなくて済むところとか。

まぁ、プッシュ型でも、ビューからコントローラーを呼べるはず。
それが特殊な時だけ利用するのか、常にそうするのかの違いだな。

CMSでイベント駆動だとプル型っぽい動きさせてるのが結構ある。
フレームワークはなんだかんだボトムアップだからプッシュ型が普通で、
それに慣れすぎてる感はある。
0681nobodyさん2008/11/18(火) 22:15:34ID:???
あとプル型はコントローラーが複数あるのも特徴とか英文Wikipediaにかいてなかったっけ

なんかフレームワークスレっぽくなってきた
0682nobodyさん2008/11/18(火) 22:23:17ID:???
英文関係無かった須磨祖
0683nobodyさん2008/11/18(火) 22:54:01ID:???
あんまり詳しくないから変なこと言ってるかもしんないけど
PHPだと複数ファイルに分けてあるものをIncludeしてくしかないわけで、
MVCはコード書く上での概念みたいな感じでPushもPullも厳密には関係ないよね?
JavaServletのforwardみたいに処理投げ渡したりとかできないよね
0684nobodyさん2008/11/18(火) 23:09:54ID:???
フレームワークが何を自動化するかって事だろ
0685nobodyさん2008/11/18(火) 23:29:54ID:???
http://ja.wikipedia.org/wiki/Apache_Tapestry

Tapestryではこんな説明だった。

> Apache Tapestryは、アクションをベースとした仕組みのApache Strutsとは競合する。
> TapestryはStrutsとは違い、コンポーネントベースであり、コード量が少なくて済む点が特徴である。
> またStrutsのようにJSPカスタムタグライブラリを覚えなおす必要がなく、
> 必ずServlet/JSPを作成しなければならないということはなく、
> Javaやネットワークの知識がないウェブデザイナーでも簡単にJava製ウェブアプリケーションを作成できるという利点がある。

アクションをベースとしたStrutsとは違うというあたりが、
なんとなくプル型が分かるような分からないような。
使ってみないと、はっきりしないかなー
0686nobodyさん2008/11/19(水) 00:16:11ID:???
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks
これ見たらpush/pullが一目瞭然。
0687nobodyさん2008/11/19(水) 00:34:10ID:???
Propelでmany-to-manyってどうやるの?
0688nobodyさん2008/11/19(水) 02:02:44ID:???
http://ja.wikipedia.org/wiki/ソフトウェアコンポーネント

ここ読んでたらなんとなく分かってきた。
MVCからVを分離して、MCを部品として考えて、
Vから複数の部品を使うってことかな。

ショッピングカートの機能をMCだけ作って、
掲示板の機能もMCだけ作って、
コントローラとのインターフェースが分かってれば、
ビューでうまいことやるだけで、掲示板が組み込まれたECサイトの出来上がり。

語弊を恐れずに、俺の想像をざっくりと書いてみた。
//最近のブラウザはURLエンコードしてくれないのね。
0689nobodyさん2008/11/19(水) 02:09:05ID:???
普通にwikipedia読めば分かるじゃん
0690nobodyさん2008/11/19(水) 02:12:01ID:???
どのページ?
0691nobodyさん2008/11/19(水) 03:03:05ID:???
>>688
そう
Vからプルするから主はV。結果、Vのみさわるデザイナーが使いやすいものとなる。
0692nobodyさん2008/11/21(金) 13:07:50ID:???
ちんぽプルプルですね
わかります
0693nobodyさん2008/11/21(金) 15:29:21ID:???
ですね分かりますは終了したってどっかに書いてあったよ
0694nobodyさん2008/11/21(金) 15:35:48ID:???
どっかで終了宣言したら終わりなんですね
分かります
0695nobodyさん2008/11/22(土) 10:57:11ID:enBp98lH
グレイトなMVCフレームワークないかい?
0696nobodyさん2008/11/22(土) 11:55:27ID:???
あったら困らん
0697nobodyさん2008/11/22(土) 13:29:05ID:???
ZF出たね
0698nobodyさん2008/11/23(日) 02:16:27ID:???
yii使ってみた人いる?
0699nobodyさん2008/11/23(日) 20:39:26ID:???
symfonyとcakePHPってどっちがいいの?
ユーザーは常時アクセス百人ぐらいを想定してます。
0700nobodyさん2008/11/23(日) 20:41:14ID:???
そのレベルではどっちでも大して変わらんかと
0701nobodyさん2008/11/23(日) 20:43:11ID:???
軽いっちゃあcakePHPだろうね。機能的にはsymfonyかね。
まぁそれぐらいの人数じゃ負荷は別に別に気にしなくてもいいと思うけどね。
0702nobodyさん2008/11/23(日) 20:54:39ID:???
>>700>>701
回答ありがとうございます。
学習コストはどっちが大きいのかな?
symfonyの方が難しい?
0703nobodyさん2008/11/23(日) 22:07:52ID:???
やりたいことにもよるだろ。
ドキュメントぐらい見ろや。
0704nobodyさん2008/11/23(日) 23:03:02ID:???
自分でちょっとした軽いサイトを作りたいなてとき
CakePHPがよい
どういうサイトが当たるかわかんないから
とにかく当たりそうなサイトを片っ端から量産したいときにはCakePHPがいい
大企業からマジ受けするならsymfonyかな
そんな大企業を相手できない俺は小回りが利いて時代にニーズにいち早く対応できるCakePHPが一番好きだ
0705nobodyさん2008/11/23(日) 23:03:07ID:I/SHm+AO
Cakeの方がインストール簡単
0706nobodyさん2008/11/23(日) 23:06:24ID:???
CakePHPみたいに作りたいなと思ったサイトをサクッと作れる快感がたまらん
時代の流れの速いIT業界にあってるよ
0707nobodyさん2008/11/24(月) 00:43:30ID:???
おれはSymfonyの方がよりオブジェクト指向な分使いやすいな
ドキュメントもしっかりしてるし
0708nobodyさん2008/11/24(月) 01:31:16ID:???
その二つのどっちかが今の主流なのかな
0709nobodyさん2008/11/24(月) 01:58:00ID:???
今の日本での主流はcake。
php6の後も稼動し続ける予定ならZFが無難。

http://www.google.com/trends?q=cakephp%2CZend+framework%2Csymfony%2Ccodeigniter%2Cethna&ctab=0&geo=all&date=all&sort=0

検索数だからあてにならないかもしれないけど
日本語圏はcakeを世界で2番目に使ってるっぽいぞ。
つーか、地域だと目黒区が1位だけどお前ら寄付とかしてんの?w
0710nobodyさん2008/11/24(月) 02:07:28ID:???
インドネシア語が一位って。。
それ眉唾すぎないか
0711nobodyさん2008/11/24(月) 02:19:05ID:???
ZFだけはないわ
cakeはドジでのろまな亀しか使ってないし
普通はsymfonyだろうな
0712nobodyさん2008/11/24(月) 02:34:38ID:???
ちょろっとしか見なかったらなぜZFがあんな駄目駄目言われるかわからん。

みんな言うからきっとそうなんだろう。
0713nobodyさん2008/11/24(月) 09:30:25ID:???
俺フレームワークの基礎にするには、別にZFは悪くない
symfonyは知らんが、cakeとかCIとかのように、「こう書けばすぐアプリ」っていう
がっちがちの枠を、ZFでは用意していないだけ。
0714nobodyさん2008/11/24(月) 10:58:13ID:???
PEARみたいなライブラリということか
0715nobodyさん2008/11/24(月) 12:21:02ID:???
密であるが疎にはできないものと
密にも疎にもできるもののどちらがいいかっていったら
そりゃ後者だわな
0716nobodyさん2008/11/24(月) 13:41:57ID:???
そこら辺の凡人PGがPHP4時代に書いたど腐れライブラリなんかは、
全部ZFに置き換えてもいいくらいだと思うよ
なんつーの? 割り切り仕様というか内部諒解仕様というか、そういった
よくわからん決め打ち系の記述は(マルチバイト関連を除けば)非常に少なく、
かなり汎用的に作られてるっぽい。
例外処理だけ、ZF流儀にあわせればあとはどう使おうと自由って感じで。
0717nobodyさん2008/11/24(月) 18:12:50ID:???
>>713
> がっちがちの枠を、ZFでは用意していないだけ。

がっちがちの枠(フレーム)を用意するのが
フレームワークだと思うんだがねぇ。
0718nobodyさん2008/11/24(月) 18:28:09ID:???
メリットもあるが色々弊害もあるのだよ、僕
0719nobodyさん2008/11/24(月) 18:35:08ID:???
それはフレームワークでなくて別って意味でしょう。
ZFは自由に使えって言うけどライブラリとの違いが分からない。
そして、結局ライブラリを細切れに使うのと手間が一緒の気がするんだけど。
それ以上のメリットがあるのか良く分からない。
0720nobodyさん2008/11/24(月) 18:43:34ID:???
>>719
具体的にそれでどんな悪い点が?
0721nobodyさん2008/11/24(月) 18:51:52ID:???
>>719
使ってみればわかるが、ZFにフレームはある。
ただ、それは固定されたフレームではなくて、設計者が自由に拡張可能なフレームだ
設計を行わない人にとっては無用の長物。メリットだってわからない。
0722nobodyさん2008/11/24(月) 20:20:21ID:???
決め打ちでしかプログラミングできない低脳にはおすすめできないってこった
07237192008/11/24(月) 20:59:56ID:???
>>720
あえて言えばメリットが見つからないというのが悪い点かと

>>721
使い込んでみないと分からないって事でしょうか。
もうちょっと機会があれば研究してみたいとは思います。

>>722
なるほどそうですかw
0724nobodyさん2008/11/24(月) 22:26:16ID:???
Eclipseでsymfonyフレームワーク使ってプログラミングしたいんだけど、可能?
0725nobodyさん2008/11/24(月) 23:50:06ID:???
どういう意味かはっきり書かないと答えようがない。
Eclipseはエディタだからそりゃ可能だ。
0726nobodyさん2008/11/25(火) 05:20:59ID:???
PDTで書けるかって意味ぢゃね?
ethnaとかちょっと微妙だから。

symofnyは大丈夫だけど、少しコツがいる。
けど、なんか安定しないんだよなぁ。もう1.2の声が聞こえてくるし。またコンバート作業必要なんでしょ?
> 1.1→1.2
0727nobodyさん2008/11/25(火) 15:20:48ID:???
微妙って意味がわからんのだが
htmlまわりの話か?
0728nobodyさん2008/11/25(火) 15:32:12ID:???
最近は知らんけど、1年くらい前の状況だと、
Ethnaの構造ではPDTでは補完が働かなかったな。
あとコマンドラインでアクションやビューやテンプレートが生成されるので、
いちいちプロジェクトを更新するのが面倒だった。

ファイルの追加がPDT外で行われて、PDTの補完も働かないんじゃ、
わざわざ重たいPDTを使うメリットがないと思った。

symfonyは使ってないからしらね。
0729nobodyさん2008/11/25(火) 15:43:10ID:???
プロジェクトの更新なんてF5一発でいいのでは。
そんなこと言ってたらSVNでの頻繁な更新なんてできないじゃないかw
補完もどのみち最初から微妙っちゃ微妙だし。
少なくともPCパワーさえある程度あれば、テキストエディタよりは便利だと思う
まあやりやすいようにやればいいんだけど
0730nobodyさん2008/11/25(火) 15:51:45ID:???
俺の場合、PDTに感じる価値がちょうどプロジェクトの管理と補完だからな。
逆にエディタとして見ると融通が利かない駄目なやつと思っている。
最近は出来るようになったけど、全角スペースをマーク表示させたり出来なかったとか、
後は覚えてないけど細かいところでたまにイラっとする。
だから俺は、プロジェクト管理と補完のために使ってるようなもんだ。
0731nobodyさん2008/11/25(火) 16:09:13ID:???
一応、Eclipseの特徴として on the fly な構文チェックってのはあるけどね。
しょうもないparse errorとか、未定義変数とか示してくれるのは、非常に効率アップしてくれる
自分が注意力散漫だけかもしれんけどw
他のエディタでもこの機能はあるのかな?
0732nobodyさん2008/11/25(火) 16:32:01ID:???
PDTにsymfony用のプラグインってあるよね
使ったことはないけど
0733nobodyさん2008/11/25(火) 16:38:15ID:???
http://www.symfony-framework.com/2007/12/10/best-symfony-ide-eclipse-pdt-symfoclipse-clay/
http://noy.cc/symfoclipse/index.html
Symfoclipseつーやつかな?
0734nobodyさん2008/11/25(火) 16:54:55ID:???
てか、Eclipse使ってる人はPDTが多いのか。
なぜか理由は忘れたが、PHPEclipseの方を使ってる俺は異端?
0735nobodyさん2008/11/25(火) 17:45:10ID:???
オレなんて未だにTruStudioなんだぜ、自宅は
さすがに会社はPDTに乗り換えたが、自宅じゃ
めんどくせーからこのまんまでいいやみたいな
0736nobodyさん2008/11/25(火) 22:37:49ID:???
>>727
スケルトンが拡張子が.phpだから(かつ中身がphpじゃないから)PDTだとずっと構文エラーになる。
拡張子ハードコーディングしてあるから直せん>ethna
0737nobodyさん2008/11/26(水) 01:42:35ID:???
PDTならZSの方がインスコも楽だしアナライザーもはいる。
無料でよろし。お薦めする。
0738nobodyさん2008/11/26(水) 05:16:43ID:???
Zend Studio? 無料?
0739nobodyさん2008/11/26(水) 08:31:02ID:???
そう。ZSは試用期間が終わるとPDTとほぼ同様になる。
尚日本語版は勧めない。日本語化したければPDTと同じようにする。
0740nobodyさん2008/11/26(水) 21:22:21ID:???
>>736
うそ
ethnaって .php -> .html とかに変えられないの?
ダメだそりゃ
0741nobodyさん2008/11/27(木) 02:26:51ID:???
>>740
スケルトンがな。
ルーティングなんていくらでも変えられる。

しかし、スケルトンもEthnaのデフォを削除しちゃって、自分Appのは
Handlerを定義しちゃえばいけるんじゃね?そんな手間でもないと思うが。
0742nobodyさん2008/12/01(月) 22:29:43ID:XLqJXNnh
http://www.yiiframework.com/performance/

Yii  178
CakePHP 170
CodeIgniter 131
Prado 53
Zend 51
Symfony 36

数字はRequest Per Second
0743nobodyさん2008/12/01(月) 22:39:29ID:???
いいねいいね
今度使ってみるか
0744nobodyさん2008/12/01(月) 23:19:54ID:XLqJXNnh
こういうhello worldにベンチってどんくらい意味あんのかとか思ってたけど
そのページに書いてあるようにあくまでRPSの上限を計るベンチで(これ以上の値は出ない)、
ajaxとかhtmlレンダリングない場合もあるしでやっぱり価値はある。
0745nobodyさん2008/12/01(月) 23:27:25ID:???
そのベンチ、Yiiだけecho 'Hello World';になってて
他のがdie('Hello World');になってるのは何で?

まあ大抵のベンチは信用出来ないのは知ってるけども。
0746nobodyさん2008/12/01(月) 23:48:49ID:???
dieの方が速いけどw
0747nobodyさん2008/12/02(火) 01:49:03ID:???
なんでこんな速いの?エクステンション?
0748nobodyさん2008/12/02(火) 01:54:30ID:???
http://phpimpact.wordpress.com/2008/07/02/which-php-framework-is-slower/

Baseline PHP   331.8
CodeIgniter   21.5
Zend Framework 9.2
CakePHP           3.7
0749nobodyさん2008/12/02(火) 10:55:00ID:???
ま た ベ ン チ パ フ ォ ー マ ン ス か
一応客観的っぽい比較はできるのかもしれないが、だからどうしたってんだ。
ってまだ誰も、使うどころか中を見てもないんだろうけどw
0750nobodyさん2008/12/02(火) 11:15:02ID:???
>>749がコードを読んでパフォーマンスについての詳細な報告をしてくれるそうです
0751nobodyさん2008/12/02(火) 11:40:29ID:???
"Yii is a high-performance component-based PHP framework for developing large-scale Web applications."
コンポーネント指向?ってどんな感じのを言うの?
0752nobodyさん2008/12/02(火) 14:42:18ID:???
また新しいFWが登場したの?
みなさんのレポ(人柱)に期待w
0753nobodyさん2008/12/02(火) 15:26:34ID:???
G5の方がインテルより速いといい張ってた企業があったしな・・
ベンチマークなんて所詮うんちマークです
それが偉い人には分からんのです
0754nobodyさん2008/12/02(火) 15:28:13ID:???
ボトルネックはDBまわりだったりするしな
0755nobodyさん2008/12/02(火) 17:30:38ID:???
>>751
サービス指向と一緒にググるとよくわかる多分
0756nobodyさん2008/12/02(火) 19:21:20ID:???
helloのベンチなんて高機能FWが不利に決まってるジャマイカ
0757nobodyさん2008/12/02(火) 20:29:16ID:???
yiiって3メートル競走でフェラーリに勝ったと宣言する原付みたいだねm9(^Д^)プギャー
0758nobodyさん2008/12/02(火) 21:23:24ID:???
一応ActiveRecordやpure OOP、ドキュメントの整備なんかもウリにしてるみたい
=等の演算子にスペースをつけないとか if 〜 else で { } を省略したり ?> を書かない
スタイルだったり、ところどころに小さなこだわり(?)を感じるw
demoしか見てないけど、Controllerの記述なんかはシンプルでいい感じ。(guessworkみたい?)
簡単なWebアプリなら、ドキュメント読まなくても何とかなるかな?
0759nobodyさん2008/12/02(火) 21:47:13ID:???
ベンチって脊髄反射で熱くなるやつ多いよな
CakePHPのフォーラムとか
0760nobodyさん2008/12/02(火) 21:58:40ID:???
>?> を書かない
これは当たり前だろ…
むしろ書く方がアホ
0761nobodyさん2008/12/02(火) 22:06:13ID:???
>>759
> ベンチって脊髄反射で熱くなるやつ多いよな

ベンチに問題があることが多いからな。
0762nobodyさん2008/12/02(火) 22:16:29ID:FW3sGcTR
まあ、symfonyは重すぎるな。
0763nobodyさん2008/12/02(火) 22:27:41ID:???
>>749,753,754,756,757
I can hear the objections now:

    * “Not realistic!”
    * “Not comprehensive!”
    * “Doesn’t account for features that I like!”
    * “Who cares, I don’t need that level of responsiveness!”
    * “Doesn’t matter if Framework X is slower, I’m more productive with it!”

Yes, yes, you’re all correct. ┐(´ー`)┌
http://paul-m-jones.com/blog/?p=236
0764nobodyさん2008/12/02(火) 22:49:14ID:???
>>760
決めつける奴も(ry

------------------------------------
<?php
echo "hello\n";
------------------------------------

↑こういうの、気持ち悪くないか?そういう感覚を大事にしてる人間も結構な割合でいるぞ。
0765nobodyさん2008/12/02(火) 22:56:45ID:???
>>764
それでいくと\nが気持ち悪い。ちゃんと書こうよ。
0766nobodyさん2008/12/02(火) 23:11:14ID:???
ん?こうかな?

#!/usr/bin/php
<?php
echo "hello.\n";
0767nobodyさん2008/12/02(火) 23:13:51ID:???
>>766
そのOS依存文字〜!
\nだよ\n!!!
0768nobodyさん2008/12/02(火) 23:13:52ID:???
凄いな・・・理解して書いてないよな。
■ このスレッドは過去ログ倉庫に格納されています