В чём преимущество автозагрузчика классов?
ведь даже если мы их подключим, но экземпляр не создадим, то ресурсы-то им всё равно не выделяться...
На декларацию класса, функции тратятся ресурсы (Их же нужно где-то хранить). Код пропускается через лексический анализатор, для каждой лексемы создаются токены, а из токенов строится синтаксическое дерево. Так что, даже просто подключение файла потребляет ресурсы.А можно избавиться от строки $obj = new MyClass(); и создавать экземпляр автоматически?
Нет, нельзя.
В 2017 году принято использовать composer для автозагрузки, а не писать свои велосипеды.
Автозагрузка нужна в первую очередь для того, чтобы не подключать их везде (имеется в виду в других классах) руками. Потому что в случае изменения путей, имен файлов и тд потом надо весь код перелопатить и везде все поменять. Плюс, надо помнить что где подключено, чтобы классы были доступны там, где они нужны. Для большого приложения, особенно если использовать ООП во всей красе - interface, abstract, trait и конкретные субклассы, это огромный плюс. Ну и да, классы будут загружаться только если они реально нужны, а не всегда, что сократит в том числе и время парсинга.А можно избавиться от строки $obj = new MyClass(); и создавать экземпляр автоматически в момент $obj->displayVar();?( new MyClass )->displayVar();