Я работаю над унаследованным проектом, который использует Silex 1.3. Я пытаюсь отлаживать что-то, но я не могу определить какие-либо новые маршруты при запуске приложения.Основной пример маршрутизации не работает
Вызывается метод Stripe
и метод connect
;
use Silex\Application;
use Silex\ControllerProviderInterface;
class Stripe implements ControllerProviderInterface
{
public function connect(Application $app)
{
$app->get('/something', function() {
return 'Main home page';
});
$app->get('/hello/{name}', function ($name) use ($app) {
return 'Hello '.$app->escape($name);
});
$routes = $app['routes']->all();
var_dump($routes);
exit;
Когда использовать что-то вроде Paw/Почтальон все, что я получаю пустой массив для $routes
. Если я делаю var_dump
в верхней части функции подключения, я получаю что-то , поэтому я знаю, что этот метод называется.
Почему эти маршруты не добавляются? Что мне не хватает?
'var_dump ($ routes);' пуст, поскольку маршруты еще не очищены [flushed] (https://github.com/silexphp/Silex/blob/master/src/Silex/Application.php# L494). Только после того, как вы «запустили» приложение «$ app ['routes']' будет заполнено. – Federkun
Если вы попытаетесь добавить '$ app-> flush()' before '$ routes = ...', вы должны их увидеть. – Federkun