Я использую Symfony 1.3.6 на Ubuntu 10.0.4 LTS.
Я написал задачу Symfony, которая генерирует отчет, содержащий ссылки (URL).
Вот фрагмент метода execute()
в моем классе задач:
protected function execute($arguments = array(), $options = array())
{
//create a context
sfContext::createInstance($this->configuration);
sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url', 'Asset', 'Tag'));
...
$url = url_for("@foobar?cow=marymoo&id=42");
// Line 1
echo '<a href="'.$url.'">This is a test</a>';
// Line 2
echo link_to('This is a test', $url);
}
Имя маршрута определяется следующим образом:
foobar:
url: /some/fancy/path/:cow/:id/hello.html
param: { module: mymodule, action: myaction }
Когда это запускается, сгенерированная ссылка:
Строка 1 выдает следующий результат:
./symfony/symfony/some/fancy/path/marymoo/42/hello.html
вместо ожидаемого:
/some/fancy/path/marymoo/42/hello.html
Строка 2 выдает ошибку:
Не удалось найти соответствующий маршрут для генерации URL-адреса для параметров «массив ( 'action' => 'symfony', 'module' => '.',)».
Опять же, ожидаемый URL-адрес:
/some/fancy/path/marymoo/42/hello.html
Как я могу это решить?