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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/06/09(土) 09:48:36ID:6f8TWb7Z
前スレ
【PHP】フレームワークについて語るスレ6【総合】
http://pc11.2ch.net/test/read.cgi/php/1171896620/

[PHP]フレームワークについて語るスレ5[総合]
http://pc10.2ch.net/test/read.cgi/php/1159579507/

[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/
0276nobodyさん2007/07/18(水) 11:31:24ID:???
まともにデザイナと連携して仕事したことないんだろうな
0277nobodyさん2007/07/18(水) 16:25:07ID:3R7D5ath
SmartyのかわりにPHPTALとかじゃだめなの?
0278nobodyさん2007/07/18(水) 17:49:45ID:???
デザイナーと仕事するのが偉いと勘違いしてるやつがぽつぽつ
0279nobodyさん2007/07/18(水) 18:40:20ID:???
自分が一番偉いんだと勘違いしてるやつが・・・
0280nobodyさん2007/07/18(水) 18:43:56ID:???
コーダーでPGもこなす俺が真の勝ち組。
デザイナにはデザイン画像だけ描いてもらえばおk。
HTML起こすのは自分でできるもん♪
0281nobodyさん2007/07/18(水) 18:45:26ID:sJyKZns/
全部一人でやれる奴が最強な訳で・・・
0282nobodyさん2007/07/18(水) 18:49:11ID:???
実際ヘタな紙デザイナに変なHTML書かせるより
画像だけ描いてもらってHTMLに起こすのはプログラマがやった方が
結果としてキレイなものが出来上がる気がする
0283nobodyさん2007/07/18(水) 19:17:22ID:???
ズレてきてるな
どう役割分担して連携するかって話だろ
誰が偉いとかおまえらのHTMLコーダー自慢とかはどうでもいいよ
0284nobodyさん2007/07/19(木) 10:09:35ID:???
読みこみファイル数がすごい数になってるんだけど
アクセラレータつこうたら大丈夫?
お前らどうしてますか?
0285nobodyさん2007/07/19(木) 12:33:42ID:???
>>284
まずコードを見直す
0286nobodyさん2007/07/19(木) 14:46:00ID:Qs6wUD6U
>>284
主要フレームワークってeaダメだよね?
0287nobodyさん2007/07/19(木) 15:12:56ID:???
cakeはいけてますが
0288nobodyさん2007/07/19(木) 21:29:14ID:???
なんでeaってダメなの?
xcacheならOK?
0289nobodyさん2007/07/19(木) 21:44:14ID:???
異常動作することがあるらしいね>ea
アクセラレータのスレにあったはず
別にフレームワークは関係ないと思うが
0290nobodyさん2007/07/20(金) 04:21:50ID:???
>>285
フレームワーク自体がファイル読みこみまくりだからコード見直しても意味ない
hello,worldですらファイルが数十個読まれる
つまりフレームワーク使うのは阿呆
ついでにいえばウェブプログラムごときでオブジェクト指向使うやつも阿呆
0291nobodyさん2007/07/20(金) 04:56:45ID:???
とオブジェクト指向が理解できない阿呆が申しております。
0292nobodyさん2007/07/20(金) 09:49:57ID:xk3U0lu8
protectedな変数持ってるとEA動きません。
0293nobodyさん2007/07/20(金) 10:14:17ID:???
まじで?
俺オワタ\(^o^)/
0294nobodyさん2007/07/20(金) 10:19:26ID:???
本当に必要なファイル読み込みなのかどうかコードを見直せ。
FW側で不要なインスタンスを発行しまくっているようなら、
それをコロすように継承自前クラスで上書き。
FWって結局汎用だから、MVCの過程で、余分な処理をしてることが往々にしてある。
次に、ページキャッシュを考えろ。キャッシュ処理可能ページとそうでないページの
振り分けをちゃんとできるようにコードを見直す。
アクセとかハードウエア性能向上という手がつかえないなら、それしかないだろう。
0295nobodyさん2007/07/20(金) 10:35:03ID:???
気にしないのが一番
0296nobodyさん2007/07/20(金) 12:42:12ID:???
inodeは上限あるけど
オープンできるファイルに上限てあんの?
0297nobodyさん2007/07/20(金) 12:59:27ID:???
少なくともlinux, bsdにはある
windowsは知らん
0298nobodyさん2007/07/20(金) 14:44:44ID:???
>>292
いつの話よ? 0.9.5.1 では直ってる。
0299nobodyさん2007/07/20(金) 21:35:41ID:g4/DmFJL
>>298
protectedの件は直ったらしい。
でも、例外キャッチできないんだって。
http://d.hatena.ne.jp/shimooka/20070507/1178504848
0300nobodyさん2007/07/20(金) 21:40:09ID:???
>>299
オプティマイザのバグということは、オフにすれば (eaccelerator.optimizer = 0) おk?
キャッシュの恩恵は受けられるし。
0301nobodyさん2007/07/20(金) 21:53:04ID:???
だいたいPHPはバギーすぎるんだよ。何、PHP5は安定しているので、PHP4は開発中止?こっちはキムチパッチ当ててる所だ。
0302nobodyさん2007/07/20(金) 22:17:02ID:???
>>299
それは使い物にならんな・・・
0303nobodyさん2007/07/21(土) 02:40:16ID:???
オプチマイザなんてたいした効果もないんだからオフでおk
0304nobodyさん2007/07/21(土) 05:04:00ID:???
ポン入れでまもとに使えない時点でアウト。
たまに案件でphp.iniをグチャグチャいじってさらにPHP_VALUEまでいじってるあるのに遭遇するが、
開発サーバで再現しきれん設定とかがあってむかつく。
0305nobodyさん2007/07/21(土) 10:31:30ID:???
アウトならこんなところまで来てネガってないで他の言語使えばいいじゃん……
何がしたいんだ?
再現しきれんってのは「設定できる場所を自分が把握できてない」って意味なだけだろ?
0306nobodyさん2007/07/22(日) 08:29:26ID:???
O/Rマッパって何のためにあるんだ?
返り値がオブジェクトの配列である必要性がねーだろ
普通の連想配列で何の問題もない
0307nobodyさん2007/07/22(日) 11:19:49ID:???
>>306
OOP的にかっこいいから、とかそういうことなんじゃない?
たぶんOOP的なものと非OOP的なものが混在するのを嫌ってるんだろう。
0308nobodyさん2007/07/22(日) 11:31:11ID:???
OOPのためにマッパが作られてるんだけどね。
0309nobodyさん2007/07/22(日) 12:26:09ID:???
何の問題もないなら使わなきゃいい
まあそれをわざわざここに書いてる事自体
「なんでO/Rマッパがいいのかわかりません」
って書いてるようなもんなんだけどねw
0310nobodyさん2007/07/22(日) 12:41:59ID:???
>>309
お前も分からないんだろ
強がるなよ
0311nobodyさん2007/07/22(日) 13:03:41ID:???
>>310
普通に使ってるよ
てかO/Rマッパのメリットが分からないとか
O/Rマッパ使う理由がかっこいいからとか
そんなレベルでFWのスレに来る奴ってなんなのwww
0312nobodyさん2007/07/22(日) 13:05:08ID:???
>>311
メリットが分からないまま使ってるんだろ
やせ我慢乙wwww
0313nobodyさん2007/07/22(日) 13:28:44ID:???
Oは、おぶじぇくとのおー
03143072007/07/22(日) 13:30:46ID:???
そういやFWのスレだったw
0315nobodyさん2007/07/22(日) 17:05:31ID:???
ヘルパーってかっこつけて言ってるけど単なる関数なんだな
本来viewのものなのに
グローバルスコープにあるのもダサいことこの上なし
0316nobodyさん2007/07/22(日) 17:07:10ID:???
オーバーライドできないのもまたビッチなり
0317nobodyさん2007/07/22(日) 17:22:22ID:???
それはおれも思った
ただのグローバルスコープにある関数がいつのまにヘルパなんて呼ばれて美化されてんだ,ってw

変数は view 展開時のみグローバルスコープに登録されるものが多いようだから
関数もそうするようになってるフレームワークがあってもいいように思うが
パフォーマンスとか色々の面で現実的じゃなさそうかな……
0318nobodyさん2007/07/22(日) 17:32:02ID:???
CakePHPとかsymfonyのヘルパーってクラスじゃなかったっけ
0319nobodyさん2007/07/22(日) 17:34:57ID:???
rubyみたいにレシーバが省略できないから
railsのviewライクに使えるよう突き詰めた結果がああなったと思われる
まあ早い話が$this書きたくないっていうことだな

俺もview helperとはいえ単なるfunctionにするのは好みじゃないな
ZFのview helperはクラス(オブジェクト)になっている
view helperがfunctionになってるのはsymfonyだっけ?他にもあるかな
0320nobodyさん2007/07/22(日) 17:36:07ID:???
>>318
cakeは見たことないけどsymfonyは関数だった
03213182007/07/22(日) 17:39:28ID:???
あ、symfonyはfunctionか。ごめん
0322nobodyさん2007/07/22(日) 17:40:35ID:???
cakeはクラス。CIは関数
0323nobodyさん2007/07/22(日) 17:45:28ID:???
関数使うFWでも
読むファイル指定してるだけだからstaticなクラス書いてもいいけどね
0324nobodyさん2007/07/22(日) 17:47:58ID:???
staticなクラスにしちゃうと今度は使う時名前が長くなるんだよ
phpのどうしようもないところw
0325nobodyさん2007/07/22(日) 17:50:08ID:???
でも俺はstaticなクラス作って書いてる。
後から一括置換なんかも便利だし。
0326nobodyさん2007/07/22(日) 17:59:50ID:???
俺は関数でもいいと思う派だけど、
関数の場合、初めから用意されてるヘルパーがFW側に置いてあるのはどうかと思う。
コマンドでアプリケーションのディレクトリ構造を展開したときに、アプリ側に展開して欲しい。

クラスにした方がいいと思ったらクラスを作る。libなイメージ。
0327nobodyさん2007/07/22(日) 18:03:24ID:???
staticクラスで、ヘルパー関数を一旦ラップするのをお勧めする
0328nobodyさん2007/07/22(日) 18:10:22ID:???
viewにview helperがmixinされるような形のが一番いいよ
$thisを書くのは必要経費で
0329nobodyさん2007/07/22(日) 18:19:34ID:???
うーんmixinかー
メソッド名が元のviewと被ったら?
0330nobodyさん2007/07/22(日) 18:33:50ID:???
unit test時にわかるでしょ
0331nobodyさん2007/07/22(日) 18:56:57ID:???
>>327
意図は?

staticクラスというのはstaticメソッド群からなるクラスのことだと思うが、
staticメソッドでラップしても関数を関数でラップするのと変わらない。

クラスの(static)プロパティも使用しいくつかのヘルパー関数群を
関連するものとして扱うなら、それはstaticよりもインスタンスにして
投げるインスタンスで振る舞いを変えられるようにしたほうが意味があると思うのだが。
0332nobodyさん2007/07/22(日) 19:04:54ID:???
そこまでやるなら、既存のヘルパ関数なんかそもそも使わん。ヘルパー用クラスを
書くよ。保守を考えてstaticにするのは同一関数(メソッド)名で、とりあえずヘルパ使ってるってことを
明示しつつ拡張するため。関数を同一関数名でラップすることは出来ないからね。
0333nobodyさん2007/07/22(日) 19:18:21ID:3PPkob3E
単にネームスペースの代わりだね。俺もやるよ。
0334nobodyさん2007/07/22(日) 19:28:48ID:???
まあFW側で直接定義されてるfunctionじゃな
オーバーライドすらできんしな、FWのソースを書き換えとか御免だ
ラッパーがstatic/dynamicどっちがいいとかは抜きにして
ラップして使う事自体に意味はちゃんとある
0335nobodyさん2007/07/22(日) 19:34:02ID:???
関数だとどこで定義されているか、わかりにくいしねえ。
0336nobodyさん2007/07/22(日) 19:37:03ID:???
うん、grepすりゃいいからそれは別に困らないがw
0337nobodyさん2007/07/22(日) 19:50:04ID:???
関数ヘルパでも接頭辞付けたらラップできるな
0338nobodyさん2007/07/22(日) 20:44:06ID:???
〜〜すれば〜〜が無くてもおk
って発想を減らしていかないと「誰でも使えるフレームワーク」にならないんだろうね
わかってる人だけでいじるならこの思想の方が楽でいいんだがw

>>319
CodeIgniterも関数じゃなかったかな?
0339nobodyさん2007/07/22(日) 20:56:10ID:???
「誰でも使えるフレームワーク」とか要らん
0340nobodyさん2007/07/22(日) 22:16:39ID:???
誰でも使えないフレームワーク誕生の瞬間である
0341nobodyさん2007/07/23(月) 00:56:07ID:???
>>317
変数はグローバルスコープに登録されてるわけじゃないよ
メソッド中のローカルスコープにテンプレートを読み込んでるだけ。
テンプレートを基準にして見るとグローバルスコープかと思えるけど。
0342nobodyさん2007/07/23(月) 07:09:56ID:???
>>338
FWが機能を実装してなくてもいいんじゃないのかね。
外部ライブラリの導入やユーザ拡張がしやすい設計(MVCが可能な限り疎結合的)
であることが、いいFWの第一条件だと思うよ。
その上で個別に、XXのルータクラスは使いやすいとか、モデルが書きやすいとか、
そういう評価が出てくると思う。
0343nobodyさん2007/07/23(月) 12:45:58ID:???
>>342
FWとは何か?を理解してないやつが語ってるんだからしょうがあるまい。

こう書くと誤解を招く恐れもあるんだが、「仕様こそがFWである」とでも書いておくかな。
じゃないと、いつまで経ってもFWとライブラリの違いも判らん奴が妙な書込みを続けるし。
0344nobodyさん2007/07/23(月) 20:12:12ID:???
>仕様こそがFW
ワケワカラン
0345nobodyさん2007/07/23(月) 21:56:37ID:???
こう書くと誤解を招く恐れもあるんだが、
「『仕様こそがFWである』こそ妙な書込み」とでも書いておくかな。
じゃないと、いつまで経っても妙な書込みとそうでない書込みの
違いも判らん奴が妙な書込みを続けるし。
0346nobodyさん2007/07/23(月) 22:58:29ID:???
フレームワークこそがFWである。
0347nobodyさん2007/07/24(火) 01:46:05ID:???
最近出てきてるとかを見ると、バッドノウハウの温床だな。
0348nobodyさん2007/07/24(火) 02:52:11ID:Wl3XMVYJ
Fireworks
0349nobodyさん2007/07/24(火) 09:36:30ID:???
Firewall
0350nobodyさん2007/07/24(火) 11:38:30ID:???
Frank Williams
0351nobodyさん2007/07/24(火) 11:45:34ID:???
>>347
たとえば?典型例は?
0352nobodyさん2007/07/24(火) 12:58:42ID:???
for ( $i=0,$count=count($contents); $i<$count; $i++ ){

}
ループ中のカウントを減らすためにこういう書き方すんのって
バッドノウハウですか?普通にあり?
0353nobodyさん2007/07/24(火) 13:07:30ID:???
>>352
アリじゃね?
0354nobodyさん2007/07/24(火) 13:35:50ID:???
「for文の条件内でcount()を使うな」はバッドノウハウではないと思うけど
その書き方はどうかと……

$count=count($contents);
for ( $i=0; $i<$count; $i++ ){

}

の方が見る人が理解しやすいと思うなぁ
0355nobodyさん2007/07/24(火) 14:12:03ID:???
激しくどっちでも良過ぎて溜息が漏れる
0356nobodyさん2007/07/24(火) 14:12:23ID:???
なにが「どうかと……」だよ。いたって普通だろうが。
0357nobodyさん2007/07/24(火) 14:33:10ID:???
ワンライナーで書けるものは書けばいいじゃんっていう空気が
phpはあんまりないよな言語仕様による要因が大きいけれども
rubyとかは仕様も使う側もそういう空気に満ち溢れてるから
コードは短いけど行単位の情報量が必然的に多くなる
0358nobodyさん2007/07/24(火) 14:44:56ID:???
forの式1はカンマ区切りで複数とれるのね。しらんかったよ。
0359nobodyさん2007/07/24(火) 14:49:19ID:???
>>352
forループで関数呼び出しを避けたほうがいい
http://lint.s1.x-beat.com/up/img/up12059.jpg
0360nobodyさん2007/07/24(火) 15:02:17ID:???
>>359
せっかくだから環境も分かるようにしてくれよ。
いつのベンチかわからん。
0361nobodyさん2007/07/24(火) 15:04:45ID:???
>>359
>>352 の関数呼び出しは、評価部分ではなくて、初期代入部分だから、
そのベンチはあてはまらんだろ?
0362nobodyさん2007/07/24(火) 15:19:32ID:???
>>359
よく読め

それを避けたいから
for ( $i=0; $i<count($contents); $i++ ){
でなく
for ( $i=0,$count=count($contents); $i<$count; $i++ ){
なんだろ
03633592007/07/24(火) 15:22:22ID:???
>>361
>>352の書き方でいいよといいたかった
0364nobodyさん2007/07/24(火) 19:12:05ID:???
たしかに、自分がPHPで書くときは出来るだけワンライナーは避けてるなぁ。
他者が関わる場合は、極端に言えば本当の初心者が見ても解るように書いてる。
コードの「格好良さ」より、「解りやすさ」重視って感じかな。
0365nobodyさん2007/07/24(火) 19:56:24ID:???
俺もそう。
なんかワンライナーの方がかっこよくみられるけどね。
わかりやすい方がいい。

Rubyみたいに . で右につないでいけると、
ワンライナーも使いやすくなるんだけど。
0366nobodyさん ◆wSaCDPDEl2 2007/07/24(火) 20:10:07ID:???
ワンライナーでなんか書いて
0367nobodyさん2007/07/24(火) 21:03:40ID:???
おとこわりだ!
0368nobodyさん2007/07/24(火) 21:07:06ID:???
どう考えても>>354のほうが視認性があるだろ。
0369nobodyさん2007/07/24(火) 21:31:29ID:???
for文のループに関する議論は、確かsymfonyで話題になったことが
あったみたいだけど、コレすなわち「FWを利用することによるバッドノウハウ」
とはならんよね。
0370nobodyさん2007/07/24(火) 22:02:50ID:???
一方ロシアは
foreach ($contents as $i => $content) { }
を使った
0371nobodyさん2007/07/24(火) 22:32:45ID:???
>>370
なるほど
それいいな
パフォーマンスも問題ない?
0372nobodyさん2007/07/24(火) 22:38:28ID:???
それは、パフォ的にありまくり。使っちゃいけないだろうな。
0373nobodyさん2007/07/24(火) 22:44:17ID:???
えええええ
ロシア駄目じゃん
0374nobodyさん2007/07/24(火) 22:46:08ID:???
手元のテストループで言えば、ロシアは1.5倍増の時間がかかってる。
ロシアの負け。
0375nobodyさん2007/07/24(火) 22:51:50ID:???
つーかPHPならforeachふつうに使うだろ。。
おまえら本当にPHP使ってるのか。
■ このスレッドは過去ログ倉庫に格納されています