Web アプリケーションを簡素化する一連のurlManagerルールがあります。たとえば、Yii に付属のバニラ アプリケーション インストーラーは「ページ」モデルを作成し、ページを/site/page/view/aboutから/aboutにリダイレクトします。
これはうまく機能しますが、Yii が私のルールを読み取って、作成するのに最適な URL を判断できるかどうかはわかりません。現在、次のコードを使用する
と、 createUrlは標準の URL ( /site/page/view/about ) を返します。createUrl('/site/page', array('view'=>'about'))
または、 を使用createUrl('/about')
すると優先 URL に正しくリンクされますが、これは最初の例ほど良い方法ではないようです。また、これをCMenu関数で使用しても、このリンクは現在アクティブなリンクとして関連付けられません。
この要件に従うべきより良い慣行はありますか? createUrlの別の使用法は過度に「ハードコード化」されているようであり、前述のように、システムで論理的に機能しません (アクティブなページの決定など)。