2012-01-24 180 views
0

我正在與wiredesignz模塊化擴展codeigniter一起工作,我想知道是否有可能從模塊的控制器訪問常規codeigniter控制器的公共屬性 例如,這是一個常規的ci控制器從hmvc模塊訪問控制器公共控制器屬性

<?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 
    } 
    } 
+0

你真的嘗試過嗎?如果我沒有記錯,MX_Controller擴展了CI_Controller,所以公共和受保護的變量應該被繼承。看看這個答案:http://stackoverflow.com/a/6456965/844726 – swatkins

回答

1

如果您使用HMVC沒有理由爲什麼你的控制器的全部或任何無法從MX_Controller繼承。您可以在正常的應用程序/控制器或繼承MX_Controller的應用程序/核心文件夾中擁有控制器,它們不必是「模塊」控制器。 如果您需要從另一個控制器訪問另一個控制器的屬性,爲什麼不創建一個基本控制器,例如MY_Controller擴展了MX_Controller,將它放在應用程序/控制器或應用程序/內核中,然後每次創建「模塊」控制器時,只需從MY_Controller而不是MX_Controller繼承。

不要忘記你可以加載任何模塊控制器,並像庫類一樣使用它。