最近、プロジェクトでこの奇妙な動作を発見しました。
誤って単なる関数として定義したメソッドがあり (本来はpublic static
)、このメソッドを静的に呼び出しましたが、それでも機能しました! どうしてこれなの?
class C {
function n() {
...
}
}
$y = C::n(); // This works, method is performed as intended, and without errors
ちなみにバージョンは5.4です。