Я пытаюсь что-то сделать, используя Silex (который использует компонент маршрутизации Symfony - поэтому ответ может быть применим и к Symfony)
Я добавляю Silex в устаревшее приложение для обеспечения маршрутизации, но мне нужно уважать реализацию по умолчанию для загрузки файлов в существующих приложениях (то есть просто загрузить файл из файловой системы по указанному URL-адресу).
изменить: для уточнения:
Существующий файл загружается из файловой системы как включение в родительский шаблон после серии вызовов начальной загрузки.
Что я обнаружил, так это то, что в отсутствие определенного маршрута для соответствия устаревшим страницам Silex выдает исключение.
Мне действительно нужен способ предоставить механизм по умолчанию (резервный) для обработки этих устаревших страниц - но мой шаблон должен соответствовать всему URL (а не только одному фрагменту).
Возможно ли это?
// Include Silex for routing
require_once(CLASS_PATH . 'Silex/silex.phar');
// Init Silex
$app = new Silex\Application();
// route for new code
// matches for new restful interface (like /category/add/mynewcategory)
$app->match('/category/{action}/{name}/', function($action, $name){
//do RESTFUL things
});
// route for legacy code (If I leave this out then Silex
// throws an exception beacuse it hasn't matched any routes
$app->match('{match_the_entire_url_including_slashes}', function($match_the_entire_url_including_slashes){
//do legacy stuff
});
$app->run();
Это должен быть общий случай использования. Я пытаюсь предоставить способ иметь интерфейс RESTFUL вместе с устаревшим кодом (load /myfolder/mysubfolder/my_php_script.php)