codexsoft / route-collection-filter
Simple Symfony RouteCollection filter
v1.1.0
2020-12-29 19:01 UTC
Requires
- php: ^7.4|^8
- psr/log: ^1.1
- symfony/routing: ^4.4|^5.0
Requires (Dev)
- phpunit/phpunit: ^9
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2025-03-01 00:17:06 UTC
README
This library provides tool to filter RouteCollection by declarative constraints.
Usage
<?php use CodexSoft\RouteCollectionFilter\RouteCollectionFilter; use CodexSoft\RouteCollectionFilter\RouteFilter; use Psr\Log\NullLogger; $routes = new \Symfony\Component\Routing\RouteCollection(); $filtered = (new RouteCollectionFilter(new NullLogger()))->apply($routes, [ (new RouteFilter()) ->setAllowedMethods(['POST']) ->setAllowedHosts(['api.localhost',]) ->setControllerClassInterfacesWhitelist([SomeInterface::class,]) ->setControllerClassNamespacesWhitelist(['Some\Namespace',]) ->setAllowedPathPrefixes(['/v1/','/v2/',]), (new RouteFilter()) ->setAllowedMethods(['GET']) ->setAllowedHosts(['api.localhost',]) ->setControllerClassInterfacesWhitelist([OtherInterface::class, ThirdInterface::class]) ->setControllerClassNamespacesWhitelist(['Other\Namespace',]), ]);
Installation
composer require codexsoft/route-collection-filter