ZF2 – Генерирование URL из маршрута

Я не могу понять, как сгенерировать Url везде, где я хочу, в zend 2

Я получаю действие и контроллер, поэтому я пробую это:

$this->url('myControllerName', array('action' => 'myActionName')); 

Но это возвращает объект, я просто хочу, чтобы полная строка URL этого маршрута

Кто-нибудь может помочь мне найти правильный путь?

EDIT: по словам Стояна, возможно, я ошибся на своем маршруте. вот часть моего модуля.config

 'router' => array ( 'routes' => array ( 'indexqvm' => array ( 'type' => 'segment', 'options' => array ( 'route' => '/Indexqvm[/:action][/:id_event]', 'constraints' => array ( 'action' => '[a-zA-Z][a-zA-Z0-9_-]+', 'id_event' => '[0-9]+' ), 'defaults' => array ( 'controller' => 'Qvm\Controller\Indexqvm', 'action' => 'index' ) ) ), 

И мой звонок:

 echo $this->url('indexqvm', array('action' => 'list-index')); 

ошибка: Catchable fatal error: Объект класса Zend \ Mvc \ Controller \ Plugin \ Url не может быть преобразован в строку

Используйте эхо, прежде чем вызывать $this->url(...) (см. Ниже), и отобразится весь URL-адрес.

 <?php echo $this->url('route-name', $urlParams, $urlOptions); ?> 

Обратите внимание, что первым параметром url() является имя маршрута, указанное в файле [module]/config/module.config.php .

См. Это для получения дополнительной информации о помощнике URL-адреса ZF2.

EDIT в ответ на редактирование вопроса:

Вышеупомянутый раздел связан с использованием помощника просмотра URL.

Если вам нужен URL-адрес в контроллере, вам нужен плагин контроллера URL.

 <?php $url = $this->url()->fromRoute('route-name', $params, $options); ?> 

Это ссылка на руководство ZF2 для этого плагина контроллера.

Надеюсь это поможет 🙂

Стоян

Вы можете использовать это в файле .phtml

 echo $this->url('HelloWorld/default', array('controller'=>'Index', 'action'=>'registration')); 

Где HelloWorld / default – это маршрутизация, а остальная – это контроллер и его действие, а также вы можете отправить дополнительный параметр, добавляющий только массив, как пару ключей и значений.