旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

PHPの嫌な点

2007年12月7日

「言語なんてPHPだけでいいじゃん」というような会話がありまして、
その時に相手にささるような反撃ができなかったのが心残り。
・・・ので、今度は上手くやるぜぇと、PHPをDISらせたら西日本屈指のnobuさんに助力を頼んでリスト化してみた。

Let’s disrespect!

  • 変数のスコープが不完全・・・クロージャが作れない
  • 無名関数が無い・・・create_function(笑)
  • メソッドチェインが無い・・・PHP5で追加されたと聞いてたのに、あれかよ
  • 型が曖昧すぎる・・・ $str == “” と empty($str) とか、どうにかしろよ
  • 後方互換用の関数が多い・・・mysql_escape_string と mysql_real_escape_string とか、httpspecialcharsの第2引数とか、誤った方でもとりあえず動くので、細かい間違いが放置されたままになり易い
  • 例外処理が悪い・・・set_error_handlerを設定しないとFatalErrorで実行が止まる
  • ネイティブ関数はアンダースコア表記なのに、メソッドはキャメルキャプス・・・PEARが悪いのか?
  • 代表されるframeworkが無い・・・PHP5リリースとZendFrameworkリリースが近ければ変わったかもしれないけど
  • 信頼出来るライブラリが無い・・・Rubyならgems・Pythonならsetuptools。PHPだとPEARなんだけど、何度中身を見るハメになったことか
  • php.iniとconfigureオプションが冗長・・・php.iniの設定項目が多すぎて把握しきれない。同じくconfigureオプションも項目が多すぎる。「本番サーバで動かない!」→「php.iniの1項目が違った」
  • PHP6からgoto文がサポートされる・・・nobu「さらにクソ度合いが抜群に上がります。」

こんなところすかね

ちょっと前はこういう風に思ってたんですけど、JSをやりRubyをやりASをやったら、恩義だけという対象になりつつあるような。
【追記】
メソッドチェインが無いというのを足した。Yahooおおおお!