| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\Routing\Loader\Configurator;
- // For the phpdoc to remain compatible with the generation of per-app Routes class,
- // this file should have no "use" statements: all symbols referenced by
- // the phpdoc need to be in the current namespace or be root-scoped.
- /**
- * This class provides array-shapes for configuring the routes of an application.
- *
- * Example:
- *
- * ```php
- * // config/routes.php
- * namespace Symfony\Component\Routing\Loader\Configurator;
- *
- * return Routes::config([
- * 'controllers' => [
- * 'resource' => 'routing.controllers',
- * ],
- * ]);
- * ```
- *
- * @psalm-type RouteConfig = array{
- * path: string|array<string,string>,
- * controller?: string,
- * methods?: string|list<string>,
- * requirements?: array<string,string>,
- * defaults?: array<string,mixed>,
- * options?: array<string,mixed>,
- * host?: string|array<string,string>,
- * schemes?: string|list<string>,
- * condition?: string,
- * locale?: string,
- * format?: string,
- * utf8?: bool,
- * stateless?: bool,
- * }
- * @psalm-type ImportConfig = array{
- * resource: string,
- * type?: string,
- * exclude?: string|list<string>,
- * prefix?: string|array<string,string>,
- * name_prefix?: string,
- * trailing_slash_on_root?: bool,
- * controller?: string,
- * methods?: string|list<string>,
- * requirements?: array<string,string>,
- * defaults?: array<string,mixed>,
- * options?: array<string,mixed>,
- * host?: string|array<string,string>,
- * schemes?: string|list<string>,
- * condition?: string,
- * locale?: string,
- * format?: string,
- * utf8?: bool,
- * stateless?: bool,
- * }
- * @psalm-type AliasConfig = array{
- * alias: string,
- * deprecated?: array{package:string, version:string, message?:string},
- * }
- * @psalm-type RoutesConfig = array<string, RouteConfig|ImportConfig|AliasConfig|array<string, RouteConfig|ImportConfig|AliasConfig>>
- */
- class RoutesReference
- {
- /**
- * @param RoutesConfig $config
- *
- * @psalm-return RoutesConfig
- */
- public static function config(array $config): array
- {
- return $config;
- }
- }
|