Создан модуль "форум" - в точности как написано здесь а>. Затем создал вложенный модуль "admin":
//"Module.php" in '@app/modules/forum'
namespace app\modules\forum;
class Module extends \yii\base\Module {
public function init() {
parent::init();
\Yii::configure($this, require(__DIR__ . '/config.php'));
$this->modules = [
'admin' => [
// here is my nested module
'class' => 'app\modules\forum\modules\admin\Module',
],
];
}
}
Также создал невложенный модуль "games" (так же) и прописал в "web.php" (основной конфиг-файл):
'modules' => [
'forum' => [
'class' => 'app\modules\forum\Module',
],
'games' => [
'class' => 'app\modules\games\Module',
],
'admin' => [
'class' => 'app\modules\forum\modules\admin\Module',
],
],
Но когда я попытался вывести:
// codeline is written in application view, not in module view
var_dump(array_keys(\Yii::$app->loadedModules));
Я видел только эти модули:
array(4) {
string(19) "yii\web\Application"
string(16) "yii\debug\Module"
string(14) "yii\gii\Module"
string(24) "app\modules\forum\Module"
}
Модули "Игры" и вложенные модули "admin" отсутствуют! Хотя doc говорит:
Свойство $loadedModules хранит список загруженных модулей, включая как прямые дочерние, так и вложенные модули, проиндексированные по именам их классов.
Но я смог получить только модуль "forum", созданный мной. Что я неправильно понимаю?