从hmvc模块访问控制器公共控制器属性

时间:2012-01-24 13:17:48

标签: php codeigniter hmvc

使用wiredesignz模块化扩展进行codeigniter,我想知道是否可以从模块的控制器访问常规的codeigniter控制器的公共属性 例如,这是一个常规的ci控制器

<?php

class Dog extends CI_Controller {
    public $name;


    function __construct()
    {
       $this->name = "xyz";
     }

}

这是一个模块控制器

<?php
  class Test extends MX_Controller {
     function get_name()
     {
         //access the $name property of the dog controller here
     }
  }

1 个答案:

答案 0 :(得分:1)

如果您正在使用HMVC,则没有理由为什么所有或任何控制器都无法从MX_Controller继承。您可以在普通应用程序/控制器或继承MX_Controller的应用程序/核心文件夹中安装控制器,它们不必是“模块”控制器。 如果您需要从另一个控制器访问属性,为什么不创建基本控制器,例如扩展MX_Controller的MY_Controller,将其放在应用程序/控制器或应用程序/核心中,然后每次创建“模块”控制器时,只需继承MY_Controller而不是MX_Controller。

不要忘记您可以加载任何模块控制器并像库类一样使用它。