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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/08/24(日) 21:43:37ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1202521438/
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:???
凄いな・・・理解して書いてないよな。
0769nobodyさん2008/12/02(火) 23:15:23ID:???
どっちも痛いけど>>767が果てしなく痛い
0770nobodyさん2008/12/02(火) 23:16:48ID:???
>>769
ホットケ
0771nobodyさん2008/12/02(火) 23:19:22ID:???
>>766でOSの違いを吸収したつもりだったけど・・・OSXなんてしらね orz
PHP_EOLってのでいいのか
0772nobodyさん2008/12/02(火) 23:26:39ID:???
>>771
Windowsはいいの?
http://side-b.sto.co.jp/weblog/archives/287
0773nobodyさん2008/12/02(火) 23:29:12ID:???
さすがPerlなんともないぜ
0774nobodyさん2008/12/02(火) 23:37:58ID:???
>>772
cygwinとかもしらね orz
(でもそれはLFでいいような気もする)
0775nobodyさん2008/12/02(火) 23:52:13ID:???
VBですら定数あったな
0776nobodyさん2008/12/02(火) 23:52:55ID:???
PHP_EOLはstr_replace(PHP_EOL,'<br />',$str)みたいな使い方するもんだろ。

PHP_EOLを出力に使うなよ。
PHPから抜け出して改行打った場合に、実行するOSによって
改行がバラけるだろ。
0777nobodyさん2008/12/02(火) 23:55:24ID:???
タブやらヌルが一種類で本当によかったよな
0778nobodyさん2008/12/02(火) 23:56:39ID:???
新説ktkr
0779nobodyさん2008/12/03(水) 00:08:32ID:???
サーバのOSでの改行コードだから、両方関係ないだろ。

hello worldでPHP_EOL
見てる人のOSで改行されるとは限らない。
スクリプトで使ってる改行が実行サーバの改行コードと同じとは限らない。

str_replaceでPHP_EOL
見てる人のOSの改行コードがサーバと同じとは限らない。
0780nobodyさん2008/12/03(水) 00:20:28ID:???
・・・見てる人?べつにブラウザ相手限定の話ではないとおもったが。
「スクリプトで使ってる改行」はPHPがなんか吸収してくれてるっぽいけどな。
LFでもCRLFでも動く。CRのみは知らないけどw
Perl CGI から移って最初のカルチャーショックはそれ。普通にLinuxマシンに
CRLFでアップロードしてるんじゃねーよって。
だから >>773 には半分だけ同意w

>>776は新説。展開に期待しよう。

ブラウザがどの文字コードでどの改行コードでフォームデータを送ってくるか、
その辺もそろそろ定義および実装してほしいもんだ。
現状、なんとなく、UTF-8のページからは(ユーザの悪意がなければ)UTF-8で
飛んでくることを期待して作ってしまうんだが大丈夫なのかな・・・。
改行コードは仕方ないから変換するけど。

スレ違いスマソ
0781nobodyさん2008/12/03(水) 00:23:14ID:???
Perlだったらjcode.plとかJcode.pmとかEncodeとかあるだろうよ。
0782nobodyさん2008/12/03(水) 00:25:19ID:???
guess して不明なら全部はねる?
まあそういう作り方もあるだろうけどね
0783nobodyさん2008/12/03(水) 00:53:25ID:???
文字コードは、RFCでサーバが出力した文字コード以外でPOSTしても
違反ではない事になってるんだな。

accept-charsetっていうのもあるけど、対応して無いブラウザもある。

被ってる領域内の文字しか無かったら判別は不可能なのにね。

実際は大抵のブラウザはヘッダの指定と同じ文字コード送ってくれるし
mb_conbertとかで優先順の1位を出力にあわせればまず平気だけども
イレギュラーなブラウザは存在する。

あとはhiddenで文字コード判別出来る文字列送るって方法もある。

英語圏なら全てctypeでOKなのにな。

RFCもブラウザ作ってる奴も文字コード増やしてる奴も爆発しろ。
0784nobodyさん2008/12/03(水) 00:57:25ID:???
イレギュラーなブラウザなんて少ないんだからそこらへんは趣味じゃない
0785nobodyさん2008/12/03(水) 03:25:54ID:???
でも、何となくいけてるだけっていうのに違いはないんだよね
まあ判別して不明なら受け入れるっていうのが慎重かつ幅広い対応なんだろうな

