首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何加载Yii模块组件?

如何加载Yii模块组件?
EN

Stack Overflow用户
提问于 2013-12-10 14:54:57
回答 3查看 4.9K关注 0票数 0

当我执行所描述的这里步骤时,我只需使用config /main.php中的配置:

代码语言:javascript
复制
<?php
return array(
  'modules' => array(
    'tracking' => array(
      'components' => array(
        'tracking' => array(
          'foo' => 'bar'
)))));

这个结果,当我var_dump Yii::app()->getModule('tracking')

代码语言:javascript
复制
object(TrackingModule)#148 (20) {
  ["defaultController"]=>  string(7) "default"
  ["layout"]=>  NULL
  ["controllerNamespace"]=>  NULL
  ["controllerMap"]=>  array(0) {}
  ["_controllerPath":"CWebModule":private]=>  NULL
  ["_viewPath":"CWebModule":private]=>  NULL
  ["_layoutPath":"CWebModule":private]=>  NULL
  ["preload"]=>  array(0) {}
  ["behaviors"]=>  array(0) {}
  ["_id":"CModule":private]=>  string(8) "tracking"
  ["_parentModule":"CModule":private]=>  NULL
  ["_basePath":"CModule":private]=>  string(79) "..."
  ["_modulePath":"CModule":private]=>  NULL
  ["_params":"CModule":private]=>  NULL
  ["_modules":"CModule":private]=>  array(0) {}
  ["_moduleConfig":"CModule":private]=>  array(0) {}
  ["_components":"CModule":private]=>  array(0) {}
  ["_componentConfig":"CModule":private]=>  array(1) {
    ["tracking"]=> array(1) {
      ["foo"]=> string(4) "bar"
    }
  }
  ["_e":"CComponent":private]=>  NULL
  ["_m":"CComponent":private]=>  NULL
}

我希望我可以通过Yii::app()->getModule('tracking')->tracking访问模块组件。但是正如您所看到的,Yii::app()->getModule('tracking')没有组件,只有它的配置。

有什么建议我做错了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-12-10 18:27:19

您必须为组件指定类,例如在config (TrackingClassName)中:

代码语言:javascript
复制
'modules' => array(
    'tracking' => array(
        'foo' => 'bar',
        'components' => array(
            'tracking'  => array(
               'class' => 'TrackingClassName', 
            ),...
票数 3
EN

Stack Overflow用户

发布于 2013-12-10 15:19:50

您仍然可以通过Yii::app()->getModule('tracking')->tracking访问它。组件将在第一次使用之前创建。

票数 0
EN

Stack Overflow用户

发布于 2013-12-11 10:47:03

看这里

Yii论坛的另一篇文章

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20497620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档