Во время написания какой-то ерунды пришла в голову такая идея, что неплохо бы было автоматически создавать объекты, а точнее вызывать методы не объявленных объектов, чтобы при этом не вызывалась сразу ошибка интерпретатора, а сначала выполнялась логика, которая пыталась создать объект конкретного класса и вызвать нужный метод.

Существует же магическая функция __autoload(), которая помогает нам создавать объекты не инициализированных классов, т.е. принцип действия почти такой же, если нет такого, то вызывается дополнительная логика, которую мы сами можем указать. Так почему не может существовать аналогичный автометод для авто инициализации объекта. Все это позволит сократить код и создавать объекты именно в тот момент, когда они действительно требуются.

На форуме по php часть пользователей толи через строчку читают, толи на своей волне… но такого к сожалению нет в php.

То, что это бред, я не разделяют эту точку зрения, тех форумчан, которые так считают.

Предполагаемая философия примерна такая (в моем представлении, она может быть как сложнее, так и проще):

1. Человек вызывает метод неопределенного объекта
$class->metod()

2. Т.к. переменная $class у нас не была заранее инициализирована как объект, то вылетает ошибка. Но хочется, чтобы отработала логика, скажем аналог магического метода __autoload(), назовем его теоретически __autoobject();

Магический метод __autoobject() должен попробовать создать объект с именем $class, т.е. $class = new Class (не важно какое имя, имя переменно = имя класса, от которого нужно создать объект). Если объект успешно создается, то снова вызывается $class->metod(), только $class уже является объектом. (можно конечно сделать еще и проверку на наличие метода, но это делают другие магические методы). Если такой объект не был создан то вызывается ошибка.

Прочтите также: