PHPで作られた有名サイトってあるの?
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/05/26(土) 01:06:30.66ID:???ウェブ系言語で一番しょぼい言語だし。
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:???> クラス名の問題
>
> パスから一意の文字列を生成するしかないしお約束がフレームワークの実装に
> よって違う。どちらも他の言語には見られない。
これはよく分からんかったが、命名規約がフレームワークによって違う、
ってことか?
もう少し詳しく説明し、「他の言語には見られない」ではなく
それによってどういった問題が発生するか説明してくれ
0597nobodyさん
2012/07/23(月) 01:06:51.05ID:???だ〜か〜ら〜
「工夫すれば大丈夫」で逃げんなって書いてんだろ
何が問題なのか、逃げずにもっと具体的に書けよ
0599nobodyさん
2012/07/23(月) 01:09:13.45ID:???長いから順番だろ
拒否じゃねーよ
「反論する代わりに人格攻撃」ってレス番示してくれ
さすがすぎるのはお前だよwww
0600nobodyさん
2012/07/23(月) 01:09:38.93ID:???そう。CakePHPはキャメル、Zendはアンスコ区切り。
文字列だし公式な仕様が存在しないかあシンタックスハイライトしなくて読みにくい。
公式な仕様がないってことは何とでも書けるわけで、あとは分かるな。
0601nobodyさん
2012/07/23(月) 01:12:45.64ID:???ゴメン」みたいなアホなセキュリティホールは他の言語にはない。
PHPだけで何でもしようとした弊害。
セッション絡みとか酷かったけどあれ治ったの?
0602nobodyさん
2012/07/23(月) 01:18:03.75ID:???まあ、公式な命名規約があったほうがいいのは認める
PEAR、Zendがどちらかというと主流でCakeが亜流というイメージはある
ただ、
自由度が高い→糞
制約が多い→素晴らしい
とは限らず、トレードオフの側面はある
個人的にはもう少し縛りがあったほうがいいとは思うが
0604nobodyさん
2012/07/23(月) 01:29:39.48ID:???ぶっちゃけ単純なお問い合せフォーム程度だったらPHPでやるし、
まあCRSFなんかは気をつけないといけないけどそれしきのことで
JavaとかPerlとか持ち出すのはそれはそれで何か違う気がする。
0605nobodyさん
2012/07/23(月) 01:39:33.80ID:???Perlのprintf関数において、format stringに悪意のある値を与える事で
任意のコードを実行されてしまう脆弱性 (Perl format string integer wrap vulnerability)
http://jvndb.jvn.jp/ja/contents/2012/JVNDB-2012-001069.html
Perl の Encode モジュールにおける一つずれエラーの脆弱性
概要
Perl で使用される Encode モジュールの Unicode/Unicode.xs 内に
ある decode_xs 関数には、一つずれ (Off-by-one) エラーの脆弱性が存在します。
0606nobodyさん
2012/07/23(月) 01:40:09.44ID:???「PHPは仕様がイマイチ」に対して
「イマイチではなくて腐ってる、なぜならグローバルスコープが・・・」
ってグローバルスコープ君がイチャモンつけてきたっていうのが
いきさつだからな
仕様とか実装にまずい点があるのは分かってるって
ただ、言語にはそれぞれメリット、デメリットがある
メリットを考えずに欠点だけ挙げて、
「腐ってる」「劣ってる」っていうのは違うだろ、って言いたいだけだよ
言語の優劣に絶対的、普遍的な基準はあるのか???
0607nobodyさん
2012/07/23(月) 01:44:17.03ID:???みんなの共通した意見である。
0608nobodyさん
2012/07/23(月) 01:46:14.19ID:???perl に含まれている Safe モジュール(Safe.pm)に 脆弱性が発見されました。
攻撃者に、アクセス制限を回避し任意のコードの挿入と 実行を許す可能性があります。
0609nobodyさん
2012/07/23(月) 02:49:39.66ID:???そりゃどの言語もセキュリティホールはあるよ。
PHPのは「セッションの取り扱い勘違いしてましたテヘ(セッション破棄系のバグ)」
みたいな恥ずかしい脆弱性は見たことがないがな。
あと>>605以外はモジュールのエラーだからPerlの実装とは全く関係ない。
Encodeのはセキュリティホールなの?
PHPは本体自体がボロクソ、PEARなんか穴だらけだろ。恥ずかしくないのかよ。
PHPの言語実装が他の言語に比べて著しく劣ってる意識があるならそれ以上は
言わんよ。「工夫すればなんとかなるからそんなのは問題ない」みたいのが
湧くから指摘してるだけでさ。
0610nobodyさん
2012/07/23(月) 02:51:19.45ID:???>>594 がいちばんPHPの糞具合をもっともらしく表現してるきがするんだけどね。
それ以外のゴチャゴチャ書いてる所で困ったこと無いからシラネ。
でもさ、PHPって実際案件多いよ?
PHP一本で社員数人を普通に食わしていけてるから、
そんな糞でもないのかなーと思ってるよ。
糞ってのがほんとだったらこんなに使われてないだろ。
>>607
おれもそう思うなぁ。
どんな言語にしろ、作り手次第でしょ。
アホが作ってカルボナーラにならない言語があったら教えてくれ。
それなりに「工夫できる」作り手だったら、
何でつくってもいいシステムできるよ。
つまりさ、糞なのはPHPじゃなくてアホな人間ってことなんだろ?
0611nobodyさん
2012/07/23(月) 04:46:11.89ID:???dieするしかないが、dieにはスタックトレース機能がない。
0612nobodyさん
2012/07/23(月) 08:35:46.15ID:???「仕様が糞」っていう議論なのだったら、案件が多いから糞じゃないってのは
あんまり関係ない。
OSで言うとUN*X・Mac>>>>Windowsだと思うんだが、普及してるのは
Windowsなわけで。もちろんWindowsにも優位性があってそれで普及してる
のはあるんだけど、それがOSの仕様として優れてる証左にはならない。
シシャモだってカラフトシシャモがダントツで売れてるけど、本物のシシャモ
より美味しいからじゃない。
PHPは綺麗に書ける人が1人で書くにはいいけど多人数開発になるとカルボナーラ
になりやすいから何で書いても一緒ってのはちょっと違う。言語がコードを
強制するって大事なんだよ。良くも悪くもね。
0613nobodyさん
2012/07/23(月) 10:13:02.62ID:???これもトレードオフだけど
0614nobodyさん
2012/07/23(月) 23:04:18.37ID:???言語がコードを強制していないよな。
例えば基本的なクラスの書き方でも、いろんな書き方とモジュールがあるし。
Moose、Mouse、Class::Accessor、Class::MethodMaker
多人数で、自分の好きな方法でクラスを書きたまえって
いえば、簡単にカルボナーラになる。
0615nobodyさん
2012/07/23(月) 23:05:34.92ID:???言語がコードを強制していなければ、
コーディング規約で強制するか
使うフレームワークの作法にあわせるか
するだけのことだろう。
お前はPerlで言語がコードを強制していない所は
どうするつもりだ?
0616nobodyさん
2012/07/24(火) 02:05:30.67ID:???工夫しないでも誰でも保守性が高いコードを作成できる
PHPは仕様が糞で腐ってる
腐敗臭がする
PHPerは他の言語を知ってる奴は1人もいない
だからPHPが糞であることも分からない
保守が必要な案件でPHPを採用することはあり得ない
でも保守契約してくれない糞みたいな客には糞みたいなPHPで作る
柔軟性、自由度が高いことは糞であって腐ってる
言語というものは制約がきついほど優れている
自由度が高い言語は明らかに劣っている
設定や規約で変えることができても、それは工夫だからだめ
工夫しちゃだめ、言語が提供してなきゃだめ
0618nobodyさん
2012/07/24(火) 02:27:05.89ID:???「仕様が糞」=「使えネェ」ってことじゃないんだよな?
0621nobodyさん
2012/07/24(火) 02:37:06.38ID:???Perl厨が糞なのかは知らんが、これまでの主張をまとめると
>>616に近いだろ
PerlをJavaに置き換えても、遠からずだと思う
0622nobodyさん
2012/07/24(火) 09:27:06.28ID:???また同じことの繰り返しかよ
>言語がコードを強制していなければ、
>コーディング規約で強制するか
>使うフレームワークの作法にあわせるか
PHPはほんと「工夫すれば大丈夫」これ至言だな。
安く掻き集めた人間がそんなこと守るわけないという。
高い賃金払うならもっとマシな言語を選ぶ。
言語として糞とは言わないが、仕様が糞なのはPHPerは認めないとヤバいよ。
すぐPerlを引き合いに出す奴もさー、実はPHPとPerlしか書けないんじゃねーの?
世の中その2択じゃないんだからさ。
0624nobodyさん
2012/07/24(火) 15:30:49.43ID:???PerlのOOは工夫じゃなくて慣習だからいい
0625nobodyさん
2012/07/24(火) 23:20:14.38ID:???言語がコードを強制していないよな。
例えば基本的なクラスの書き方でも、いろんな書き方とモジュールがあるし。
Moose、Mouse、Class::Accessor、Class::MethodMaker
多人数で、自分の好きな方法でクラスを書きたまえって
いえば、簡単にカルボナーラになる。
0626nobodyさん
2012/07/24(火) 23:21:42.88ID:???どんな言語でもコーディング規約作るでしょ。
コーディング規約作るのが「工夫」で
工夫することがダメというのなら、
お前のコードが汚くなるのは当たり前。
0627nobodyさん
2012/07/25(水) 09:43:06.62ID:???つuse strict
これ書いとけばやりすぎた独自の記法とスコープの問題はあらかた解決する。
これがなくて規約任せにするとカルボナーラになるのがPHP。
ちなみに「やり方は色々あるが読みにくくはならない」がPerlのモットー。
下手するとカルボナーラになるのはどの言語も一緒。ただカルボナーラが
ガチガチに固まってて全く解けないってのがPHP。
0629nobodyさん
2012/07/25(水) 18:37:52.04ID:???0631nobodyさん
2012/07/25(水) 23:20:06.59ID:???クラス使えないんじゃないかって思う。
馬鹿だよな。
クラス使っていれば問題は一切起こらないのに。
0632nobodyさん
2012/07/26(木) 00:48:29.11ID:???0633nobodyさん
2012/07/26(木) 00:57:57.79ID:???「グローバルスコープ君」って呼ぶくせに
「グローバル変数の何が問題か不明」とか言うんだろうか?
本当はグローバルスコープの問題点を分かってるんじゃね?
0635nobodyさん
2012/07/26(木) 01:08:55.41ID:???グローバル変数は、特別な場合を除き
使いませんので、グローバルスコープが存在しても
我々まともなプログラマには、一切問題はありません。
問題だって思っている奴が、
ヘボプログラマってだけじゃねーの?
0636nobodyさん
2012/07/26(木) 01:10:13.40ID:???おまいさんがグローバルスコープが変数にしか影響しないと考えている
ヘボプログラマなのはよく分かった。
0637nobodyさん
2012/07/26(木) 01:11:16.35ID:???一人で頑張ってるのか、PHPerはみんなその見解なのか、どちらにしても
痛いわ。
0640nobodyさん
2012/07/26(木) 01:38:35.90ID:???たまーに連投自演を見かけるけど、おまえ同じ人でしょ。
老婆心ながら自演やりたいなら半日くらいは置いた方がいんじゃね?
しかも全く反論できていないため痛さ倍増って感じだし。4,5年ROMって
みてはいかがだろうか。
0642nobodyさん
2012/07/26(木) 02:03:51.38ID:???まんま釣られてるお前の方が痛いわ。マジで2,30年くらいROMった
方がいんじゃね?
反論は>>636でやったけど、2人ともスルーだよねー(棒)
0643nobodyさん
2012/07/26(木) 08:34:33.64ID:???> おまいさんがグローバルスコープが変数にしか影響しないと考えている
> ヘボプログラマなのはよく分かった。
お前、問題の本質がわかってないだろw
グローバル変数がなぜダメなのかっていうのは、
どこからでも変数の中身を変えられるからだぞ。
グローバル関数ってのは変数じゃないから全く関係ない話。
0644nobodyさん
2012/07/26(木) 08:35:49.23ID:???グローバル関数とは区別できるから
どっちみち問題ない。
0645nobodyさん
2012/07/26(木) 09:58:29.78ID:???> あとそれに、クラスを使っていれば、
> グローバル関数とは区別できるから
でた。工夫。
普通の言語はそれをしないように(あるいはファイルスコープに)強制できるのに
便利関数みたいのを作ってそこら辺に置いたりするわけよ。で行方不明になる。
もっとたち悪いのは組み込み関数をオーバーライドする馬鹿。
0646nobodyさん
2012/07/26(木) 10:13:24.39ID:???0647nobodyさん
2012/07/26(木) 10:32:49.27ID:???クライアントサイド、早く他の言語で置き換わって欲しい。
0648nobodyさん
2012/07/26(木) 13:11:13.21ID:2vslQWfi0651nobodyさん
2012/07/26(木) 17:58:35.68ID:???まず「早い安い」が売りのPHPがOOで綺麗にきっちり書かれてる
可能性なんかほとんどゼロだろ経験則上。このカルボナーラのゲロ
みたいなコードはモダン言語ではまず見かけない。口先で「OO完璧に
やれば綺麗です(キリッ」とか言われてもなー。
でさ、PHPの変数って参照するだけで何か変わったりすんの?
printfデバッグやったらCでよくある「printf文挟んだだけで挙動が変わる」
って現象が起きるんだけど。
function foo(){
if($hoge !== $fuga){
.....
}
print "----¥n";
}
こんな位置関係のprint文を入れたり外したりすると挙動変わるんすよ。
■ このスレッドは過去ログ倉庫に格納されています