Чудно́е в PHP
На работе сейчас с любопытным багом в ПХП разбирались. Разобрались, вот выжимка:
interface I {}
var_dump(class_exists('cI')); // false
var_dump(class_exists('C')); // true
class cI implements I {}
class C {}
var_dump(class_exists('cI')); // true
var_dump(class_exists('C')); // trueВыходит, если класс реализует интерфейс, то его не существует выше строки, где он декларируется, класс без реализации интерфейса виден в любом месте. Версия ПХП — 5.5.11. Я для интереса попробовал на 5.6а1 (есть под рукой собранный) — работает так же.
Комментарии 4
И там же есть ответ:
lurkmore.to/PHP