$ option в Rediect-> toRoute () использовать для чего? - PullRequest
0 голосов
/ 07 мая 2020

У меня вопрос о подключаемом модуле контроллера: перенаправление. php

Я уже читал об этом, но до сих пор не совсем понимаю

/**
     * Generate redirect response based on given route
     *
     * @param  string $route RouteInterface name
     * @param  array $params Parameters to use in url generation, if any
     * @param  array $options RouteInterface-specific options to use in url generation, if any
     * @param  bool $reuseMatchedParams Whether to reuse matched parameters
     * @return Response
     * @throws Exception\DomainException if composed controller does not implement InjectApplicationEventInterface, or
     *         router cannot be found in controller event
     */
    public function toRoute($route = null, $params = [], $options = [], $reuseMatchedParams = false)

Я понимаю, что такое $ route и $ params, но не понимаю, для чего используются $ options.

Что такое параметры RouteInterface-sprecifi c?

Так кто-нибудь может мне это объяснить? И, пожалуйста, дайте мне несколько примеров об этом. Большое спасибо

Ответы [ 2 ]

2 голосов
/ 10 мая 2020

Могут быть и другие варианты использования, но я использую только параметр force_canonical для отображения полного URL-адреса:

$url_confirm = $this->url()->fromRoute('login',
                    [
                        'action' => 'confirm',
                        'id' => $user->token
                    ], [
                        'force_canonical' => true
                    ]);

Затем эту ссылку можно отправить по электронной почте или SMS пользователю ...

1 голос
/ 26 мая 2020

Список возможных опций для assemble() по типу маршрута:

  1. Цепочка
    • has_child: используется для принудительной передачи has_child всем связанным маршрутам.
  2. Имя хоста
    • uri: вы можете передать здесь как Laminas\Uri\Uri объект, и имя хоста маршрута будет заполнено в этот объект как имя хоста
  3. Литерал
    • нет
  4. Метод
    • нет
  5. Часть
    • has_child: принудительная сборка частичного маршрута, поскольку он будет иметь дочерние маршруты.
    • translator: используется для передачи экземпляра переводчика для переведенных маршрутов
    • locale: языковой стандарт, который должен быть переведен вместе с маршрутом (обратите внимание, что это также может исходить из параметра). Это может быть полезно, если вы хотите связать одну языковую версию с другой.
    • все остальные параметры из TreeRouteStack
  6. Заполнитель:
    • нет
  7. Regex
    • none
  8. Scheme
    • uri: здесь вы можете передать как Laminas\Uri\Uri объект и схема маршрута будет заполнена в этот объект как схема
  9. Сегмент:
    • has_child: см. выше
    • translator: см. выше
    • text_domain: текстовый домен для перевода (например, для Gettext)
    • locale: см. выше
  10. Подстановочный знак
    • нет
  11. TreeRouteStack
    • uri: вы можете передать здесь свой собственный Laminas\Uri\Uri экземпляр
    • force_canonical: вернуть полный URI с схема, хост и порт
    • query: добавить строку запроса
    • fragment: добавить фрагмент в URI
    • normalize_path: нормализовать URI см. Laminas\Uri\Uri::normalize()
    • only_return_path: соберите только обратный путь, без дополнительных doi ng некоторая работа над путем (без force_canonical или нормализации et c.

Обычно также имя маршрута передается как опция в routes. Разумеется, плагин Redirect / Url сделает это за вас.

...