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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2008/08/24(日) 21:43:37ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1202521438/
0237nobodyさん2008/10/20(月) 21:10:52ID:Kq4igHV+
>>236
でもそれも機能たいしてなくないか?
CakePHPみたいに同一ページの複数モデルに対応してないでしょ?

っていうか、ページネーションって掲示板ですら絶対に必要になる機能なのに
なんで標準で付けないんだろ
0238nobodyさん2008/10/20(月) 21:57:19ID:???
>>237
最適化が難しいから。

一度でもページネイションの機能を作ったことがあればわかると思うが、
DBから全データ読み込んでから絞り込むのか、検索条件を考慮したデータを
取得しておいてからそれを絞り込むのか、なんだかんだ。

基本的に、データの「件数」がわからないとページング出来ない。
(それを無視してやるページングもあるが。)

どうせライトユーザ向けには、DBやらと連携したページングを求め
られるんだから、「始めからつけてない」は、ある意味賢明な選択だよ。

・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
0239nobodyさん2008/10/20(月) 22:10:00ID:Kq4igHV+
>>238
いや俺もたいしたやつじゃないけど作ったことあるし、
CakePHPのソースを解析したりしてみたけど、
そんなに難しくはないと思うけどな(だったらそれ使えばいいじゃんと言われるかもしれないが・・・)

>基本的に、データの「件数」がわからないとページング出来ない。
これは渡せばいいだけ
0240nobodyさん2008/10/20(月) 22:21:43ID:???
>>239
うん。だから、>>238の二行目
>最適化が難しいから
と、最終行
>・・・↑が不満なら、PEARとか使えばいいじゃん、全く。
が、結論なんだけどなw

「フレームワークに標準で付いていない」ってのが問題じゃ無かったのか?
0241nobodyさん2008/10/20(月) 22:31:39ID:Kq4igHV+
>>240
PEARは使いたくない

まあ、付いてないことがはっきり分かったからもういいです
0242nobodyさん2008/10/20(月) 23:11:01ID:???
paginationはZendなら標準で付いてる
しかも色んな状況に対応できる
さあ、ZFを使おう!
0243nobodyさん2008/10/20(月) 23:27:07ID:Kq4igHV+
まあそれが普通だよな
0244nobodyさん2008/10/20(月) 23:34:15ID:???
>基本的に、データの「件数」がわからないとページング出来ない。
CakePHPはよくできてる。
データの件数ってのは、データ用のSQL文のうち条件は同じでselectするものが、
フィールド名の変わりにcount(*)になっただけ。

そこの部分(フィールド名の変わりにcount(*))への変換を
自動でやってくれるから、データ用のSQLに相当する部分のみを書けばいい。
また、データ用のSQLにlimitを主導で追加する必要もない。これも自動で追加される。

つまり、「データを取ってくるSQL」を書いて「ペジネーション」処理を使うだけで内部的に、
「データを取ってくるSQL」には、自動的にlimitが追加されて発行され
「データを取ってくるSQL」には、自動的に件数を取得するcountに変更される。(当たり前だがこっちにはlimitはつかない)
(もちろんSQL直書きではなくモデルの操作だが)

最適化って話なら、データ件数を取得する関数をオーバーライドできる。(上のやつはデフォルト動作)
こういう目的でオーバーライドされるために存在するメソッドが用意されている。
0245nobodyさん2008/10/20(月) 23:41:59ID:???
>>244
うーん。それは、例えばファイルベースのデータとかには適用できないよね。
メールボックスを漁るとか、さw
無理矢理使おうと思えば、いっぺんDBに放り込む必要がある。

そんな(SQLで全部済む)フレームワークばかりではない、っていう前提に
立てば、ページネイションの機能は汎用的なものにならざるを得ない。

データの件数と一ページ辺りの取得件数から、データ開始位置(番号)と
データ終了位置を取得する、みたいな。
SQLで言えば、OFFSET とそこからの LIMIT を取得するだけ、っていう。

