2012-01-24 7 views
0

codeigniterのwiredesignzモジュール拡張で作業しています。たとえば、モジュールのコントローラーから通常のcodeigniterコントローラーのパブリックプロパティにアクセスできるかどうか疑問に思っていました。たとえば、これは通常のciコントローラーhmvcモジュールからコントローラーのpublic controllorプロパティにアクセスする

<?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を拡張しているので、public変数とprotected変数を継承する必要があります。この回答を見てください:http://stackoverflow.com/a/6456965/844726 – swatkins

答えて

1

あなたがHMVCを使用している場合は、すべてまたはあなたのコントローラのいずれかがMX_Controllerから継承することができない理由理由はありません。 MX_Controllerを継承する通常のアプリケーション/コントローラまたはアプリケーション/コアフォルダにコントローラを持つことができますが、それらは "モジュール"コントローラである必要はありません。 コントローラのプロパティに別のコントローラでアクセスする必要がある場合は、ベースコントローラを作成しないでください。 MX_Controllerを拡張MY_Controllerは、アプリケーション/コントローラまたはアプリケーション/コアのいずれかに入れて、あなたが「モジュール」のコントローラを作成するたびに、単にMY_Controller代わりのMX_Controllerから継承します。

は、任意のモジュールコントローラをロードし、ライブラリのクラスと同じように使用することができます忘れないでください。

関連する問題