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',  "");
    }
カテゴリ: