requestum / router-decoration-bundle
此包的最新版本(dev-master)没有提供许可证信息。
Symfony RequestumRouterDecorationBundle
dev-master
2016-07-25 10:53 UTC
Requires
- symfony/routing: ^3.1
This package is not auto-updated.
Last update: 2024-09-23 15:27:32 UTC
README
这是一个创建于2016年7月19日,下午3:27的Symfony Bundle。
Bundle提供了自动替换路由参数值到预定义系统值的能力。
安装
通过Composer
composer require requestum/router-decoration-bundle
将 new Requestum\RouterDecorationBundle\RequestumRouterDecorationBundle()
添加到您的 app/AppKernel.php
文件中。
<?php
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Requestum\RouterDecorationBundle\RequestumRouterDecorationBundle(),
);
// ...
}
// ...
}
配置
要在您的应用程序中配置Bundle,您必须在配置文件中添加特定格式的代码
# Requestum Router Decorator Configuration
requestum_router_decoration:
parameters_mapper:
pattern: mask
map:
<route mask 1>:
<parameter name 1>:
<route value 1>: <system value 1>
...
<route value n>: <system value n>
...
<parameter name n>
...
<route mask n>:
文档
默认情况下,如果配置文件中未指定pattern
,Bundle使用模式掩码输入。如果您想在路由掩码配置中使用正则表达式,您必须在pattern
选项中键入'regexp'。
如果您使用mask
模式,您必须遵循以下示例
...
pattern: mask
map:
#Route names 'route_name_' that has any sufix
route_name_*:
...
#Route names 'route_name_' that has any prefix
*_route_name:
...
#Route names that has 'route_' prefix and '_name' sufix
route_*_name:
...
如果您使用regexp
模式,您只需要编写一些正则表达式,例如这样
...
pattern: regexp
map:
#Route names 'route_name_' that has any sufix
/route_name_.*/:
...
#Route names 'route_name_' that has any prefix
/.*_route_name/:
...
#Route names that has 'route_' prefix and '_name' sufix
/route_.*_name/:
...
高级
如果您想定义一些用于参数映射的自定义装饰器,您只需定义您自己的服务并使用requestum.router_decorator
标签标记它们,但您自己的服务必须扩展AbstractRouterDecorator
。
如果您想使用自己的映射策略,您只需定义新的服务并在pattern
选项中指定它们的标识符,但您自己的策略必须实现PatternStrategyInterface
。