すでに受け入れられている答えがあることは知っていますが、私のような初心者の負担を軽減するために、これを投稿します。
私はsmartyをビューレンダラーとして使用していますが、smartyではビューでphpコードを使用できないため、すべてをコントローラーで実行し、変数に割り当ててからビューに渡す必要があります。
あなたはこれを使うことができます:
$url = $this->url()->fromRoute('route',array('name'=>'route-name'));
zend 2のチュートリアルに従っている場合は、次のようになります。
$url = $this->url()->fromRoute('album',array('action'=>'add'));
$url = $this->url()->fromRoute('album',array('action'=>'edit'));
$url = $this->url()->fromRoute('album',array('action'=>'delete'));
これの値は次のとおりです。
/zf2/index.php/album/add
/zf2/index.php/album/edit
/zf2/index.php/album/delete
ご覧のとおり、サーバー名を追加する必要があります。これは、ルートURLを生成する前にこれらを使用して行うことができます。
$url = $uri = $this->getRequest()->getUri();
$url = sprintf('%s://%s', $uri->getScheme(), $uri->getHost());
全体として、コードスニペットは次のようになります。
$url = $uri = $this->getRequest()->getUri();
$url = sprintf('%s://%s', $uri->getScheme(), $uri->getHost());
$url .= $this->url()->fromRoute('album',array('action'=>'add'));
生産するには:
http://yourservername/zf2/index.php/album/add
これが初心者のzf2ユーザーに役立つことを願っています