PHPで作られた有名サイトってあるの?
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/05/26(土) 01:06:30.66ID:???ウェブ系言語で一番しょぼい言語だし。
0497nobodyさん
2012/07/19(木) 15:03:32.46ID:???イマイチな仕様はもちろんあるが、それ以上に
Java、Ruby、Perlが好きな奴らが必要以上に叩いてるだけだよ
中規模までのWeb開発ならPHPがいいだろ
0498nobodyさん
2012/07/19(木) 15:46:10.05ID:???PHPは早い、安い、楽だからね。そこは認めるよ。
でも「仕様がイマイチ」は持ち上げすぎだな。仕様は腐ってる。
他の言語書きがPHPを必要以上に叩いてるって理屈になると、JavaもRubyも
PerlもPHPプログラマ様にボコられてるはずだけどそういう風景って見ないよね。
ちなみに俺の仕事の半分以上はPHPだし特に好きな言語はないよ。
ただ明らかにJava/Ruby/Perlに比べるとPHPは言語としては遥かに劣る。
0499nobodyさん
2012/07/19(木) 18:29:43.76ID:???どっちの名称が正しいんでしょうか。関数と命令はどう違うんでしょうか?
0500nobodyさん
2012/07/19(木) 18:58:38.59ID:???「他の言語書きがPHPを必要以上に叩いてる」
↓
「JavaもRubyもPerlもPHPプログラマ様にボコられてるはず」
なぜこうなるのかが分からない
PHPは仕様がイマイチなのに流行ってるから
妬まれてる、っていうケースも多いんじゃないか?
仕様が腐ってて、言語として劣るって
具体的にはどういうところ?
0501nobodyさん
2012/07/19(木) 19:48:08.85ID:???上の方でさんざん出てるでしょ。まだ蒸し返す気かよ。
PHPerの統一見解は「腐ってると言われてる部分は全部工夫すればなんとかなるから、
仕様が腐ってても言語として劣ってるとは言えない」なんだよね。
びっくりしたわ。
0502nobodyさん
2012/07/19(木) 20:11:41.75ID:???上の方だけじゃ、それのうちのどれなのか分からん
蒸し返す、って「腐ってる」とか「明らかに遥かに劣る」とか
そういう言葉を使うからだろ
強烈な言葉を使ってレッテル貼りするやつって
結局具体的に説得力のあることは書けないんだよな
0503nobodyさん
2012/07/19(木) 20:31:10.92ID:???これだけで充分腐ってると言えるし、今生きてる言語でこんなひどい
実装を普通とか工夫すればいいとか言ってるところがPHPerのすごいとこだわ
0504nobodyさん
2012/07/19(木) 20:38:19.18ID:0cqODnzfアセンブリよりCを使う
CよりC++を使う
C++よりjavaを使う
javaよりperl/ruby/pythonを使う
perl/ruby/pythonよりPHPを使う
PHPオンリーよりPHPとフレームワークを使う
ギークなスキル磨くなら上の方がいいけど実用性では下の方がいい
PHPじゃ不満だからといってアセンブリで書いたら生産性落ちる
0505nobodyさん
2012/07/19(木) 20:42:24.64ID:???劣ってるは相対評価
っつーこった
0506nobodyさん
2012/07/19(木) 20:45:07.38ID:???最後の三行あたりはケースバイケースなんだがな。
PHPしか書けないとこういう可哀想な発想になるのか。
俺だってPHPは書くよ。というか今日は他人のPHPコードとの戦いだったよ。
マジで死んでくれとか思いながら仕事してましたよ。
確かに生産性はいいけどプログラマによって保守性がメチャクチャ悪くなるんだよな。
前からそう言ってるんだが。
0507nobodyさん
2012/07/19(木) 20:53:24.01ID:???「グローバルスコープを抑止する方法がない」=「腐ってる」
という主張だな
スクリプト言語は大体そうじゃないのか?
PerlやRubyも腐ってるってことだな
Cはどうなんだ?
まあお前の主観に過ぎないがなwww
0508nobodyさん
2012/07/19(木) 20:59:13.55ID:???Perlはuse strictで抑止できる。Rubyは$付けないとグローバル変数にならない
ので目視で分かる。PHPは?
0509nobodyさん
2012/07/19(木) 21:00:48.92ID:???ファイルスコープだったろ
0510nobodyさん
2012/07/19(木) 21:14:01.20ID:???0511nobodyさん
2012/07/19(木) 21:23:22.24ID:???PerlのフリーCGIとか、1ファイルに詰め込んであったりするよなw
ourでグローバル変数は使えるし
PHPも「目視で抑止」はできるぞw
0512nobodyさん
2012/07/19(木) 21:25:56.49ID:???目視でというか、明示しないとグローバルスコープにはならないって意味ね。
で、見ても分かる。ourも然りね。
何かしかのスコープの外に出すとPHPは勝手にグローバルスコープになるし、
それを抑止する方法がない。
> PerlのフリーCGIとか、1ファイルに詰め込んであったりするよなw
お前の脳みそは昭和なの?
> PHPも「目視で抑止」はできるぞw
はいはい。工夫すればなんとかなるのね。
0513nobodyさん
2012/07/19(木) 21:30:11.52ID:???0514nobodyさん
2012/07/19(木) 21:32:05.85ID:???そういう意味では宣言側ではなく使用側で抑止できる
っつうか、フレームワークの起動時以外
グローバル変数なんて使わないだろ
1ファイル1クラスにしとけば、グローバル変数が宣言されていないことくらい
それこそ目視で確認できる
それでPHPだけ腐ってるってのは無理があるな
あと、Perlの昔ながらのCGIは今時でも結構見かけるぞw
昭和に作られたCGIなんてほぼないだろw
0515nobodyさん
2012/07/19(木) 21:44:29.09ID:???スコープってのは変数だけが対象じゃないだろ。グローバルスコープに
置かれた関数とかタチわりーぞ。
で、宣言側で抑止しないと、グローバルスコープを外そうとしても
外せないという現象が起こる。
Perlはourを片っ端から外せばエラー出まくるからそこを直せばいい。
PHPのグローバルスコープに$iとか撒かれたら軽く死ねるぞ。
それからむかーしのPerlCGIをDisるなら、むかーしのPHPのソースでも読んでこい。
もっとひでーから。
あと昭和が終わったのが1988年だ。冗談も分からんとはな。
0516nobodyさん
2012/07/19(木) 21:56:37.79ID:???個人的な恨みだろ
0517nobodyさん
2012/07/19(木) 22:23:27.11ID:???だから保守性だってんだろ。作りが悪いPerlのプログラムも結構直してきた
けど片っ端からuse strictぶち込んでエラー消せばそれだけでそこそこ綺麗に
なるんだよ。Javaに至ってはスコープがきっちりしてるからクラスの再設計
するだけで綺麗になるし。PHPは簡単便利だけど保守性が悪すぎるんだよ。
WordPressやMediaWikiのメンテのトロさをみたらそのくらい分かると思うんだが。
0518nobodyさん
2012/07/19(木) 22:48:23.93ID:???程度にしときゃいいだろ
柔軟性と保守性はトレードオフの部分があるがな
「グローバルスコープを抑止する方法がない」から「腐ってる」
とか変な主観書くからだろ
0519nobodyさん
2012/07/19(木) 22:49:16.98ID:DHLaUkshpythonをいじるのが簡単そう
PHPのメリットは連想配列で引数やPOSTの中身受け取れたり
ワンファンクションでメール送れたりエスケープ関数使えたり…
これをpythonに組み込めば一件落着
0520nobodyさん
2012/07/19(木) 23:20:48.97ID:???PHPが作りこみやすい……だと……!?
PHPしか書いたことがないやつが他の言語と比較するからさっきから
おバカを晒してることに気づけよ。
> 「グローバルスコープを抑止する方法がない」から「腐ってる」
> とか変な主観書くからだろ
いや腐ってるだろ。
0521nobodyさん
2012/07/19(木) 23:27:04.87ID:???0522nobodyさん
2012/07/19(木) 23:28:59.43ID:???さすがPHPer、底が知れるな。
0523nobodyさん
2012/07/19(木) 23:33:11.18ID:???んじゃ聞くが
> PHPが作りこみやすい……だと……!?
ってどういう意味で書いたんだ?
あと
> PHPしか書いたことがないやつが他の言語と比較するからさっきから
> おバカを晒してることに気づけよ。
これは人格攻撃だろ
的外れな推測だけどな
> さすがPHPer、底が知れるな。
これもな
腐ってるのはお前だよ
0524nobodyさん
2012/07/19(木) 23:43:10.28ID:???PHPが他の言語より作り込みやすい根拠でも述べてみ。
0525nobodyさん
2012/07/20(金) 00:16:17.65ID:???保守性が悪いプログラムを作りこみやすい
って書いてんだろ?
それを逆の意味に取ってるからバカなのかな、って思っただけだよ
0526nobodyさん
2012/07/20(金) 09:06:22.42ID:8twV/UeW0527nobodyさん
2012/07/21(土) 01:29:03.27ID:???トレードオフではあるけど、もう少し言語として制約があったほうが
バランスはよさそうだよな
use strictみたいなオプションがあれば少しはいいのかな?
0529nobodyさん
2012/07/21(土) 03:30:39.77ID:???$a = 1; /* グローバルスコープ */
function test()
{
echo $a; /* ローカルスコープ変数の参照 */
}
test();
?>
このスクリプトは、出力を全く行いません。
これは、echo 命令がローカ ル版の $a 変数を参照しているにもかかわらず、
このスコープでは値が代入されていないからです。
0530nobodyさん
2012/07/21(土) 03:33:16.26ID:???use strict;
use warnings;
my $a=1; # グローバルスコープ
sub test {
print $a;
};
test()
このスクリプトは、出力を行います。
Perlの問題点。use strictが何の意味もないことを意味しています。
0531nobodyさん
2012/07/21(土) 03:42:58.16ID:???use strict;
use warnings;
my $a=1;
sub foo {
$a=2;
}
foo();
print $a
この例では2が表示されます。Perlのダメなところです。
0532nobodyさん
2012/07/21(土) 03:45:43.84ID:???use strict;
use warnings;
sub foo {
$a=2;
}
sub bar {
$a=3;
}
foo();
bar();
print $a
まあ、なんて恐ろしい。警告も出ずに3が表示されます。
0533nobodyさん
2012/07/21(土) 03:52:19.27ID:???自称Perl使いさん。正しく答えられますか?
0534nobodyさん
2012/07/21(土) 04:39:16.10ID:???Perlはそれが主ルーチンだとするとlocalの$aで通るんだろうけど、この手の
ミスがファイルスコープにとどまるのがPerl。コード全体が汚染されるのがPHP
0535nobodyさん
2012/07/21(土) 05:11:43.57ID:???わざとなの? それとも馬鹿なの?
馬鹿なPerl使いだろうけど。
perlにファイルスコープなんてありゃしない。
しっかり他のファイルで与えた数値が表示される。
[main.pl]
use module;
print $a;
[module.pm]
$a=1;
0536nobodyさん
2012/07/21(土) 05:14:03.59ID:???Perlの方が糞仕様な言語だなw
0537nobodyさん
2012/07/21(土) 10:25:46.96ID:???馬鹿はお前だ。まずuse strictが前提だと何度も言われてるだろ。
でだ。$aと$bは予約されたグローバル変数だから使っちゃダメ。無知すぎる。
そもそも1文字変数名使う時点で馬鹿プログラマの証拠。だからこういうミスをする。
$fooに変更して、それぞれにuse strictつけてみ?ファイルスコープどころか
裸の変数自体許されないから。
これを回避するにはmy $fooとすると良いのだが、my宣言された変数はファイル
スコープだ。つまり一般的にはどのスコープからも外れた変数はファイル
スコープ。
そういう厳密な機能がPHPにはないだろ?って言ってるんだけど。
0538nobodyさん
2012/07/21(土) 11:36:46.37ID:???Perl5はPerl4のが動くように配慮があるからデフォルトでグローバル変数が残ってて、Perl5の恩恵を受けるにはuse strictしましょうねってのが大前提だからな
しかし$aはないわな。一連のPHPerの言い分ってほとんど
・PHPしか書けない故の激しい勘違い
・PHPは工夫でなんとかなるから糞じゃない
この2つに尽きるだろ
0539nobodyさん
2012/07/21(土) 12:53:31.59ID:???0540nobodyさん
2012/07/21(土) 12:54:12.13ID:???それほど情弱だからPerlなんてメリットが一つもないゴミ使ってんだろwww
0541nobodyさん
2012/07/21(土) 15:56:16.20ID:???$aとか$bなんていろんなサンプルコードで使われてるのに
予約されてるってw
糞仕様www
0542nobodyさん
2012/07/21(土) 16:14:35.12ID:???そんなに>>535が恥ずかしかったんだな、可哀想に
まあ俺も$aと$bは糞だと思うよ。どの言語にも糞な部分はあるし、
そういうのは素直に認めるべきだと思うんだけどPHPは固くなに
「工夫すれば大丈夫」で正当化するよね。みっともない。
0543nobodyさん
2012/07/21(土) 16:35:41.64ID:???どちらかというとそんな言語が腐ってると思うがw
Perl厨は「工夫すれば大丈夫」ではなく、
糞仕様を知らないほうが馬鹿、ってなんのか
最悪だなw
0544nobodyさん
2012/07/21(土) 16:38:04.51ID:???どこの現場でも余程のことがない限りグローバル変数に一文字変数つかったら
殴られるレベルだと思うんだがPHPは違うのか。
さすが工夫すれば大丈夫な言語だけあるな。
0545nobodyさん
2012/07/21(土) 16:41:58.51ID:???PerlをDisり損ねて自分の無知を正当化したいわけだ。
>>535がとても恥ずかしいミスだということは変わらないし、
お前が顔を真っ赤にするほど>>535への安価は貼られていく。
0546nobodyさん
2012/07/21(土) 16:54:46.17ID:???>>515
> PHPのグローバルスコープに$iとか撒かれたら軽く死ねるぞ。
だったらこれは言語の問題じゃないだろw
そもそもグローバル変数は原則使わないし
「1文字変数名使う時点で馬鹿プログラマの証拠」
はグローバル変数に限定してないように取れるぞ
それに俺は>>535じゃないぞ
勝手に決めつけて恥ずかしいやつだなwww
PHPスレだからPHP擁護派は何人か書き込んでるだろ
Perl厨は1人っぽいがなwww
0548nobodyさん
2012/07/21(土) 21:22:29.43ID:???539 名前:nobodyさん[sage] 投稿日:2012/07/21(土) 12:53:31.59 ID:???
なんでPHPスレにPerl厨すぐ沸いてしまうん?
540 名前:nobodyさん[sage] 投稿日:2012/07/21(土) 12:54:12.13 ID:???
だよな、Perl厨アホすぎwここがPHPスレと認識できないほど情弱なんだろw
それほど情弱だからPerlなんてメリットが一つもないゴミ使ってんだろwww
0549nobodyさん
2012/07/21(土) 22:21:57.20ID:???544 名前: nobodyさん Mail: sage 投稿日: 2012/07/21(土) 16:38:04.51
545 名前: nobodyさん Mail: sage 投稿日: 2012/07/21(土) 16:41:58.51
ひでーなこれ
0550nobodyさん
2012/07/21(土) 22:24:21.46ID:???0551nobodyさん
2012/07/21(土) 22:26:27.05ID:???perl - 万能なnewの書き方
http://blog.livedoor.jp/dankogai/archives/50816007.html
Perl 5のOOは、慣れてしまうと簡単だ。
↓
package Klass;
sub new {
my $thing = shift;
my $class = ref $thing || $thing;
my $self = bless { @_ } => $class;
$self->init() if $self->can('init');
$self;
}
our %default = (name => 'anonymous');
sub init {
my $self = shift;
$self->{$_} = $default{$_} for keys %default;
$self->SUPER::init() if $self->can('SUPER::init');
$self;
}
package Klass::Sub;
our @ISA = qw/Klass/;
our %default = ('名前' => 'ななし');
*init = \&Klass::init;
0552nobodyさん
2012/07/21(土) 23:33:53.83ID:???ちょっとshiftしたりblessしたりして、毎回同じようなnewを書くだけで
簡単にクラスを実装できちゃうんだもんな
継承もour @ISAを使うだけでいいし
OOやるならPerlだな、やっぱり
0553nobodyさん
2012/07/21(土) 23:34:59.47ID:???以下同文
0554nobodyさん
2012/07/21(土) 23:40:35.88ID:???0556nobodyさん
2012/07/21(土) 23:51:02.87ID:???やっぱりPerlを選ぶんだよね?
0557nobodyさん
2012/07/22(日) 01:04:17.84ID:???グローバルスコープ君というのが誰か知らんが、中小規模なら前から
言っているように、投げっぱなしで保守がいらないならPHP一択、
β版のまま公開して運用しながら開発するような場合や、保守込みの
契約の場合はPerlなりRubyなり。PHPはありえん。
Pythonは使いたいんだが人出がまだ足りないのと、他の案件に使い回し
できない可能性が高い。
Perlのクラスに関しては、Perl4にblessを加えただけという超簡単実装なので、
見る人によっては汚く見えるだろう。しかしクラス名とファイル名が一致せず
オートロードで階層が深いような場合は「工夫する」かgrepするしか探し出す
しか手段がないPHPよりはかなりマシ。
Perlでもファイル名とクラス名を違えることはできるが、クラス名がファイル
階層を表現できるため、現実問題そういう実装は考えにくい。つまりPHPの
ような汚い実装はなかなか見かけない。
PHPのプロジェクトであるmagentoには私は敬意を払っているが、このファイル名
とクラス名の不一致問題には不満の意を禁じざるを得ない。
0558nobodyさん
2012/07/22(日) 01:10:53.25ID:???PHPより歴史が長いため、使ってる期間が長いってくらいだ。現在メインで
使っている言語はC++。
> 継承もour @ISAを使うだけでいいし
これはむしろPerlの汚いところだと思う。PerlのOOの素晴らしいところは、
ほとんどPerl4の仕様を変えずにOOを実装した点にある。そこは勘違いしては
いけない。PHPはOOを比較的きっちり実装しつつ、PHP4への互換を維持しよう
とした結果、ワケワカメな状況に陥り、strictのような構文に対する縛りが
存在しないため、PHP4脳の土方プログラマの暴走を止められずにいる。
0559nobodyさん
2012/07/22(日) 02:52:49.93ID:???> Perlでもファイル名とクラス名を違えることはできるが、クラス名がファイル
> 階層を表現できるため、現実問題そういう実装は考えにくい。つまりPHPの
意味がわからん。
Perlはファイル名とクラス名は
全く関係ないよ。
use Hoge::Hoge; # ← クラス名ではなくただのファイルパス相当
とやっておきながら、
my $hage = Hage->new()
ということもできる。
0560nobodyさん
2012/07/22(日) 02:58:33.34ID:???だーかーら。Perlは慣習にすれば綺麗に書けるけどPHPはその手段すれない
って話じゃん。クラスのファイル階層を表現する手段がないから
「工夫で大丈夫」にするしかないっていうね。
0561nobodyさん
2012/07/22(日) 02:59:38.41ID:???0562nobodyさん
2012/07/22(日) 03:04:51.80ID:???慣習は言語の設計側が推奨している。だから一意に解釈できるし、
階層も綺麗に表現できる。
PHPは設計側がほったらかしだから、実装側が「階層はキャメルケースで」
とか「アンスコ区切りで」とか「オートロードするからこのルールで」とか
無法地帯。
0563nobodyさん
2012/07/22(日) 03:06:38.44ID:???マジで。他の言語書けないんだろ?技術的なツッコミが一切ないし、あった
として>>535みたいな知ったかだからな。
0564nobodyさん
2012/07/22(日) 11:26:28.13ID:???人それぞれ書き方が違うからだめだろう。
0565nobodyさん
2012/07/22(日) 11:42:31.90ID:???具体的に何かダメか言ったら?言えないんだろうけどw
お前がPHP知らないようだから書いておくわ。
PHPのオブジェクト指向機能
・classキーワードで簡単にクラスが定義できる
・もちろんクラスを定義するだけで、newでインスタンスが作れる
・interfaceキーワードでインターフェースも作れる
・public、private、protectedスコープがある(カプセル化)
・コンストラクタ、デストラクタがある
・オーバーロードもある
・finalキーワードもある
・extendsで継承ができる
・implementsでインターフェースも継承できる
・abstructで抽象クラス、抽象メソッドが作れる
・traitでトレイトが使える
・クラス定数、インターフェース定数が作れる
・クラスメソッドが作れる
・イテレーターも作れる
・タイプヒンティングがある
・名前空間がある
・無名関数(クロージャー)がある
0566nobodyさん
2012/07/22(日) 12:20:24.05ID:???クラス名の命名方法が恣意的。階層が使えないから「工夫」するしかない。
あ、工夫すれば大丈夫だから大丈夫なんだっけ、PHPerは。
0568nobodyさん
2012/07/22(日) 13:00:17.90ID:???http://framework.zend.com/manual/ja/coding-standard.naming-conventions.html
Zend Framework では、クラスの名前が保存先ディレクトリに直接対応するような
命名規約を採用しています。Zend Framework 標準ライブラリの最上位レベルの
ディレクトリは "Zend/" ディレクトリです。一方、Zend Framework 追加ライブラリの
最上位レベルのディレクトリは "ZendX/" ディレクトリです。この配下に、すべてのクラスが階層構造で保存されます。
クラス名には英数字のみが使用できます。クラス名に数字を使用することは可能ですが、
ほとんどの場合はお勧めしません。アンダースコアはパス区切り文字としてのみ使用可能です。
ファイル名が "Zend/Db/Table.php" の場合、クラス名を "Zend_Db_Table" としなければなりません。
0569nobodyさん
2012/07/22(日) 13:01:41.49ID:???それがPHPの標準だよなw
それを知らずに変な名前をつけることができますとか
言う奴は頭おかしいと思う。
Perlだって変な名前をつけることできるだろう。
0570nobodyさん
2012/07/22(日) 13:21:22.58ID:???0571nobodyさん
2012/07/22(日) 13:29:10.99ID:???だからさー、requireする時とクラス名呼び出す時で名前が違って
その規約ってのが実装で異なるってのがおかしーだろって話だよ。
そもそもrequireが実行ファイルからの相対パスおよび絶対パスとか、
他にそんな言語あんのか?
0572nobodyさん
2012/07/22(日) 14:27:06.10ID:???そのMyClass.pmの中に、HogeHogeって
クラス名を付けられるけど。
そもそも、一ファイル一クラスなんて
ありえない仕様なわけで、
ファイル名とクラス名は一致しないことも多い。
0573nobodyさん
2012/07/22(日) 14:35:58.11ID:???出たよ。「工夫すればなんとかなる」
お前らそれしか言えないじゃん。
>>568
>>569
よく使われている方法というだけでPHPの自体の標準ではない。
そもそもクラス名の階層をアンスコでつなげて一意の文字列として扱うって
素っ頓狂な発想は他の言語には一切ない。
階層だとRubyが若干汚いかな。requireが。
クラス名についてはPerl方式ででPHPのようなことはない。
0574nobodyさん
2012/07/22(日) 14:49:55.13ID:???話の本筋から外れた言いがかり乙
Rubyも同じだけど、回避方法がマニュアルに明記してあるのと実装間で
バラバラのお約束しかない言語を並べてどーすんの。
0575nobodyさん
2012/07/22(日) 14:57:52.05ID:iBnESBtC5でマトモになったんだとばかり思ってた
0576nobodyさん
2012/07/22(日) 20:19:59.63ID:???「出た、工夫すればなんとかなる」
いや、同じ事ばっか言ってんのはお前ですからwww
0578nobodyさん
2012/07/22(日) 21:57:12.96ID:iBnESBtC0580nobodyさん
2012/07/22(日) 22:15:59.78ID:iBnESBtCお前、>>565がPHPの機能だって気づかなかったのかwww
PHP厨の中でも最低レベルだなwww腹いてえ
0581nobodyさん
2012/07/22(日) 22:25:27.43ID:???Perl厨って日本語が苦手なやつばっかですねwww
0582nobodyさん
2012/07/22(日) 23:08:54.71ID:???グローバルスコープ君は、
・保守がいらないならPHP
・保守がいるならPerl、Ruby
ということだな
つまり
・PHPは保守性が低い
・保守契約がないクライアントには、
保守性が低いものを納品してもいいと思っている
ということだろうな
PHPで保守性を高めることもできるんだが、
それ以上に、品質が低いものを納品してもいいと思ってる奴に
依頼したくねーなwww最悪w
0583nobodyさん
2012/07/22(日) 23:10:54.71ID:iBnESBtC保守性ね。工夫すれば出来るね。
0585nobodyさん
2012/07/22(日) 23:38:22.41ID:???お前の方じゃん。
まるでグローバルスコープ以外に欠点がないようなミスリードもしてるし、
なぜかPHPをDisる奴は全員Perl厨だって設定になってるし。
0586nobodyさん
2012/07/22(日) 23:47:17.71ID:???・反論できている
・人格攻撃に転じるのは、「PHPerはPHPしか書けない」とか決めつけて
PHPをDisる奴のほうが多いだろ
・欠点がないとは言ってない、PHPが腐ってる具体例をあげろと言ったら
グローバルスコープを持ち出したからだろ
・Perl厨か聞いたら返答がなかったから、そう判断した
0587nobodyさん
2012/07/22(日) 23:52:15.74ID:???だめだこりゃ。
グローバルスコープ以外にもクラス名とかrequireのパスとかでツッコまれてるし、
反論って結局「工夫すれば大丈夫」であって他の言語に劣る点は変わってないじゃん。
0588nobodyさん
2012/07/23(月) 00:28:00.48ID:???「クラス名とかrequireのパスとか」ってもっと具体的に書けよw
んで反論すると「「工夫すれば大丈夫」で逃げる」って
逃げてるのはどっちだよwww
いいよな、反論されたら「出た、「工夫すれば大丈夫」」って言えばいいんだからw
0589nobodyさん
2012/07/23(月) 00:38:20.77ID:???フレームワーク使えば大丈夫。に変えてやろうか?
0590nobodyさん
2012/07/23(月) 00:41:58.86ID:???それより「クラス名とかrequireのパスとか」を具体的に書けよ
0592nobodyさん
2012/07/23(月) 00:54:21.02ID:???require_once(__FILE__) . 'lib/App/Frontend/Customer/Login.php';
汚い。こんな汚いのは他の言語には現在出てくることはないが、PHPの
プロダクトはこれがデフォ。
クラス名の問題
パスから一意の文字列を生成するしかないしお約束がフレームワークの実装に
よって違う。どちらも他の言語には見られない。
グローバルスコープ
スコープ内でも関数名はグローバルスコープ。つまりスコープが偽物。
しかもこれを抑制する方法が全くない。
はい、具体的な反論どうぞ。「こう工夫すれば大丈夫」じゃなくてな。
Perlのクラスは工夫だらけだが、Perl4の実装が良かったので前方互換としては
まあマシ。PHP5はPHP4がゴミなのに前方互換を持たせた結果今だにゴミ
Perlを例に出したのは途中で仕様がガラッと変わった言語ってあまりないからだ。
0593nobodyさん
2012/07/23(月) 01:01:39.17ID:???なげーよw
とりあえずrequireのパスについては、
別に __FILE__ . 'lib/....
がデフォってわけではない
include_pathを適切に設定して
require_once 'Zend/Controller/Front.php';
とでもすればいい話
相対パスが嫌なら、include_pathで相対パスを含めなければいい
で、どの辺が糞なんだ?
0594nobodyさん
2012/07/23(月) 01:04:05.27ID:???バグを放置する開発陣の怠惰とか、セキュリティホール頻発とか、
それがいつまで経ってもFIXされないとか、セキュリティホールを
埋め込むのを推奨してるとしか思えない関数(サニタイズ系とか)とか、
オープンソースのソースコードが全然「工夫できてない」とか、
1レスじゃ収まんないくらい欠点あるぞ。
0595nobodyさん
2012/07/23(月) 01:04:50.33ID:???>include_pathを適切に設定して
>require_once 'Zend/Controller/Front.php';
>とでもすればいい話
だからそれが「工夫すれば大丈夫」なんじゃん。
自覚ないから怖い。
0596nobodyさん
2012/07/23(月) 01:04:59.08ID:???> クラス名の問題
>
> パスから一意の文字列を生成するしかないしお約束がフレームワークの実装に
> よって違う。どちらも他の言語には見られない。
これはよく分からんかったが、命名規約がフレームワークによって違う、
ってことか?
もう少し詳しく説明し、「他の言語には見られない」ではなく
それによってどういった問題が発生するか説明してくれ
■ このスレッドは過去ログ倉庫に格納されています