あなたの質問に対するいくつかの答えが見つかりました。それはすべて、Zend Framework ソフトウェアをどのように構築したいかによると思います。
私の理解では、Company という管理者がいます。次に、productOverviewAction() などを含むさまざまなアクションがあります。
だから、ここにいくつかの「ほぼそこにある」解決策があります-そして、私はあなたの現在のジレンマを解決します. :)
最初の可能な答え
会社固有の情報については、コントローラー Company を使用することをお勧めします。おそらく、製品情報用の Product というコントローラーを作成します。次に、実際には /product/[unique-id]/overview のような URL に移動します。これに一致するルートは次のとおりです。
$route = new Zend_Controller_Router_Route(
'product/:productCode/:action',
array(
'controller'=>'product'
)
);
ご覧のとおり、正規表現でもないので、高速に実行できます。
2番目に考えられる答え
正規表現が必要な理由は、アクションが URL と一致せず、その一部で構成されているためです。ただし、Company::productOverviewAction() を Company::OverviewAction() に変更したとします。その後、次のルートを使用できます。
$route = new Zend_Controller_Router_Route(
'company/:productCode/:action',
array(
'controller'=>'company'
)
);
しかし、私はそれがあなたが尋ねたものと正確ではないことを知っています...
ほぼ正確な答え
ルーティング クラスを変更しなくても、次のルーターを使用できます。
$route = new Zend_Controller_Router_Route(
'company/:productCode/:action',
array(
'controller'=>'company'
)
);
そして、各アクションに向けられるため、CompanyController でアクションをプロキシできます。例えば:
public function overviewAction()
{
return $this->productOverviewAction();
}
*注: 再発送しないように _forward() は使用しませんでした (そうなったと思います...)
頑張ってください!