13072


現在Fuelphpでモジュールを使用したアプリケーションを作成しています。  
そこで「コアクラスを継承した自作クラス」を継承したコントローラーを  
作成しようとしているのですが、このコントローラーで「コアクラスを継承した  
自作クラス」を読み込む際にエラーが発生します。

「コアクラスを継承した自作クラス」はfuelphp\fuel\app\classes\myselfフォルダ内にあり、

[code]

    <?php
    namespace Fuel\Core;
    
        class Myself_ControllerPublic extends Controller_Template
        {
                 // 実際の処理
        }
    
[/code]

となります。  
また作成するコントローラーはfuelphp\fuel\app\modules\sample\classes\controller  
フォルダ内にあり、

[code]

    <?php
    namespace sample;
    
    class Controller_Foo extends \Myself_ControllerPublic 
    {
        // 実際の処理
    }
    
[/code]

となります。  
ここで名前空間、extendsの指定を色々変えてみたのですが、どうやっても'Not Found'か  
'does not contain class'となってしまいます。  
fuelphp\fuel\app\classesクラスの自作クラスは命名規則さえ正しければ自動で読み込むと  
思っていたのですが、上手く読み込むことが出来ません。

またMyself_ControllerPublicクラスをモジュール内に置こうとすると、今度はこのクラスを  
Controller_Fooで読み込むことが出来ません。

このようなモジュールにおいて「コアクラスを継承した自作クラス」を継承したコントローラーを  
動作させるのはどうすればよいでしょうか？  
（「コアクラスを継承した自作クラス」はモジュール内外、どちらにあっても構いません。）

ご存知のかたがいらっしゃいましたら、ご教授のほど、よろしくお願い致します。


CC BY-SA 3.0
2015-08-05T09:40:29.813
13069
2015-08-05T11:28:07.920
9759
question
php fuelphp
FuelPHPでモジュールから自作クラスを継承する


コアクラスを継承した自作クラスの名前ですが、  
class Myself_ControllerPublic extends Controller_Template  
ではなく、  
class Myself_Controller_Public extends Controller_Template  
ではないでしょうか？

モジュール側の継承するクラス名も  
class Controller_Foo extends \Myself_Controller_Public  
でどうでしょうか？

アンダーバーでディレクトリの区切りとなっています。  
<http://fuelphp.jp/docs/1.8/general/coding_standards.html>


CC BY-SA 3.0
2015-08-05T11:28:07.920
13072
2015-08-05T11:28:07.920
10813
13069
answer