Скачать расширение можно тут:
https://github.com/denis909/yii2-autoload-classes/
Но удобнее подключить через composer:
Код: Выделить всё
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.5",
"denis909/yii2-autoload-classes": "dev-master"
}
Для автозагрузки классов, нужно добавить в конфигурацию директиву import, как это было в первой версии фреймворка.
Чтобы работать в глобальном пространстве имен в контроллере, нужно не писать namespace app/contollers, т.е. опять же просто делать контроллер как раньше.
Более подробная инструкция есть у меня на сайте:
http://denis909.spb.ru/yii2-autoload-classes
Расширение сделано на основе оригинального кода Yii 1.X
UPD: По результатам обсуждения, я понял что из первоначального описания не совсем ясно что делает расширение, и какая его главная цель, исправляюсь:
Yii 2 в начале каждого класса контроллера обязывает писать так:
namespace app\controllers;
А написав так, все что внутри файла уже находится в локальном пространстве имен контроллеров, и ни один класс в таком контроллере нельзя использовать без его предварительно объявления через use, или без символа \ перед названием класса.
Расширение исправляет это, и позволяет работать с классами в контроллере без их предварительного объявления, т.к. с ним становится необязательно делать контроллеры в app\controllers, а можно работать в глобальном пространстве имен, как это было в первой версии.
Изначально, расширение было задумано для быстрого перевода проектов с первой на вторую версию фреймворка, чтобы избавить разработчика от необходимости в каждом контроллере выискивать вручную какие классы используются в контроллере и подключать их вручную. Однако, такой подход мне показался достаточно удобным, и я для себя допускаю делать так и новых проектах.