んで、そんなクラスが乱立しても仕方ないので、PEARなりZendなり使えって
結論で多分無問題。
と思うんだけどなぁ
もちろん、>>244みたいな全自動?ページネイションを否定するわけではないけど。
0246nobodyさん2008/10/20(月) 23:53:02ID:???
SQLを使わないページネイションなら別にある。
0247nobodyさん2008/10/21(火) 00:20:07ID:???
mysqlならSQL_CALC_FOUND_ROWSを使いたいよね
0248nobodyさん2008/10/21(火) 00:32:46ID:???
>>247
またそんな無茶ぶりをw
フレームワークなりライブラリなり作る身になれw

まあ、そんなこと言う人は自分で作るんだろうけど
0249nobodyさん2008/10/21(火) 01:06:35ID:???
>>244
>CakePHPはよくできてる。
別にCakeだけがよくできてるわけじゃなくて、Cake以外もできてますよね?
0250nobodyさん2008/10/21(火) 03:24:50ID:???
>>247-248
ページネイションとSQLをごっちゃにしてね?
SQL_CALC_FOUND_ROWSを使った独自SQL文からのデータを、
ページネイションに渡せばいいんですよ。
0251nobodyさん2008/10/21(火) 03:26:05ID:???
>>249
symfonyにはないってことから、この話題がはじまっている。
0252nobodyさん2008/10/21(火) 03:31:10ID:???
ページネーションくらい自分で書けばいいじゃん
0253nobodyさん2008/10/21(火) 03:33:09ID:???
cakeなどという厨フレームワークを使える奴は恥知らず
それだけはガチ
0254nobodyさん2008/10/21(火) 03:36:51ID:???
>>252
だからそういう問題じゃないんだって
そんなこといったらFWも自分で書けば(ry
0255nobodyさん2008/10/21(火) 03:37:18ID:???
simplateの中の人が不治の病で引き継ぎする人募集してるね
面識ないし、simplateを使ったこともないけど泣きそうになっちゃった
0256nobodyさん2008/10/21(火) 03:39:35ID:???
てかモデルは自分で書いた方がいい
FW付属のモデルだとクラスタリング対応とかしにくいじゃん
0257nobodyさん2008/10/21(火) 03:41:23ID:???
こういうスレって必ず>>253みたいな奴が現れるよなw
0258nobodyさん2008/10/21(火) 03:42:25ID:???
>>257
恥知らず乙www
0259nobodyさん2008/10/21(火) 03:46:39ID:???
>>255
もういいんだ。PHPの世界でテンプレートはもう死んだんだ。
みなが、PHPがテンプレートそのものじゃね?と気づいた。
君の役目は終わった。
0260nobodyさん2008/10/21(火) 03:53:16ID:???
simplateの中の人はいい仕事をしている
いい仕事をしている人を愚弄するな
0261nobodyさん2008/10/21(火) 03:57:54ID:???
愚弄?
0262nobodyさん2008/10/21(火) 03:58:45ID:???
>>255
一度計ったことがあるけど
たしかに速いね

>>257
相手にしない方がいいよ
0263nobodyさん2008/10/21(火) 04:04:16ID:???
cake使いって案外多いんだなw
高カロリー低栄養のケーキ喰いすぎてメタボm9(^Д^)プギャー
0264nobodyさん2008/10/21(火) 04:39:49ID:???
>>263
後半は、なんだい? ケーキの話かい? じゃあすれ違いだねw
0265nobodyさん2008/10/21(火) 10:18:09ID:???
>>263
こいつ自分から頭悪い発言してるなw
0266nobodyさん2008/10/21(火) 15:53:57ID:???
厨フレームワークだけあって
さすがにcake厨の煽りはレベル低いねw
0267nobodyさん2008/10/21(火) 16:58:55ID:???
おまえらライスケーキでも食ってすこしもちつけ
0268nobodyさん2008/10/21(火) 17:12:18ID:???
だいたいページネーションとmodelを一緒くたにするなんて愚かすぎだろ>cake
まず汎用的な単体ページネーションクラスを書いて
それにモデルをアタッチできる継承クラス書くなり
アダプタ書くなりするのが普通です
つまりsymfonyは神、cakeはホームレス
0269nobodyさん2008/10/21(火) 18:03:54ID:???
> だいたいページネーションとmodelを一緒くたにするなんて愚かすぎだろ>cake

ページネーションがmodelと一緒くたになっていると
勘違いする人もいるんだなぁw

コントローラと一緒くたになっているというならまだしも。
(まあコントローラと一緒くたになるのは何の問題もありませんが)

いったいどこの部分を見て一緒くたといっているんだろうか。
modelから任意の範囲のデータを持ってくる機能?
これをmodelに入れないとしたらどこに入れるんだか。
0270nobodyさん2008/10/21(火) 19:56:58ID:???
まぁ、cake見たことないから憶測で言ってるだけだけどね。
cakeってPHP4/5用だっけ?
4を切り捨てずにクリーンになんて書けるわけねーし
物乞い乙ww
0271nobodyさん2008/10/21(火) 20:34:39ID:???
なんにしても厨っぽい発言していると説得力なくなるぜ
0272nobodyさん2008/10/21(火) 21:33:22ID:???
code igniterにしてもcakephpにしても
ウリだったPHP4対応が今度は足かせになります
0273nobodyさん2008/10/21(火) 23:07:36ID:???
切り捨てなかったからユーザがついたんじゃないの
0274nobodyさん2008/10/22(水) 02:03:20ID:???
つかPHP4が使えないフレームワークなんて
仕事じゃ使えません
0275nobodyさん2008/10/22(水) 02:05:32ID:???
>>274
とも限らなくなってきたな。
いつまでも古いサーバ使ってるんじゃないよー
0276nobodyさん2008/10/22(水) 02:16:16ID://oF70yn
>>275
クライアントに言ってくれよ…
verアップを勧めても、他のプログラムに不具合が出るかもしれないので
PHPのverアップはできません(^o^)
って言われるしな…
0277nobodyさん2008/10/22(水) 02:32:46ID:???
実際クリーンとかピュアとかって商売としては・・
0278nobodyさん2008/10/22(水) 05:53:06ID:???
>>274
すごいな。未だにこんな仕事してるやついるのか…
0279nobodyさん2008/10/22(水) 08:21:37ID:???
ま、今でもPHP4を指定する案件は多い。サーバ上の他のプログラムがPHP4で動いているなら、新しいプログラムもPHP4にするしかないからな。
0280nobodyさん2008/10/22(水) 08:43:18ID:???
>>279
歩のスパイラルだな
もうPHP4は絶体絶命のセキュリティ穴でも作って
使ってるサーバごとぶっ壊せばいいのに
0281nobodyさん2008/10/22(水) 13:04:41ID:???
実際PHP4はもうセキュリティFIXも出さない予定なんだろ?
といいつつこないだ出たけど。
レン鯖でPHP4と5共存してるところとかあるよね。
0282nobodyさん2008/10/22(水) 15:48:34ID:???
php4で作るならphp5より高いですよ。
とか言えばいいんじゃないのかな。
実際大変だし。
0283nobodyさん2008/10/22(水) 16:26:31ID:Skk+7Du0
>>282
じゃあ他に頼みます
0284nobodyさん2008/10/22(水) 16:29:12ID:???
こうしてダンピングも続くのであった
0285nobodyさん2008/10/22(水) 16:32:01ID:???
一度出来上がったものを新しくするのにはコストもかかるから仕方がないってのはわかるが
踏ん切りつけれないとこ(クライアント)は総じて馬鹿な奴が多いよな。不思議と。
0286nobodyさん2008/10/22(水) 16:42:21ID:???
IEも未だに6使ってるやつは馬鹿
作り手の気持ちを考えられない
0287nobodyさん2008/10/22(水) 16:46:31ID:???
>>283
それで仕事逃すなんてもったいない。
php5で作る素晴らしさを説明して、説得するんだ。
php4なら高いというのは、言い換えればphp5なら安い。
実際php5で作るよりphp4の方が工数増えない?
クライアントというより、元請からの仕事なら、しょうがないが。
0288nobodyさん2008/10/22(水) 17:31:12ID:???
というか、PHP5の方がセキュリティホール見つかるの多いし。
0289nobodyさん2008/10/22(水) 17:50:12ID:???
>>287
クライアント「で、PHP5で作ったらいくら安くなるの?」
0290nobodyさん2008/10/22(水) 18:01:25ID:???
PHP5%引き
0291nobodyさん2008/10/22(水) 18:28:36ID:???
>>290
普及率かな?それなら合理的かな
0292nobodyさん2008/10/22(水) 18:29:23ID:???
PHP5用に別鯖立てればいいじゃん
今から作るのにPHP4なんていくらなんでもあほすぎだよ
0293nobodyさん2008/10/22(水) 18:46:54ID:???
将来的に何れ変更が必要になるわけで、今がチャンスですよと押し込む材料は十分あるしなw
0294nobodyさん2008/10/22(水) 19:02:07ID:???
>>286
作り手の気持ちなんて考えるユーザやクライアントなんてほぼ皆無だと思うけど
0295nobodyさん2008/10/22(水) 22:23:46ID:???
>>294
それを工数・予算に絡めて喋るのがいい営業・・・ってのは夢かなー(棒読み)
0296nobodyさん2008/10/23(木) 00:13:27ID:???
>>292
確かに、今から作るならPHP5だね。
まっさらな新規案件なのにPHP4でっていうのは、
PHP4に慣れて自分のライブラリとかをPHP5で使えるようにしない技術者の怠慢。

ただ、PHP5だからって工数が圧倒的に圧縮できる訳じゃない。
そういう意味では、既存でPHP4で走ってるのの改良はかなりつらい。
0297nobodyさん2008/10/23(木) 01:19:05ID:???
>>296
>PHP4に慣れて自分のライブラリとかをPHP5で使えるようにしない技術者の怠慢。
ちょっと違う。

使えるようにできない、ていうか、(できないことはまずないから)、できるかどうかすら
わからない、技術者の怠慢「と無能」

が正しいように思ってる。まあこんな事は職場では言いたくないけど。
0298nobodyさん2008/10/23(木) 01:29:54ID:???
いや、クラの我儘だろ
0299nobodyさん2008/10/23(木) 01:34:26ID:???
>>298
それすら、怠慢(自分の仕事を楽により良くする努力を怠っているという意味で)、
っていう次元ですよ。
「新規案件でPHP4」っていうお話はね。

既存スクリプトの保守案件はまた別と理解してます。
あと、教育コストが云々は認めません。少なくとも、俺がチーフ(笑)なら。
0300nobodyさん2008/10/23(木) 08:08:47ID:???
PHP4もPHP5も使う立場ではほとんど変わらないから。PHP5がE_STRICTを強制するとかっていうなら、PHP5の方が難易度高くなるけど。
0301nobodyさん2008/10/23(木) 12:08:45ID:yerXAIOJ
おいおい
サポート切れてるPHP4つかうなよ
0302nobodyさん2008/10/23(木) 12:21:21ID:???
> PHP5がE_STRICTを強制するとかっていうなら、PHP5の方が難易度高くなるけど。

E_STRICT強制で難易度高くなるってなんだそりゃ?w

警告をプログラムを完成させるまでの試練と考えているのかな?

俺にとっては、警告はプログラムを完成させるまでの
サポートだと思うんだが。

つまり、E_STRICTを強制されたほうが逆に難易度は低くなると感じる。
間違ったコード、良くないコード、そういったものを排除できるからね。
0303nobodyさん2008/10/23(木) 12:24:37ID:???
致命的な不具合が見つかっても対応されない可能性が高いPHP4なんて
早く切り捨てるべきと説き伏せろ!

あれ、ここ何スレ?
0304nobodyさん2008/10/23(木) 12:25:03ID:???
E_STRICTは正直うざいけどね
出すにしても、別にログを取りたくなるくらい

一方、E_NOTICEはデフォルトでONでもいいと思うんだ
この辺のバランスがなあ
0305nobodyさん2008/10/23(木) 12:30:37ID:???
E_STRICTで出るエラーなんて潰していくのは基本だろ・・・
どんだけいい加減なもの作ってるんだ
0306nobodyさん2008/10/23(木) 13:31:17ID:???
>>305
Java大好き志向でのコーディングかな?
まるまる新規コーディングじゃないとNon-static method 〜〜 とか、
出まくって修正も大変だと思うんだが。

「基本」は言い過ぎだし、頭でっかち感が否めない
いまだにnoticeすら無視されまくってる現状で
0307nobodyさん2008/10/23(木) 13:42:27ID:???
保守案件はE_STRICT云々以前に、いろいろと大変なこと多いからな。
少なけりゃつぶすけど、多かったら放置にはなるね。
新規案件なら、E_STRICTなんてたまにしか出てこない。
たまにだから、出たらつぶすよ。
てかE_NOTICEもそんな頻繁に出ないような。
どっちかというと、Pear使っていい案件の時、Pear内に沢山あって
ゲンナリすることの方が多いなぁ。
0308nobodyさん2008/10/23(木) 15:10:38ID:???
まあ、どっちみちPHPの場合、おおざっぱな警告メッセージとか変数のスコープなんで、あまり役に立たないと言えば立たないが。
それでも、下手なプログラムを排除できるというメリットはある。E_STRICTをオンにしたら、エラーばっか出て実装が進めないPHPプログラマーは多数いるだろう。
0309nobodyさん2008/10/23(木) 16:06:40ID:???
> エラーばっか出て実装が進めないPHPプログラマーは多数いるだろう。

それはお前だけw
0310nobodyさん2008/10/23(木) 16:58:02ID:???
E_STRICTうざいってどんだけー
0311nobodyさん2008/10/23(木) 18:45:04ID:???
>>309
PHPプログラマーのレベルなんて、そんなもんだから。
0312nobodyさん2008/10/23(木) 19:04:58ID:???
>>311
だからそれはお前だけw
0313そこそこ初心者2008/10/23(木) 21:41:05ID:???
Cake←何て読むの?フレームワークはどこでダウンロードできますか?
なかなかダウンロードページにたどり着けません…
0314nobodyさん2008/10/23(木) 21:41:33ID:???
終わってる
0315nobodyさん2008/10/23(木) 22:04:30ID:???
>>312
類は友を呼ぶっていうだろ。
>>311の周りにはそういうゴミみたいな連中が沢山いるんだよ。
底辺の環境で仕事してる証拠。
0316nobodyさん2008/10/23(木) 22:05:17ID:???
http://www.phppro.jp/news/568
いまだに一番使われてるフレームワークはMojavi
0317nobodyさん2008/10/24(金) 03:28:29ID:???
>>316
その言い方には語弊があるようなw
「現状使用したことがあるフレームワーク」という質問だから、今使用しているとは限らないと思うが
0318nobodyさん2008/10/24(金) 08:18:02ID:???
ウェブフレームワークの使用経験があるのが70%、そのトップがMojavi。
しかも、PHPカンファレンス2008に参加したという、技術に関心の高いPHPプログラマーが対象のアンケートでこの有様。
0319nobodyさん2008/10/24(金) 09:01:16ID:???
この間面接受けてきた会社
フレームワークは重くなる遅くなるから使いません!言ってたな
提供サービスを全部新しく作り直すらしいけど、次はJavaでもPHPでもなく、Rubyだ!
とか言ってた。でもRails遅過ぎるから速度が必要なとこだけFWなしのPHPだとかなんとか…

大丈夫か…w
0320nobodyさん2008/10/24(金) 09:09:26ID:???
フレームワークは重くなるとか言ってるようなアホ会社は
無駄なコード書いて死んだらええねん
0321nobodyさん2008/10/24(金) 09:42:46ID:???
DRYなコードを書けば自ずとフレームワークに近くなるしなw
てか速度が必要なとこだけphpという選択はどうなの?何でphpなの?
0322nobodyさん2008/10/24(金) 11:41:32ID:???
1つのファイルで完結できるから、とかいう意味じゃね?
0323nobodyさん2008/10/24(金) 11:47:54ID:???
FastCGIとかMongrelとか調べたくも覚えたくもない、
とかいう意味かもね?
調べた上で使えねえ、って言ってるのかもしれんが
0324nobodyさん2008/10/24(金) 12:30:23ID:???
自分仕事で開発とかやったことないような超ド素人だから、
そうなのかーってちょっと思わされかけてたけど、やっぱおかしいよねこれw

ちなみに、規模や今後の事なんかも考えると、Javaとかを選択したほうが
いいんじゃないかとかをきいてみたら、Javaは遅いし、もう古いとか言われてさ
さすがにその見解はちょっとどうなのって思っちゃったw

フレームワークを使わず自分でコード書くことは(勉強としては)すごく重要だと思うし
自社開発の会社だから、社員の成長のためにいろいろやらせたい、って感じな部分も
あるのかもしれないけど、メインの仕事で車輪の再発明みたいな事繰り返して
無駄な工数増やすのは間違ってると思ったw
0325nobodyさん2008/10/24(金) 12:37:16ID:???
>>324
「Javaは遅いし」
ちょっと待てw
うーん。こういう面接(下手したら社長とか)も、あるあるwとしか言えない
0326nobodyさん2008/10/24(金) 12:47:42ID:???
確かに昔はVMとかすげー重くてもっさりって感じで、アプレットとかうぜぇって思ったりしてたけど
まさかJava=アプレットとしか知らなかったりしてナw
0327nobodyさん2008/10/24(金) 13:27:47ID:???
「Javaは(開発速度が)遅いし」とかじゃ
0328nobodyさん2008/10/24(金) 14:05:30ID:???
Javaはもう古いには同意するな。
元々Javaをやってる会社なら別だけど、今選択するならJavaは古いと思う。

あと既存のフレームワークを使わないで、自社で作るという選択肢はありだと思う。
既存のものは何かと合わなかったりするし、フレームワークが無いと開発できません。
は困るし。
自社のフレームワークもありません。
だと困るがw
0329nobodyさん2008/10/24(金) 14:15:28ID:???
>>328
代替物が無い状況では、古いってのは意味がない
なんでまだC言語で開発が行われてるのかと

PHPやRubyがJavaを完全に代替できる筈もないし、
目指してもないだろ。
文脈無しでJavaが古い、はナンセンスだと思うよ
0330nobodyさん2008/10/24(金) 14:24:54ID:???
それ以前に、PHPのスレで「Javaは古い」っていうのは笑止千万なようなw
0331nobodyさん2008/10/24(金) 14:59:36ID:???
>>329
いやさ、これから会社が新たな「開発言語に取り組む!」って時に、
何の言語か聞いてみたら、
「これからはJavaです!」とかいってたら、
「いまさら?」って思わないかってことなんだが。

もちろんJavaは現役で使われてる言語だとは思うよ。
俺も案件によってはphpじゃなくてJava使うし。
0332nobodyさん2008/10/24(金) 15:12:25ID:???
Java古いつってPHPやらRubyやらってのも説得力がないんだよなw
ある程度古く枯れてきてないと商用にはあまり向かないってのもあるだろうし

色々理由付けがあっての「古い」なのかも知れないから、深くは突っ込まなかったけど
なんかJavaを毛嫌いしてるって感じの印象を受けた感じだった

自社開発で提供してるサービスだったし、自社FWってのはありだと思うけど
日が建つにつれ混沌としてきて、組み込みなんかであるような
なんともドロドロした感じのものが出来そうなイメージもあるんだよなー

Web系で使う言語なんて結局は殆どが文字列操作をするためのもんだし、
自社製FWはどんなに突き詰めていっても
既存のものから使わないメゾッドとか減らしてHDDの使用量を減らしました!速度も気持ち速いです!
ってくらいの差しか出ないんじゃないかなーと

…と、スレチっぽい話題振ってスマソw

>>331
それは言語が古いんじゃなくて、その会社の取り組みの姿勢が遅れてるって感じなんじゃw
0333nobodyさん2008/10/24(金) 15:30:39ID:???
その人の心の中ではJavaは古い物だったんだろう。
0334nobodyさん2008/10/24(金) 15:39:06ID:???
rubyに比べると新しくはないという意味なら文脈としてもおかしくはないかと。
新しいからって理由で方向を決めるのもちょっと心配になるがw
0335nobodyさん2008/10/24(金) 15:55:33ID:???
ことFWに関してはJavaはPHPに比べて圧倒的に成熟してる気がする
最近Java触り初めてSAStrutsやらS2JDBCやら使ってるけどめちゃくちゃ開発効率上がったよ・・・
俺なんかJava全然知らないのに知らなくても普通に使える。これすごいよ
0336nobodyさん2008/10/24(金) 16:24:57ID:???
PHPフレームワークは色々あるけど「これなら!」ってのがなー
■ このスレッドは過去ログ倉庫に格納されています