Yii2 basic на хостинге. Делаю все это первый раз, тапками не кидайтесь. Для создания админки использую подход с созданием модуля admin. Так как у меня базовые 2 модели сгенерировал при помощи Gii 2 соответствующие модели для модуля (иначе контроллер не создавался, так как модели связанные), так же контроллер и представления.
По логике вещей админка должна открыть по адресу: mydomain/modules/admin/module.php?r=book/index
, где book - это моя модель и соответствующий ей BookController, а index соответствующий actiotn.
А при попытке обращения к дефолтному контроллеру: mydomain/modules/admin/module.php?r=default/index
, где default - соответственно создавшийся в Gii дефолтный контроллер и его actionIndex, он должен мне написать: This is the view content for action и бла-бла-бла
Но при попытке обращения к book/index мне открывается тоже представление, что и было для базовой модели book, а при обращении default/index получаю Not Found (#404 О_о
Перепроверил подключение пространства имен, везде вроде все правильно. Было у кого-нибудь что-то подобное и есть ли идеи где вообще может крыться проблема?
Краткий ликбез
Yii2 сделана так, что по умолчанию он работает с любой настройкой веб-сервера, тогда как Симфони/Ларавел требуют жестко -- наличие единой точки входа. Т.к. Yii2 не уверен без флага в настройке вединой точке входа -- он сам жестко роутинг пускает на точку входа с параметром роута на точке входа index.php index.php?r=admin/default/index
А вообще папка modules должна быть вне сервера, а сам сервер должен смотреть в папку web, а не в корень сайта, это при чем у всех фреймворков
Нашел!
Файл с фактическим адресом \modules\admin\module.php был именован с маленькой буквы
А в config/web класс имел вид: app\modules\admin\Module , то есть с большой буквы
Изменил module.php на Module.php и получил искомый результат:)