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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/12/11(火) 23:37:20ID:???
前スレ
http://pc11.2ch.net/test/read.cgi/php/1192604501/
0769nobodyさん2008/01/30(水) 02:50:09ID:???
Ruby作者のPHP批判は的を射ている
PHPはこれらの欠点を克服しない限り、いつかその役目を終える日が来るであろう

世界的なシェアを見れば、PHPの代替はRubyではなくPythonだろう
GoogleもMicrosoftもPythonを選んだ
みんな、RoRに踊らされるなよ!
0770nobodyさん2008/01/30(水) 02:55:37ID:???
PHP4のサポートが終わるとき、PHPはその真価を問われる
Zendはどう出るのか?

果たしてPHP6は、RubyやPythonを超えた言語になることはできるのであろうか?
俺の仕事はなくなるのか?
0771nobodyさん2008/01/30(水) 03:08:22ID:???
RubyやPythonを超えた言語にはならないが
生き残るんじゃね
0772nobodyさん2008/01/30(水) 07:10:03ID:???
>>768
そうなんだよな。Matzの言ってることは、
PHPで起こりえる(プログラマ責任も含む)問題も、Ruby使えば解決さ!
って聞こえるんだけど、そんなわけない。

RoRがやたら持ち上げられてるが、もうちょっと経ったら、
RoRで書かれた初心者ウンコードがメンテし辛い!!って事が起こるんじゃないかな。
まぁ、今RoRを使ってるのはほとんど個人かもしれんけど。

あとPythonはインデントが・・・いや、何でもない・・・。

0773nobodyさん2008/01/30(水) 07:19:30ID:???
なんか・・・一般のプログラマの方が冷静に状況を見れてるんじゃないか。
0774nobodyさん2008/01/30(水) 07:31:00ID:???
Matz=言語至上主義者 なのは有名な話じゃん
適材適所を知らんのか、っていつも馬鹿にされてる
言語とか何でもいいじゃん使えレバ〜
0775nobodyさん2008/01/30(水) 08:41:31ID:???
PHPは使えない言語なんだよ!

ほら。えーと・・・(以下細かい問題がつづく)
0776nobodyさん2008/01/30(水) 08:51:43ID:???
細かすぎて非現実的なんだよねー
一貫性のない名前(str_replace,strlen,parse_strとか)←これには同意だが
0777nobodyさん2008/01/30(水) 09:23:59ID:???
細かい問題はあるが、どれもクリティカルな問題じゃない。
セキュリティ的な問題は、rubyなどにも当てはまるものばかり。

それよりもほとんどのサーバーで使えるというメリットの方がはるかに大きい。
オープンソースで作るとしたらPHPで作るのが現実的。
0778nobodyさん2008/01/30(水) 10:29:18ID:???
> ほとんどのサーバーで使える

