クラス名とメソッド名の仕様

PHP のクラス名とメソッド名の困った仕様に、「大文字と小文字を区別しない」というものが上げられる。

以下のように、せっかく読みやすいクラスを定義していても、大文字小文字の使い方によっては、可読性が極端に悪くなってしまう。それでも動くところが怖いところ。

「動くからいいや!」なんて放置していると思わぬところで、トラブルの原因になる。例えば、エディタによる置換に失敗すること。置換する際にも大文字小文字を区別しないようにする必要がある。
例:

<?php

# 読みやすい例
class Greeting {
  function hello() {
        print "Hellow!\n";
  }
}

# (動くけど)可読性が悪い例
$o = new gREEtinG();
$o->hELlO();