EthnaのActionClassでControllerオブジェクトを呼び出す

June 26, 2008,
tags: ethna php


このエントリーをはてなブックマークに追加

EthnaのActionフォームからwww(ドキュメントルート)のパスを知りたいおもいますた。
Controllerクラスを見ていると、

var $directory = array(
        'action'        => 'app/action',
        'action_cli'    => 'app/action_cli',
        'action_xmlrpc' => 'app/action_xmlrpc',
        'app'           => 'app',
        'plugin'        => 'app/plugin',
        'bin'           => 'bin',
        'etc'           => 'etc',
        'filter'        => 'app/filter',
        'locale'        => 'locale',
        'log'           => 'log',
        'plugins'       => array(),
        'template'      => 'template',
        'template_c'    => 'tmp',
        'tmp'           => 'tmp',
        'view'          => 'app/view',
        'www'           => 'www',
    );```

こんなプロパティがあったので、なんとかControllerのオブジェクトを呼び出して取得してみようと思ったわけです。  
とりあえずbackendの[getController][1]メソッドでControllerオブジェクトを呼び出してControllerの[getDirectory][2]メソッドでパスを取得してみることに。

function perform() {

    $controller = $this->backend->getController();
    print $controller->getDirectory('www');
    exit();

}```

実行結果↓

/xxx/xxx/blog/www

ちゃんとパスが取得できたー!!
しかーし、なんかいちいちControllerを呼び出して取得するってのが微妙だなぁと。
なんかよい方法あったら教えてください。

comments powered by Disqus