Intereting Posts
Продолжайте получать ошибку при попытке вставить данные формы в базу данных с PDO Доступ к файлу, который находится перед / вне корневого каталога сервера? Как получить уникальные значения из столбца и сгруппировать их со значениями из другого столбца? Как добавить данные из формы PHP в массив? Прочтите длинное значение из webservice с помощью SoapClient FOSOAuthServerBundle с FOSUserBundle – как это сделать? Как защитить файл .env в laravel 5.4? Добавить в php / ajax не работает Форма обратной связи PHP – Хотите остаться на моем сайте после отправки Почему PHP не автоматически вызывает родительские конструкторы? Потоковая передача mp4 через php-файл постепенно Кодировка UTF-8 для получателя в контактной форме Преобразование из файла в растровое изображение в android Поиск текущего номера страницы в WordPress Проверьте хэш пароля в nodejs, который был сгенерирован в php

Как написать маршруты маршрутизации для субдомена в Zend Framework в файле INI маршрутизации?

Я пытаюсь создать субдомен с помощью Zend Router, а затем для каждого раздела под субдоменом, например subdomain.site.com/section/. Я создаю еще один маршрут, а затем пытаюсь связать его с маршрутом субдомена. но я не знаю, как это сделать. Я прочитал всю документацию, которую я мог найти, и все форумы, но это заставляет меня разобраться в этом самостоятельно. Пока мои попытки просто принесут мне эту ошибку:

Допустимая фатальная ошибка: аргумент 2 передан в Zend_Controller_Router_Rewrite :: addRoute () должен реализовать интерфейс Zend_Controller_Router_Route_Interface, null данный, вызывается в /var/local/zend/library/Zend/Controller/Router/Rewrite.php в строке 155 и определен в / var /local/zend/library/Zend/Controller/Router/Rewrite.php в строке 93

со следующим кодом:

routes.b2b.type = "Zend_Controller_Router_Route_Hostname" routes.b2b.route = "sales.sitename.com" routes.b2b.defaults.module = b2b routes.b2b.defaults.controller = index routes.b2b.defaults.action = index routes.b2b_signup.type = "Zend_Controller_Router_Route_Static" routes.b2b_signup.route = "/signup" routes.b2b_signup.defaults.controller = "index" routes.b2b_signup.defaults.action = "signup" routes.b2b_login.type = "Zend_Controller_Router_Route_Chain" routes.b2b_login.chain = b2b_signup 

Я не могу найти пример того, как сделать это с помощью INI-файла в сети. Все приложение написано в INI для конфигурации маршрутизации, поэтому я не могу переключить его на конфигурацию на основе массива (или XML, если на то пошло), в которой присутствует 100% примеров в Интернете.

Если бы я мог сделать это в форме массива, я мог бы просто сказать следующее:

 $hostnameRoute = new Zend_Controller_Router_Route_Hostname( 'sales.sitename.com', array( 'controller' => 'index', 'module' => 'b2b', 'action' => 'index' ) ); $hostnameRoute = new Zend_Controller_Router_Route_Static( '/signup', array( 'controller' => 'index', 'module' => 'b2b', 'action' => 'signup' ) ); $chainedRoute = new Zend_Controller_Router_Route_Chain(); $chainedRoute->chain($b2b_signup) 

Кто-нибудь есть идеи о том, как это сделать в INI-файле?

Solutions Collecting From Web of "Как написать маршруты маршрутизации для субдомена в Zend Framework в файле INI маршрутизации?"

Вот в основном то, что вы хотите, в формате INI:

 routes.b2b.type = "Zend_Controller_Router_Route_Hostname" routes.b2b.route = "sales.sitename.com" ; you could specify a default module (or anything) to use for the whole ; route chain here, like so: ; routes.b2b.defaults.module = "default" routes.b2b.chains.signup.type = "Zend_Controller_Router_Route_Static" routes.b2b.chains.signup.route = "/signup" routes.b2b.chains.signup.defaults.controller = "index" routes.b2b.chains.signup.defaults.action = "signup" routes.b2b.chains.anotherroute.route = "/something/:foo" ; etc, etc. routes.b2b.chains.anotherroute.defaults.action = "foo" routes.b2b.chains.anotherroute.defaults.controller = "index" routes.b2b.chains.anotherroute.defaults.foo = "bar" routes.b2b.chains.anotherroute.reqs.foo = '[az]+' 

Это даст вам следующие маршруты: b2b-signup и b2b-anotherroute .

Вот некоторые важные замечания по цепочке маршрутов:

При объединении маршрутов параметры внешнего маршрута имеют более высокий приоритет, чем параметры внутреннего маршрута. Таким образом, если вы определяете контроллер на внешнем и внутреннем маршрутах, выбирается контроллер внешнего маршрута.

Названия маршрутов с родительскими / дочерними цепями всегда сцепляются с тире! Итак, как и в примере выше, b2b.chains.signup становится маршрутом с именем b2b-signup (который вы можете использовать для сборки URL и т. Д.).

Вы можете сохранить цепочку! Цепи цепей могут иметь цепи.

Дети цепных маршрутов не работают с подстановочными знаками. См. # ZF-6654 . Вот сообщение в блоге, в котором говорится о том, почему это не может быть большой проблемой.