んで、Yiiはどこに行ったんだ。実は少し期待してるんだけど。
0786nobodyさん2008/12/03(水) 05:58:13ID:???
結局はちいたんで(ry
0787nobodyさん2008/12/03(水) 10:22:38ID:???
>>763
symfonyは他のに比べて読み込むファイルが多すぎなんだよな。
0788nobodyさん2008/12/03(水) 11:40:40ID:???
PHPFWの色々な比較みたいなのやってるサイトとかないかねぇ
0789nobodyさん2008/12/03(水) 13:57:38ID:???
>>788
なんの比較?
0790nobodyさん2008/12/04(木) 03:32:23ID:???
>>763
このソラーって奴はどうなん?
使ってる人いないの?
0791nobodyさん2008/12/04(木) 03:38:13ID:???
symfonyみたいに、自作クラスをどこにでも置ける機能を実装したFWって
他にない?
0792nobodyさん2008/12/04(木) 09:03:19ID:???
>>790
コーディングのお手本に使ってる
0793nobodyさん2008/12/04(木) 09:33:58ID:???
蒼井ソラー
0794nobodyさん2008/12/04(木) 14:09:20ID:???
>>791
kwsk
0795nobodyさん2008/12/04(木) 17:07:38ID:???
俺のソラー
0796nobodyさん2008/12/04(木) 17:17:08ID:???
>>794
symfonyはクラスをプロジェクト配下のどのファイルの中に置いていても、
勝手に検索してサーチパスを組み立ててくれるから
固定的な命名規則に気を遣う必要がない
0797nobodyさん2008/12/04(木) 20:05:14ID:???
そういうことやってるから、重くなるんだよな。
0798nobodyさん2008/12/04(木) 20:56:51ID:???
全ファイルrequireするってこと?
ものすごく愚かっぽいんだが
0799nobodyさん2008/12/04(木) 21:20:32ID:???
 sfCoreAutoload.class.php

class sfCoreAutoload
 protected $classes = array (
  'sfAction' => 'action',
  'sfActionStack' => 'action',
  'sfActionStackEntry' => 'action',
  'sfActions' => 'action',
  'sfComponent' => 'action',
  'sfComponents' => 'action',

こんなんが延々と350行もあんだぜ。
autoloaderのクラスファイルだけで3つもあるし

んで肝心のファイル読み込みは

 require($this->classes[$class]);
とか
 require($this->classes[$module.'/'.$class]);

だったら普通にPEAR/Zend/Solar系の命名規則の方がいいと思う。
0800nobodyさん2008/12/04(木) 23:53:26ID:???
>>791
だいたい、仮にもフレームワークを使っていて、外部クラスを『どこにでも』置きたいとか思わない。
そういったもの(基本拡張やvendor等外部ライブラリ)が考慮されていない糞FWは別なのかな?
0801nobodyさん2008/12/05(金) 03:23:55ID:???
>>798
クラスとファイルパスのマッピング情報はキャッシュされる
全ファイルrequireするわけではない
0802nobodyさん2008/12/05(金) 15:23:38ID:???
それでも最低40ファイル読み込まれるわけだ
0803nobodyさん2008/12/05(金) 18:19:40ID:???
APC使ったらファイル数そんなに関係なくね
0804nobodyさん2008/12/05(金) 20:37:02ID:???
>>350
コンパイルID指定すればOK
http://www.smarty.net/manual/ja/api.fetch.php
08058042008/12/05(金) 20:38:34ID:???
誤爆した
0806nobodyさん2008/12/05(金) 22:43:06ID:???
>>803
ましにはなるけどやっぱり遅い。
0807nobodyさん2008/12/06(土) 01:54:13ID:???
symfony遅いって言ってるのはレンタル鯖使ってるようなD級プログラマだろ?
0808nobodyさん2008/12/06(土) 01:58:14ID:???
負荷について考えずに済むなんてどんだけ小さなシステム運用してんだよ
0809nobodyさん2008/12/06(土) 02:18:52ID:???
いいぞもっとやれ
■ このスレッドは過去ログ倉庫に格納されています