1

Zend Framewor に精通している人は、ルートとは何か、ルートがシステム全体にどのように影響するかを知っています。私の質問は、このルートを構成する方法について懸念しています。Bootstrap.phpと を介して、それらを構成する 2 つの方法を知っていますapplication.ini

ただし、私自身がZend Frameworkの学習者であるという事実を隠していません。どちらが優れていて、どちらが優先されるべきかわかりません。

さらに、これらがルーターを構成する唯一の方法であるかどうかはわかりません。

では、ルーターを構成する方法と、他の方法よりも優れている方法を教えてください。

PS:回答として知っている 2 つの方法を含めました。

4

2 に答える 2

2

ルーティングは実行時に変更されない構成であるため、動的なコードとは別に構成ファイルを配置することをお勧めします。ルーターが本質的に動的な条件に依存している場合は、Bootstrap.php でルーターを定義します。

于 2011-08-17T13:38:59.673 に答える
2

私はこれを私のような人のためのガイドとしてしようとしているので、私が知っている2つの方法を含めたいと思います.

アプリケーション.ini

resources.router.routes.cat.route = "/browse/:catid/:name/"
resources.router.routes.cat.defaults.controller = index
resources.router.routes.cat.defaults.action = browse

ここであなたがすることは, resources.router.routes.XXX.route代わりにルートの名前を定義しますXXX

catidnameは取得される 2 つの/browse/1/pcパラメーターです。URL を渡すと、1 が割り当てられcatidpc名前が付けられます。

残りの 2 行は、MVC から、コントローラーとアクションからの既定のパラメーターを定義します。

Bootstrap.php

    $front = Zend_Controller_Front::getInstance();  
    // Get Router
    $router = $front -> getRouter();
    $routeBrowse = new Zend_Controller_Router_Route(
        '/browse/:catid/:name',
        array(
            'controller' => 'index',
            'action' => 'index'
        )
    );
    $router -> addRoute('browse', $routeBrowse);

前とほぼ同じなので説明は省きます。

ただし、どちらが優れているかはわかりません。だから、知っている人は私の答えを更新してください。

于 2011-08-17T11:04:11.363 に答える