Php/docs/yaf-router.getcurrentroute

提供:Dev Guides
< Php
移動先:案内検索

Yaf_Router::getCurrentRoute

(Yaf >=1.0.0)

Yaf_Router::getCurrentRoute使われているルート名を取得する


説明

public Yaf_Router::getCurrentRoute ( ) : string

ルーティングプロセスで使われているルート名を取得します。

注意:

このメソッドはルーティングが終わってから呼ぶ必要があります。 終わる前に呼ぶと、常に null を返します。

パラメータ

この関数にはパラメータはありません。


返り値

ルート名を文字列で返します。


例1 ブートストラップでのルートの登録

<?phpclass Bootstrap extends Yaf_Bootstrap_Abstract{    public function _initConfig() {        $config = Yaf_Application::app()->getConfig();        Yaf_Registry::set("config", $config);    }    public function _initRoute(Yaf_Dispatcher $dispatcher) {        $router = $dispatcher->getRouter();        $rewrite_route  = new Yaf_Route_Rewrite(            "/product/list/:page",            array(                "controller" => "product",                "action"     => "list",            )        );         $regex_route  = new Yaf_Route_Rewrite(            "#^/product/info/(\d+)",            array(                "controller" => "product",                "action"     => "info",            )        );                 $router->addRoute('rewrite', $rewrite_route)->addRoute('regex', $regex_route);    }     /**     * register plugin      */    public function __initPlugins(Yaf_Dispatcher $dispatcher) {        $dispatcher->registerPlugin(new DummyPlugin());    }?>

例2 プラグイン Dummy.php (application.directory/plugins 配下)

<?phpclass DummyPlugin extends Yaf_Plugin_Abstract {    public function routerShutdown(Yaf_Request_Abstract $request, Yaf_Response_Abstract $response) {         var_dump(Yaf_Dispatcher::getInstance()->getRouter()->getCurrentRoute());    }?>?>

上の例の出力は、 たとえば以下のようになります。


/* http://yourdomain.com/product/list/1
 * の場合の DummyPlugin の出力
 */
string(7) "rewrite"

/* http://yourdomain.com/product/info/34
 * の場合の DummyPlugin の出力
 */
string(5) "regex"

/* その他のリクエスト URI
 * の場合の DummyPlugin の出力
 */
string(8) "_default"

参考