LINUX.ORG.RU

Symfony маршрут /images/*

 


0

1

Как в Symfony 2 сделать route, чтобы в него попадали все картинки

/images/*
/images/dir/3/pic.jpg
/images/pic.jpg
/images/subdir/pic.jpg



Делаю так

/**
* @Route("/images/*", name="img")
*/
public function image(Request $request){}

но ничерта не работает. неужели нельзя написать regexp?

★★★★

Картинки (и прочие статические файлы) по документации рекомендуют управление через компонент asset. https://symfony.com/doc/2.7/components/asset.html

The Asset component manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files.

Чтобы работала «звёздочка» (wildcard) в роуте, читай тут. https://symfony.com/doc/current/routing/slash_in_parameter.html. Вкратце: добавляешь в требование парсера считать символ слеша обычным символом (т.е. слеш теперь не является особым, заверщающим симвлом).

     * @Route("/share/{token}", name="share", requirements={"token"=".+"})

Тут точка обозначает любой символ, + это 1 или 0 и более символов, т.е. регэксп. Получается, у тебя в token теперь будет входить всё, что дальше /share/, даже слеш.

anonymous ()