Ethnaのソースコードを読み解く 第3回 Ethna_Controller::main
Ethna_Controller.php
いよいよ、Ethnaの本体とも言うべきEthna_Controllerです。前回、index.phpを見るとこう書いてありました。
Sample_Controller::main('Sample_Controller', 'index');
これは、こう書くのと同じです。
(Sample_Controllerクラスにはmain関数が存在しないので、親クラスのmain関数が実行される。)
Ethna_Controller::main('Sample_Controller', 'index');
では、Ethna_Controllerを覗いてみましょう。さすがにEthnaの司令塔(コントローラ)というだけあって、ボリュームがあります。
しかし今は気にしない。main()関数を探します。
お、あった。
    function main($class_name, $action_name = "", $fallback_action_name = "")
    {
        $c =& new $class_name;
        $c->trigger($action_name, $fallback_action_name);
    }
これに、先ほどの値が放り込まれてこうなります。
    function main('Sample_Controller', 'index', "")
    {
        $c =& new Sample_Controller;
        $c->trigger('index',  "");
    }
    
      カテゴリ:
      
      Ethna