そんなことはどうでもいい
0779nobodyさん2008/01/30(水) 10:41:38ID:???
http://neta.ywcafe.net/000827.html
0780nobodyさん2008/01/30(水) 10:47:16ID:???
言語ごとの頻度の話をしてるのにそれが分からずに釣りっぽいものをあげて注目されてる人をこきおろすのは、これまたWeb屋のネタ帳によくあることではある。
0781nobodyさん2008/01/30(水) 10:50:24ID:???
matz大先生のつくったRubyで書いたRailsにもセッションハイジャックされる脆弱性があったしな(www
0782nobodyさん2008/01/30(水) 10:53:32ID:???
>780

母集団が大きければそれだけ標本もたくさん出てくるのは当たり前。

統計の概念知らないの?
0783nobodyさん2008/01/30(水) 11:36:51ID:???
>>778
自己中って言われたことあるだろ?w
0784nobodyさん2008/01/30(水) 11:59:07ID:???
ないよ。
0785nobodyさん2008/01/30(水) 13:09:29ID:???
フレームワークのコントローラ内で外部で宣言したデータベースオブジェクトを使いたいんだが、
global使わなきゃならんのかねぇ・・・
一応Zendなんだが
0786nobodyさん2008/01/30(水) 13:18:35ID:???
よくわからんけど、外部で宣言したのならglobalしかないでしょ?
それが嫌なら、宣言の仕方を工夫しないと。
0787nobodyさん2008/01/30(水) 13:43:51ID:???
>>785
グローバルが嫌ならZend_Registryあたりに入れておくか、
ベースになるController作ってそれのinitとかで生成するとか、プラグイン使うとか
やり方はいくらでもある
0788nobodyさん2008/01/30(水) 13:44:44ID:???
>>787
Zend_Registryは初めて聞いた
ちとやってみるわ、さんくす
0789nobodyさん2008/01/30(水) 14:13:18ID:???
RegistryとかConfigとか、ZendFrameworkべったりじゃ無くても使えそうだし
統一ライブラリとして利用方法とか充実してほしい
0790nobodyさん2008/01/30(水) 14:14:11ID:???
>>789
そもそも、俺がフロントコントローラでconfigしてるのが間違ってるのかな?
各コントローラでconfigすべきなのか?
0791nobodyさん2008/01/30(水) 15:02:35ID:???
知り合いのフリープログラマなんだが、
コントローラやSQLファイルをURL直下に置いてるんだが、セフセフ?
0792nobodyさん2008/01/30(水) 15:32:53ID:???
>>790
いいんじゃない?
統一的なものはフロントコントローラで設定読み込んでRegistryに放り込む、
各コントローラ(の基底クラス)はそれを利用する、みたいなのはシンプルだと
思うけど。
0793nobodyさん2008/01/30(水) 15:42:39ID:???
>>791
URL直下ってなに?
ドキュメントルート以下に置いてるってことなら、アクセス制限してれば問題ないと思うけど。
まあ普通はウェブ経由でアクセスできない場所に置くけどね。
0794nobodyさん2008/01/30(水) 16:14:21ID:???
>>793
を逆に言うと、アクセス制限していなければ問題かも。
いくら可能性が少なくても、URL直たたきでPHPとして実行されるとか、
ましてや中身が吐き出されるとかエラーが出るとかは原則間違ってるような。

また、この場合外部からhttpラッパ?でrequireやincludeできる、っていうことだと思うけど、
実験してみたらincludeされた側で宣言された変数・クラス・関数等はinclude元では見え
なかった。
これはhttpでのincludeの仕様として信用していいのかな?それなら、これはまあそんなに
問題にならないか。
0795nobodyさん2008/01/30(水) 16:18:18ID:???
>>794
って書いてて思ったけど、http越しのrequireは標準出力されたものだけが帰ってくるわけだから、
定数宣言とかは当然メモリに乗っかる訳がないのか。誰か解説希望・・・って初心者スレ行けってか
0796nobodyさん2008/01/30(水) 16:34:37ID:???
各アクションごとにnew Object宣言しなきゃならんのか
0797nobodyさん2008/01/30(水) 18:52:06ID:???
webアプリを舐めるなと言ったmatzのサイトがInternal Server Errorに…
phperにF5攻撃でも食らってるのか
0798nobodyさん2008/01/30(水) 18:53:27ID:???
webu apuriwo namerunawwwwwww
0799nobodyさん2008/01/30(水) 19:01:48ID:???
http://www.rubyist.net/~matz/20080129.html
イケてない言語PHPが
彼らにとっての「自分の言語」なのか、もしかして。やれやれ。

matzはどSだな
0800nobodyさん2008/01/30(水) 20:33:28ID:???
matzにものすごい長文で抗議してる人がいるなw
0801nobodyさん2008/01/30(水) 20:50:44ID:???
これはRuby VS PHPではない
matz VS zendの戦いなのだよ

この戦いに参加しても1円の得にもなりはしない。
俺たちは傍観していればいい。
俺は今日もPHPを使う。
Rubyは金にならん。
0802nobodyさん2008/01/30(水) 20:54:18ID:???
もしもRubyの方が、PHPよりも儲かるならすぐにでもRubyを使う。
それだけの話だ。

PHP VS RubyでPHPが敗北してもRubyの軍門には下るな
生き残ったPHPerはPython陣営に行って、Rubyに逆襲

アムロ Ruby
シャア PHP → Python
0803(・∀・)2008/01/30(水) 20:57:37ID:???
PHPは増長したRuby連邦軍からの独立を求めて宣戦布告する!
立てよ、PHPer!!!

ジークZend!ジークZend!ジークZend!

Zend公国に栄光あれ!!!
0804nobodyさん2008/01/30(水) 21:02:48ID:???
PHPはダサイって話だろ。そりゃそうだろ。
0805nobodyさん2008/01/30(水) 21:15:29ID:???
信仰している宗教団体をバカにされてイライラしてんのかな?>Ruby作者
0806nobodyさん2008/01/30(水) 21:20:13ID:???
ユダヤ教 PHP の検索結果 約 101,000 件
モルモン教 Ruby の検索結果 約 30,400 件

イスラエル産のPHP圧勝
0807nobodyさん2008/01/30(水) 21:37:12ID:???
ここはPHPフレームワークのスレ
Rubyの話はこちらへどうぞ

【カルト】Ruby開発者Matz【モルモン】
http://pc11.2ch.net/test/read.cgi/prog/1148712641
0808nobodyさん2008/01/30(水) 22:29:01ID:???
Ruby厨がこんなところにリンクを張るから
狙い通り、matzブログが荒れたw
0809nobodyさん2008/01/31(木) 00:48:24ID:???
真意はどうであれ、PHPユーザにケンカを売っていると受け取られてもおかしくない(立場的にも)とわかって言っているのか、天然なのか。

後者なら良くも悪くも技術オタなんだろうなぁ。
前者ならFUD?
0810nobodyさん2008/01/31(木) 00:55:20ID:???
ほとんど当たり前のこと言ってるだけ。
言う必要がないのにわざわざ言うってことは釣りだろう。
0811nobodyさん2008/01/31(木) 02:04:04ID:???
コミュ能力がないんだろ
0812nobodyさん2008/01/31(木) 02:25:29ID:???
ぺちぱー釣られすぎだろ
0813nobodyさん2008/01/31(木) 03:51:45ID:???
>PHP は Web アプリ界の BASIC なのですよね?

やべえ、俺も同感だwwwwwww
0814nobodyさん2008/01/31(木) 03:59:50ID:???
>……Pythonにまで飛び火させないで、お願い(泣)

ワロタwwwww
0815nobodyさん2008/01/31(木) 06:09:26ID:???
htmlspecialchars($_GET['text']);

これの何がダメなの??
0816nobodyさん2008/01/31(木) 06:11:00ID:???
>>815
http://blog.ohgaki.net/index.php/yohgaki/htmlspecialcharsa_me_afp
0817nobodyさん2008/01/31(木) 06:14:19ID:???
ふーんhtmlエスケープはhtmlentities()を使えということか・・・
メジャーなFW使ってたらインターフェイスがdry化されてるから
たいした問題にはならないだろうな。
matzのばーか。
0818nobodyさん2008/01/31(木) 09:11:46ID:???
>>816
これは酷いな
この前、最近出たばかりのPHP入門本読んだが
単にhtmlspechalchars使えとしか書いてなかったよorz
そりゃmatzもdisりたくなるわw
0819nobodyさん2008/01/31(木) 09:23:37ID:???
単に入門書の問題。

HTMLの入門書もずいぶんとひどいものだが、
だからといってHTMLがひどいということにはならない。

公式のドキュメントにはhtmlentities() を使えって書いてあるじゃん。
0820nobodyさん2008/01/31(木) 09:43:55ID:???
ろくなプログラムがかけない奴に限って、言語や環境の文句を言う
0821nobodyさん2008/01/31(木) 09:51:40ID:???
書いてないな
http://jp.php.net/manual/ja/faq.html.php

それにhtmlentities使っても、ENT_QUOTES指定しないと危険なのは変わらない
0822nobodyさん2008/01/31(木) 09:57:32ID:???
エンコードを明示的に宣言していればhtmlspecialcharsでも問題ないんだべ?
0823nobodyさん2008/01/31(木) 10:04:32ID:???
シングルクォーテーションで囲まれた文字列をエスケープしないのが問題なんだから
ENT_QUOTESとエンコードを指定すれば問題ない
でもそこまでいくと記述が長すぎるので、結局FW利用を前提に考えるのが現実的ってことか
08248232008/01/31(木) 10:09:15ID:???
ごめん間違えた
シングルクォーテーションをエスケープしないのが問題なんだから
htmlentitiesを使って、ENT_QUOTESとエンコードを指定しないと駄目だね
0825nobodyさん2008/01/31(木) 10:11:19ID:???
htmlspecialchars+ENT_QUOTESでは何故だめなの?
0826nobodyさん2008/01/31(木) 13:33:48ID:???
っていうか
もうhtml_escape()っていう関数作れよzend!
0827nobodyさん2008/01/31(木) 13:37:57ID:???
てめぇで作れ
0828nobodyさん2008/01/31(木) 13:53:20ID:???
ENT_QUOTESと文字コードの指定もそうだけど、
何より$_GETをそのまま使ってる事なんじゃないの?
taintの説明してる文脈からしても
0829nobodyさん2008/01/31(木) 13:55:25ID:???
一回ちゃんと考えてそれ以後ずっとそれを使うようにしたらいいだけ
マッツのつっこみはどうもずれてるな
PHPは美しくない
しかしマッツが指摘している部分は大した瑕疵でもない
0830nobodyさん2008/01/31(木) 13:57:27ID:???
Rubyの方がいいのになんでPHPの方が普及しているんだという気持ちが、
やっぱりあるんだと思うよ。
0831nobodyさん2008/01/31(木) 13:57:45ID:???
>>828
あの文だけじゃ
フィルタかました後かどうか分からない
一言に$_GETといっても色々な状態が考えられる
0832nobodyさん2008/01/31(木) 14:00:07ID:???
>>829
やっとスレ的にテーマが戻ったなw
それをやってくれるのが、フレームワークの最大の利点の一つだろ。
つまりPHPは「フレームワーク」とか言う人もいるが、現状不完全にすぎるフレームワークだと。
こういう批判をやってくれればなぁ。
0833nobodyさん2008/01/31(木) 14:02:08ID:???
> 一回ちゃんと考えて

「初心者」はそんなことをしない
0834nobodyさん2008/01/31(木) 14:10:21ID:???
>>831
さすがにそこまで行くと無理がある
0835nobodyさん2008/01/31(木) 14:18:38ID:???
そりゃmatzの煽りに無理があるんだから仕方ない
一流の技術者とは思えない文脈の曖昧さがある
0836nobodyさん2008/01/31(木) 14:53:17ID:???
結局、htmlspecialchars()でENT_QUOTESとエンコード指定していればOKなの?
0837nobodyさん2008/01/31(木) 15:12:26ID:???
るびだってs/</&lt;/g;みたいなのしてんだろうからどうでもいいんじゃね?
0838nobodyさん2008/01/31(木) 16:24:58ID:???
>>832
そうか!だからか!
PHPそれ自体はフレームワークとしては不完全だから、その欠点を補うべくPHPフレームワークの出番だと。
PHPは便利でもあり危険でもある諸刃の剣だと。

>>826
function html_escape($str) {
  return htmlentities($str, ENT_QUOTES);
}
↑こうですか?
0839nobodyさん2008/01/31(木) 21:24:02ID:???
http://slashdot.jp/articles/08/01/30/2142207.shtml
Arc登場でPHPとRuby仲良く投身www
0840nobodyさん2008/01/31(木) 21:56:13ID:???
>>839
単なるlispの方言じゃないの?
0841nobodyさん2008/02/01(金) 07:12:36ID:???
デバッガで実行すると
URIが書き換わっちゃうから
フレームワークのデバッグしにくくね?
みんなどうやってんの?
0842nobodyさん2008/02/01(金) 08:51:18ID:???
PHPにデバッガってあるんだ
0843nobodyさん2008/02/01(金) 09:05:07ID:???
PHPのデバッカはあんまり意味ない。
トレース機能は時々使うが、それだけだな
0844nobodyさん2008/02/01(金) 09:39:26ID:???
ブレークポイントで止めて状態見たりしないの?
var_dumpだけでやってるの?
0845nobodyさん2008/02/01(金) 20:55:02ID:???
> トレース機能は時々使うが
0846nobodyさん2008/02/01(金) 21:26:08ID:???
ウェブアプリなんてvar_dump()ですべて事足りるな。下手にオブジェクトを使いまくるとデバッグが困難になる。
0847nobodyさん2008/02/01(金) 21:34:30ID:???
ZendStudioでソースレベルデバッガ普通に使いまくりだが。
でもまぁウェブアプリごときvar_dumpでもできなくはない。
0848nobodyさん2008/02/01(金) 21:37:22ID:???
Ethnaみたいにオブジェクトの循環参照持ちまくりなフレームワークではvar_dumpでは死ねるw
0849nobodyさん2008/02/01(金) 22:24:43ID:???
デバッガで実行すると__FILES__が実行環境とは変わったりするよな
絶対パス使ったりと工夫したらなんとかなるが
0850nobodyさん2008/02/01(金) 22:28:26ID:???
> ウェブアプリなんてvar_dump()ですべて事足りるな。下手にオブジェクトを使いまくるとデバッグが困難になる。

オブジェクト関係ないじゃんw

きっとオブジェクト指向を知らないやつだな。
0851nobodyさん2008/02/01(金) 23:18:00ID:???
>>847
ZendStudioは使ったことないんですけど、やっぱ便利ですか?
http://www.zend.co.jp/products/studio/

エディタでコーディングやってるけど、これで出来てるから買う必要ないかなと。
39800円+5%だもんね><
0852nobodyさん2008/02/02(土) 14:28:42ID:???
JavaScriptでDHTMLするとオブジェクトでデータを持たざるを得ない場面が多いけど、PHPに限らずサーバサイドのウェブアプリはそうじゃない。
要するに$_REQUESTとDBから取り出した$rowをダンプすれば、それでデバッグは出来る。
0853nobodyさん2008/02/02(土) 14:32:04ID:???
デバッグとはバグを修正することであって
値を表示することじゃないよ。
無駄な値がずらずれ表示されてもうざいだけ。
0854nobodyさん2008/02/02(土) 20:13:20ID:???
やっぱトレースは便利だよ
助けられたことが何度もある
0855nobodyさん2008/02/02(土) 20:16:33ID:???
機能は理解してるんだけど具体的にどんなケースで助かった?
0856nobodyさん2008/02/02(土) 20:58:55ID:???
思っているのと違う挙動をする部分があったら
その少し前にブレークポイントを置いて実行。
そこから1ステップずつ見ていけば
ほとんどのバグの原因は分かる。
結果を見るデバッグ→経過を見るデバッグって感じ
0857nobodyさん2008/02/02(土) 23:07:07ID:GcWoNjlY
PHPerって中国人とそっくり。
いいところもわるいところも
0858nobodyさん2008/02/02(土) 23:20:01ID:???
2chの一部の書き込みを見て一括りにし始めるのも凄いな
0859nobodyさん2008/02/02(土) 23:24:24ID:???
根拠も書かず言い捨てとかねーし
いつの時代の中国かもはっきりさせろ
0860nobodyさん2008/02/02(土) 23:24:37ID:???
>>858
お前頭いいな。俺には何のことを言ってるのかさっぱりわからん
0861nobodyさん2008/02/03(日) 01:32:55ID:???
○○って中国人とそっくり。
いいところもわるいところも

↑このコピペってどこから来てるの?

今旬の話題で言えば、例の餃子事件のことなんじゃないですかね?
PHP=バグ入り危険、書いたら飛ぶで!

でもこれ、餃子とバグをかけてるなら、PHP以外も当てはまっちゃうよw
バグ入り=Perl、Ruby、Python、…その他いろいろ
0862nobodyさん2008/02/03(日) 05:49:47ID:???
PHPにしても中国人にしてもステレオタイプは良くないね、
という事で。
0863nobodyさん2008/02/03(日) 06:38:16ID:???
PHPに関する一番の不満は「何もかも関数」ってことだな
コーディング中の思考の流れが
「何もかもオブジェクト」方式だと内に内に向かっていくのに対して
「何もかも関数」方式だと外側にあらたに皮をかぶせていく感じになる。
そして関数の記述は、後からの追加に向いていない。
PHPの手軽さに「何もかもオブジェクト」の考えを導入したら
かなりの支持を集めると思うんだが…。
そのこと自体は決して難しいことでもないと思う。
Zendは本当はRubyをぶち頃せる立場にはあるんだよ、やる気にさえなれば。
0864nobodyさん2008/02/03(日) 09:50:55ID:UlhMP6VH
>PHPの手軽さに「何もかもオブジェクト」の考えを導入したら
>かなりの支持を集めると思うんだが…。

だからRuby on Railsがウケてるんだと思うんだが…。
0865nobodyさん2008/02/03(日) 11:06:45ID:???
うけてる割には実際RoRで構築されたサイトって皆無なぐらい見ないけどな。
現在公開されているWebアプリなサイトは
PHP>>>>>>>>>>Java>Perl>>.NET>>>>>>>>>Ruby
ぐらいだし。
PHPは個人から企業まで幅広く、Javaは個人はあんまりいなくて銀行などの大企業に多く、Perlは昔からの個人サイトに多く
.NETはPHPの人数少ない版みたいな分布で、Rubyに至っては探すのが難しいぐらいどっちもいない。

所詮RoRも知識欲を満たす程度のテスト環境で遊んで終わってるのが多い。
一般公開Webじゃなくて、企業内だけで導入してるようなClosed事例もあんまり聞かないし。
Closedの場合.NETが最近ちょっと増えてきてるな。

就職のスキルにしても、JavaやPHPや.NETの経験者優遇とかはあるけど、Ruby優遇とか聞いた事無いし。
ていうか募集要項にRubyという単語自体殆ど見ない。
0866nobodyさん2008/02/03(日) 11:15:56ID:???
職業プログラマとギーク・言語至上主義派を一緒くたにするなっての。
PHPerを迫害しようと頑張る人と、それに釣られるお調子者のPHPerが溢れてるだけ。
むしろ今回の一件でrubyに移行しようと考えた奴は負け組。
0867nobodyさん2008/02/03(日) 11:38:34ID:???
凡庸な人間にも安い単価で仕事させないと、この業界回らないわけで。
PHPはそのニーズを満たしたわけだ。
0868nobodyさん2008/02/03(日) 11:40:09ID:???
うわあああああああああああああああああああああああああああ
■ このスレッドは過去ログ倉庫に格納されています