2016-05-18 16:15:13 4661次浏览 4条回答 0 悬赏 10 金钱

模块入口

<?php
namespace app\modules\api;

use yii\base\Module;
use yii;

class ApiModule extends Module
{
    public function init()
    {
        parent::init();
        yii::$app->response->format = yii\web\Response::FORMAT_JSON;
        yii::configure($this, require(__DIR__ . '/config/main.php'));
    }
}

模块控制器

<?php

namespace app\modules\api\controllers;

use yii;
use yii\web\Controller;

class IndexController extends Controller
{
    public function actionIndex()
    {
        return (array) yii::$app->params;
    }
}

模块的配置

<?php
return [
    'components' => [

    ],
    'params' => [
        'id' => 5
    ]
];

为什么 yii::configure 没有生效,yii::$app->params打印出来 是父级的值

最佳答案

  • robbins 发布于 2016-05-18 20:40 举报

    先获取模块实例再访问模块配置!

    $module = \Yii::$app->controller->module;
    $maxPostCount = $module->params['maxPostCount'];
    
  • 回答于 2016-05-18 20:10 举报
    [
        'modules' => [
            'api' => [
                'class' => 'app\modules\api\Module', \\Module为模块类文件
            ],
        ],
    ]
    
  • 回答于 2016-05-19 18:34 举报

    模块的配置你用应用实例去获取当然获取不到

  • 回答于 2018-08-28 10:10 举报

    同问,我遇到了模块自定义配置不能生效的问题

您需要登录后才可以回答。登录 | 立即注册
haowei2016
实习生

haowei2016

注册时间:2016-05-18
最后登录:2017-07-26
在线时长:0小时54分
  • 粉丝0
  • 金钱5
  • 威望0
  • 积分5

热门问题