PHPで作られた有名サイトってあるの?
■ このスレッドは過去ログ倉庫に格納されています
あるわけないかな。
ウェブ系言語で一番しょぼい言語だし。 マルチスレッドの実装にもよるな。Perlのthteadsは各スレッドに
グローバル変数があった気がするが、糞なので誰も使わない。
Coroなんかだとグローバル変数は互いに影響があった気がする。
ただしPerlではグローバル変数は基本使わないからよく知らん。 結局PHPは人気
JSPはどう見てもPHPのパクりだし
<?php ?>が<% %>になって言語がjavaっぽくなっただけ 確かにPHPはやや難ありの言語だが、工夫すればなんとかなる。 >>465
それはどの言語?まさかJavaじゃないよね。 Java詳しくないから教えて欲しいんだけど・・・
Javaのapplicationスコープって、複数台に分散した場合どうなるの?
TomcatとかJBoss、WebSphereで違うの? PHPって一時期、書店に並んでいたプログラミング言語の本でもっとも多く、
もっとも人気があったものだと思うけど、評判は意外とよくないんだね。 >>496
イマイチな仕様はもちろんあるが、それ以上に
Java、Ruby、Perlが好きな奴らが必要以上に叩いてるだけだよ
中規模までのWeb開発ならPHPがいいだろ >>497
PHPは早い、安い、楽だからね。そこは認めるよ。
でも「仕様がイマイチ」は持ち上げすぎだな。仕様は腐ってる。
他の言語書きがPHPを必要以上に叩いてるって理屈になると、JavaもRubyも
PerlもPHPプログラマ様にボコられてるはずだけどそういう風景って見ないよね。
ちなみに俺の仕事の半分以上はPHPだし特に好きな言語はないよ。
ただ明らかにJava/Ruby/Perlに比べるとPHPは言語としては遥かに劣る。 配列を記述するときに使うarray()は、array関数、それともarray命令?
どっちの名称が正しいんでしょうか。関数と命令はどう違うんでしょうか? >>498
「他の言語書きがPHPを必要以上に叩いてる」
↓
「JavaもRubyもPerlもPHPプログラマ様にボコられてるはず」
なぜこうなるのかが分からない
PHPは仕様がイマイチなのに流行ってるから
妬まれてる、っていうケースも多いんじゃないか?
仕様が腐ってて、言語として劣るって
具体的にはどういうところ? >>500
上の方でさんざん出てるでしょ。まだ蒸し返す気かよ。
PHPerの統一見解は「腐ってると言われてる部分は全部工夫すればなんとかなるから、
仕様が腐ってても言語として劣ってるとは言えない」なんだよね。
びっくりしたわ。 >>501
上の方だけじゃ、それのうちのどれなのか分からん
蒸し返す、って「腐ってる」とか「明らかに遥かに劣る」とか
そういう言葉を使うからだろ
強烈な言葉を使ってレッテル貼りするやつって
結局具体的に説得力のあることは書けないんだよな ・グローバルスコープを抑止する方法がない
これだけで充分腐ってると言えるし、今生きてる言語でこんなひどい
実装を普通とか工夫すればいいとか言ってるところがPHPerのすごいとこだわ 言語は目的ではなく手段
アセンブリよりCを使う
CよりC++を使う
C++よりjavaを使う
javaよりperl/ruby/pythonを使う
perl/ruby/pythonよりPHPを使う
PHPオンリーよりPHPとフレームワークを使う
ギークなスキル磨くなら上の方がいいけど実用性では下の方がいい
PHPじゃ不満だからといってアセンブリで書いたら生産性落ちる 腐ってるは絶対評価
劣ってるは相対評価
っつーこった >>504
最後の三行あたりはケースバイケースなんだがな。
PHPしか書けないとこういう可哀想な発想になるのか。
俺だってPHPは書くよ。というか今日は他人のPHPコードとの戦いだったよ。
マジで死んでくれとか思いながら仕事してましたよ。
確かに生産性はいいけどプログラマによって保守性がメチャクチャ悪くなるんだよな。
前からそう言ってるんだが。 >>503
「グローバルスコープを抑止する方法がない」=「腐ってる」
という主張だな
スクリプト言語は大体そうじゃないのか?
PerlやRubyも腐ってるってことだな
Cはどうなんだ?
まあお前の主観に過ぎないがなwww >>507
Perlはuse strictで抑止できる。Rubyは$付けないとグローバル変数にならない
ので目視で分かる。PHPは? 書き忘れた。Cもexternで明示的に宣言しないとダメだし、デフォルトのスコープは
ファイルスコープだったろ あ〜、ファイルスコープはOKって話?
PerlのフリーCGIとか、1ファイルに詰め込んであったりするよなw
ourでグローバル変数は使えるし
PHPも「目視で抑止」はできるぞw >>510
目視でというか、明示しないとグローバルスコープにはならないって意味ね。
で、見ても分かる。ourも然りね。
何かしかのスコープの外に出すとPHPは勝手にグローバルスコープになるし、
それを抑止する方法がない。
> PerlのフリーCGIとか、1ファイルに詰め込んであったりするよなw
お前の脳みそは昭和なの?
> PHPも「目視で抑止」はできるぞw
はいはい。工夫すればなんとかなるのね。 PHPerが揃って他の言語使えないってのはやっぱマジだったんだな。 関数、メソッド内では global を使わないとグローバル変数使えないだろ
そういう意味では宣言側ではなく使用側で抑止できる
っつうか、フレームワークの起動時以外
グローバル変数なんて使わないだろ
1ファイル1クラスにしとけば、グローバル変数が宣言されていないことくらい
それこそ目視で確認できる
それでPHPだけ腐ってるってのは無理があるな
あと、Perlの昔ながらのCGIは今時でも結構見かけるぞw
昭和に作られたCGIなんてほぼないだろw >>514
スコープってのは変数だけが対象じゃないだろ。グローバルスコープに
置かれた関数とかタチわりーぞ。
で、宣言側で抑止しないと、グローバルスコープを外そうとしても
外せないという現象が起こる。
Perlはourを片っ端から外せばエラー出まくるからそこを直せばいい。
PHPのグローバルスコープに$iとか撒かれたら軽く死ねるぞ。
それからむかーしのPerlCGIをDisるなら、むかーしのPHPのソースでも読んでこい。
もっとひでーから。
あと昭和が終わったのが1988年だ。冗談も分からんとはな。 結局、作りが悪いプログラムをいじらされた
個人的な恨みだろ >>516
だから保守性だってんだろ。作りが悪いPerlのプログラムも結構直してきた
けど片っ端からuse strictぶち込んでエラー消せばそれだけでそこそこ綺麗に
なるんだよ。Javaに至ってはスコープがきっちりしてるからクラスの再設計
するだけで綺麗になるし。PHPは簡単便利だけど保守性が悪すぎるんだよ。
WordPressやMediaWikiのメンテのトロさをみたらそのくらい分かると思うんだが。 だったら、保守性が悪いプログラムを他の言語よりも作りこみやすい、
程度にしときゃいいだろ
柔軟性と保守性はトレードオフの部分があるがな
「グローバルスコープを抑止する方法がない」から「腐ってる」
とか変な主観書くからだろ 要はメンテナンス性が高くてPHPみたいに気軽に使えてWeb向きな言語が開発されれば…
pythonをいじるのが簡単そう
PHPのメリットは連想配列で引数やPOSTの中身受け取れたり
ワンファンクションでメール送れたりエスケープ関数使えたり…
これをpythonに組み込めば一件落着
>>518
PHPが作りこみやすい……だと……!?
PHPしか書いたことがないやつが他の言語と比較するからさっきから
おバカを晒してることに気づけよ。
> 「グローバルスコープを抑止する方法がない」から「腐ってる」
> とか変な主観書くからだろ
いや腐ってるだろ。 技術的な話してるのに言い返せなくなったら人格攻撃かwww
さすがPHPer、底が知れるな。 >>520
んじゃ聞くが
> PHPが作りこみやすい……だと……!?
ってどういう意味で書いたんだ?
あと
> PHPしか書いたことがないやつが他の言語と比較するからさっきから
> おバカを晒してることに気づけよ。
これは人格攻撃だろ
的外れな推測だけどな
> さすがPHPer、底が知れるな。
これもな
腐ってるのはお前だよ だから技術的な話しろよ。
PHPが他の言語より作り込みやすい根拠でも述べてみ。 だから
保守性が悪いプログラムを作りこみやすい
って書いてんだろ?
それを逆の意味に取ってるからバカなのかな、って思っただけだよ お願いだから誰か保守性が高くてカルボナーラにならない言語仕様がしっかりしたPHP作ってください>< 自由度が高いから、ルール無しで初心者が作ると保守性が下がる
トレードオフではあるけど、もう少し言語として制約があったほうが
バランスはよさそうだよな
use strictみたいなオプションがあれば少しはいいのかな? >>508
> Perlはuse strictで抑止できる
できません。 <?php
$a = 1; /* グローバルスコープ */
function test()
{
echo $a; /* ローカルスコープ変数の参照 */
}
test();
?>
このスクリプトは、出力を全く行いません。
これは、echo 命令がローカ ル版の $a 変数を参照しているにもかかわらず、
このスコープでは値が代入されていないからです。 perl
use strict;
use warnings;
my $a=1; # グローバルスコープ
sub test {
print $a;
};
test()
このスクリプトは、出力を行います。
Perlの問題点。use strictが何の意味もないことを意味しています。 perl
use strict;
use warnings;
my $a=1;
sub foo {
$a=2;
}
foo();
print $a
この例では2が表示されます。Perlのダメなところです。 perl
use strict;
use warnings;
sub foo {
$a=2;
}
sub bar {
$a=3;
}
foo();
bar();
print $a
まあ、なんて恐ろしい。警告も出ずに3が表示されます。
まあ、532は引っ掛けですけどねw
自称Perl使いさん。正しく答えられますか? >>532
Perlはそれが主ルーチンだとするとlocalの$aで通るんだろうけど、この手の
ミスがファイルスコープにとどまるのがPerl。コード全体が汚染されるのがPHP >>534
わざとなの? それとも馬鹿なの?
馬鹿なPerl使いだろうけど。
perlにファイルスコープなんてありゃしない。
しっかり他のファイルで与えた数値が表示される。
[main.pl]
use module;
print $a;
[module.pm]
$a=1;
こうやってみると、PHPよりも
Perlの方が糞仕様な言語だなw >>535
馬鹿はお前だ。まずuse strictが前提だと何度も言われてるだろ。
でだ。$aと$bは予約されたグローバル変数だから使っちゃダメ。無知すぎる。
そもそも1文字変数名使う時点で馬鹿プログラマの証拠。だからこういうミスをする。
$fooに変更して、それぞれにuse strictつけてみ?ファイルスコープどころか
裸の変数自体許されないから。
これを回避するにはmy $fooとすると良いのだが、my宣言された変数はファイル
スコープだ。つまり一般的にはどのスコープからも外れた変数はファイル
スコープ。
そういう厳密な機能がPHPにはないだろ?って言ってるんだけど。 Perlはuse strict抜くとダメって言ってるのはPHPは4がダメだからダメ、って言ってるのと根本的に同じ
Perl5はPerl4のが動くように配慮があるからデフォルトでグローバル変数が残ってて、Perl5の恩恵を受けるにはuse strictしましょうねってのが大前提だからな
しかし$aはないわな。一連のPHPerの言い分ってほとんど
・PHPしか書けない故の激しい勘違い
・PHPは工夫でなんとかなるから糞じゃない
この2つに尽きるだろ だよな、Perl厨アホすぎwここがPHPスレと認識できないほど情弱なんだろw
それほど情弱だからPerlなんてメリットが一つもないゴミ使ってんだろwww
Perlって腐ってるよな
$aとか$bなんていろんなサンプルコードで使われてるのに
予約されてるってw
糞仕様www 数分おきに連投とかwww
そんなに>>535が恥ずかしかったんだな、可哀想に
まあ俺も$aと$bは糞だと思うよ。どの言語にも糞な部分はあるし、
そういうのは素直に認めるべきだと思うんだけどPHPは固くなに
「工夫すれば大丈夫」で正当化するよね。みっともない。
Perlでは「1文字変数名使う時点で馬鹿プログラマの証拠」なんだなw
どちらかというとそんな言語が腐ってると思うがw
Perl厨は「工夫すれば大丈夫」ではなく、
糞仕様を知らないほうが馬鹿、ってなんのか
最悪だなw >>543
どこの現場でも余程のことがない限りグローバル変数に一文字変数つかったら
殴られるレベルだと思うんだがPHPは違うのか。
さすが工夫すれば大丈夫な言語だけあるな。 >>543
PerlをDisり損ねて自分の無知を正当化したいわけだ。
>>535がとても恥ずかしいミスだということは変わらないし、
お前が顔を真っ赤にするほど>>535への安価は貼られていく。 >>544
>>515
> PHPのグローバルスコープに$iとか撒かれたら軽く死ねるぞ。
だったらこれは言語の問題じゃないだろw
そもそもグローバル変数は原則使わないし
「1文字変数名使う時点で馬鹿プログラマの証拠」
はグローバル変数に限定してないように取れるぞ
それに俺は>>535じゃないぞ
勝手に決めつけて恥ずかしいやつだなwww
PHPスレだからPHP擁護派は何人か書き込んでるだろ
Perl厨は1人っぽいがなwww >>542
> 数分おきに連投とかwww
>>544-545
あ、つられて俺も連投しちゃったよw
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
543 名前: nobodyさん Mail: sage 投稿日: 2012/07/21(土) 16:35:41.64
544 名前: nobodyさん Mail: sage 投稿日: 2012/07/21(土) 16:38:04.51
545 名前: nobodyさん Mail: sage 投稿日: 2012/07/21(土) 16:41:58.51
ひでーなこれ Perlにはクラスがないので、自分でクラスを作る必要がある。
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; Perlはやっぱり仕様が素晴らしいよな
ちょっとshiftしたりblessしたりして、毎回同じようなnewを書くだけで
簡単にクラスを実装できちゃうんだもんな
継承もour @ISAを使うだけでいいし
OOやるならPerlだな、やっぱり グローバルスコープ君はさぁ、新規で中小規模のWeb案件があったら
やっぱりPerlを選ぶんだよね? >>556
グローバルスコープ君というのが誰か知らんが、中小規模なら前から
言っているように、投げっぱなしで保守がいらないならPHP一択、
β版のまま公開して運用しながら開発するような場合や、保守込みの
契約の場合はPerlなりRubyなり。PHPはありえん。
Pythonは使いたいんだが人出がまだ足りないのと、他の案件に使い回し
できない可能性が高い。
Perlのクラスに関しては、Perl4にblessを加えただけという超簡単実装なので、
見る人によっては汚く見えるだろう。しかしクラス名とファイル名が一致せず
オートロードで階層が深いような場合は「工夫する」かgrepするしか探し出す
しか手段がないPHPよりはかなりマシ。
Perlでもファイル名とクラス名を違えることはできるが、クラス名がファイル
階層を表現できるため、現実問題そういう実装は考えにくい。つまりPHPの
ような汚い実装はなかなか見かけない。
PHPのプロジェクトであるmagentoには私は敬意を払っているが、このファイル名
とクラス名の不一致問題には不満の意を禁じざるを得ない。 ちなみにPerl厨は一人とか言っているが、俺はそんなにPerlには思い入れはない。
PHPより歴史が長いため、使ってる期間が長いってくらいだ。現在メインで
使っている言語はC++。
> 継承もour @ISAを使うだけでいいし
これはむしろPerlの汚いところだと思う。PerlのOOの素晴らしいところは、
ほとんどPerl4の仕様を変えずにOOを実装した点にある。そこは勘違いしては
いけない。PHPはOOを比較的きっちり実装しつつ、PHP4への互換を維持しよう
とした結果、ワケワカメな状況に陥り、strictのような構文に対する縛りが
存在しないため、PHP4脳の土方プログラマの暴走を止められずにいる。 >>557
> Perlでもファイル名とクラス名を違えることはできるが、クラス名がファイル
> 階層を表現できるため、現実問題そういう実装は考えにくい。つまりPHPの
意味がわからん。
Perlはファイル名とクラス名は
全く関係ないよ。
use Hoge::Hoge; # ← クラス名ではなくただのファイルパス相当
とやっておきながら、
my $hage = Hage->new()
ということもできる。 >>559
だーかーら。Perlは慣習にすれば綺麗に書けるけどPHPはその手段すれない
って話じゃん。クラスのファイル階層を表現する手段がないから
「工夫で大丈夫」にするしかないっていうね。 >>561
慣習は言語の設計側が推奨している。だから一意に解釈できるし、
階層も綺麗に表現できる。
PHPは設計側がほったらかしだから、実装側が「階層はキャメルケースで」
とか「アンスコ区切りで」とか「オートロードするからこのルールで」とか
無法地帯。 つかマジでPHPのOOが他よりマシだと思うなら今すぐ廃業した方がいいよ
マジで。他の言語書けないんだろ?技術的なツッコミが一切ないし、あった
として>>535みたいな知ったかだからな。 Perlはいろんなやり方があって
人それぞれ書き方が違うからだめだろう。 >>563
具体的に何かダメか言ったら?言えないんだろうけどw
お前がPHP知らないようだから書いておくわ。
PHPのオブジェクト指向機能
・classキーワードで簡単にクラスが定義できる
・もちろんクラスを定義するだけで、newでインスタンスが作れる
・interfaceキーワードでインターフェースも作れる
・public、private、protectedスコープがある(カプセル化)
・コンストラクタ、デストラクタがある
・オーバーロードもある
・finalキーワードもある
・extendsで継承ができる
・implementsでインターフェースも継承できる
・abstructで抽象クラス、抽象メソッドが作れる
・traitでトレイトが使える
・クラス定数、インターフェース定数が作れる
・クラスメソッドが作れる
・イテレーターも作れる
・タイプヒンティングがある
・名前空間がある
・無名関数(クロージャー)がある >>565
クラス名の命名方法が恣意的。階層が使えないから「工夫」するしかない。
あ、工夫すれば大丈夫だから大丈夫なんだっけ、PHPerは。 >>566
え? それだけ?
ネーミング規約の話で終わりなんだw ネーミング規約ならある
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" としなければなりません。 >>568
それがPHPの標準だよなw
それを知らずに変な名前をつけることができますとか
言う奴は頭おかしいと思う。
Perlだって変な名前をつけることできるだろう。 CakePHPだとキャメルケースにしろって書いてあるよねー(棒) >>569
だからさー、requireする時とクラス名呼び出す時で名前が違って
その規約ってのが実装で異なるってのがおかしーだろって話だよ。
そもそもrequireが実行ファイルからの相対パスおよび絶対パスとか、
他にそんな言語あんのか? Perlもuse MyClassとやって、
そのMyClass.pmの中に、HogeHogeって
クラス名を付けられるけど。
そもそも、一ファイル一クラスなんて
ありえない仕様なわけで、
ファイル名とクラス名は一致しないことも多い。 > それがPHPの標準だよなw
出たよ。「工夫すればなんとかなる」
お前らそれしか言えないじゃん。
>>568
>>569
よく使われている方法というだけでPHPの自体の標準ではない。
そもそもクラス名の階層をアンスコでつなげて一意の文字列として扱うって
素っ頓狂な発想は他の言語には一切ない。
階層だとRubyが若干汚いかな。requireが。
クラス名についてはPerl方式ででPHPのようなことはない。
>>572
話の本筋から外れた言いがかり乙
Rubyも同じだけど、回避方法がマニュアルに明記してあるのと実装間で
バラバラのお約束しかない言語を並べてどーすんの。 おもしれー想像以上にPHPとPHPerが糞でワロタ
5でマトモになったんだとばかり思ってた Perl厨って、反論するとなんでも
「出た、工夫すればなんとかなる」
いや、同じ事ばっか言ってんのはお前ですからwww >>563
>>551-552
>>565
Perl厨はとっとと廃業しろよw >576 名前: nobodyさん Mail: sage 投稿日: 2012/07/22(日) 20:19:59.63 >577 名前: nobodyさん Mail: sage 投稿日: 2012/07/22(日) 20:24:49.76 ID: ???
>>577
お前、>>565がPHPの機能だって気づかなかったのかwww
PHP厨の中でも最低レベルだなwww腹いてえ あ〜、日本語が苦手な方なんですねw
Perl厨って日本語が苦手なやつばっかですねwww >>557
グローバルスコープ君は、
・保守がいらないならPHP
・保守がいるならPerl、Ruby
ということだな
つまり
・PHPは保守性が低い
・保守契約がないクライアントには、
保守性が低いものを納品してもいいと思っている
ということだろうな
PHPで保守性を高めることもできるんだが、
それ以上に、品質が低いものを納品してもいいと思ってる奴に
依頼したくねーなwww最悪w >>583
論点をずらそうとしてるのか、日本語が苦手なのか分からんなw PHPの仕様が糞レベルって話に反論できないから人格攻撃に転じてるのは
お前の方じゃん。
まるでグローバルスコープ以外に欠点がないようなミスリードもしてるし、
なぜかPHPをDisる奴は全員Perl厨だって設定になってるし。 ■ このスレッドは過去ログ倉庫に格納されています