Zend Framework 2 получить baseUrl от контроллера консоли

Я попытался найти способ получить базовый URL-адрес смешанного (http + CLI) приложения. CLI используется для выполнения некоторых регулярных уведомлений, где используется URL-адрес приложения.

Я пробовал это, но он возвращает только мне "http://"

print_r($this->getEvent()->getApplication()->getServiceManager()->get('ViewHelperManager')->get('ServerUrl')->__invoke());

0

Решение

Это не работает для консольных запросов. serverUrl извлекается из объекта http-запроса (Zend\Http\Request), поскольку консольный запрос заключен в объект консольного запроса (Zend\Console\Request) эта информация не будет доступна для таких запросов.

Вы можете определить (жесткий код) URL-адрес в глобальной конфигурации или константу и использовать его вместо этого.

Например добавить host.config.local подать в ваш application/config/autoload папка:

<?php

return array(
'hostname' => 'http://www.example.com'
);

Теперь вы можете получить имя вашего хоста у менеджера сервиса:

$config = $serviceManager->get('config');
$hostName = $config['hostname'];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]