本文整理汇总了PHP中Symfony\Component\Yaml\Parser::getRouteParametersAsArray方法的典型用法代码示例。如果您正苦于以下问题:PHP Parser::getRouteParametersAsArray方法的具体用法?PHP Parser::getRouteParametersAsArray怎么用?PHP Parser::getRouteParametersAsArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Symfony\Component\Yaml\Parser
的用法示例。
在下文中一共展示了Parser::getRouteParametersAsArray方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createSecurityYaml
public function createSecurityYaml($basePath, $security, $paths)
{
$b = '';
if (null != $security) {
$firewallName = 'api_base_path';
$securityDefinitionsKeys = array();
foreach ($security as $securityItem) {
$securityKeys = array_keys($securityItem);
$securityDefinitionsKeys[] = $securityKeys[0];
}
$b .= " " . 'api_base_path' . ":\n";
$b .= " " . 'stateless: true' . "\n";
$b .= " " . 'pattern: ' . '^' . $basePath . "\n";
foreach ($securityDefinitionsKeys as $securityDefinitionKey) {
$b .= " " . 'simple_preauth: ' . "\n";
$b .= " " . 'provider: ' . 'api_' . $securityDefinitionKey . "\n";
$b .= " " . 'authenticator: ' . self::buildAuthenticatorId($securityDefinitionKey) . "\n";
}
}
foreach ($paths as $pathName => $path) {
foreach ($path as $verb => $objects) {
$parameters = $this->apiRoutingCreator->getRouteParametersAsArray($verb, $objects, $pathName);
$firewallName = 'api_' . $parameters['name'];
if (isset($objects['security'])) {
$securityDefinitionsKeys = array();
foreach ($objects['security'] as $securityItem) {
$securityKeys = array_keys($securityItem);
$securityDefinitionsKeys[] = $securityKeys[0];
}
$a = $this->apiRoutingCreator->getPathParameterAssoc($this->apiRoutingCreator->extractPathParameters($objects));
foreach ($a as $name => $regex) {
$pathName = str_replace('{' . $name . '}', $regex, $pathName);
}
$b .= " " . $firewallName . ":\n";
$b .= " " . 'stateless: true' . "\n";
$b .= " " . 'pattern: ' . '^' . $basePath . $pathName . "\n";
$b .= " " . 'methods: [' . strtoupper($verb) . ']' . "\n";
foreach ($securityDefinitionsKeys as $securityDefinitionKey) {
$b .= " " . 'simple_preauth: ' . "\n";
$b .= " " . 'provider: ' . 'api_' . $securityDefinitionKey . "\n";
$b .= " " . 'authenticator: ' . self::buildAuthenticatorId($securityDefinitionKey) . "\n";
}
} else {
$b .= " " . $firewallName . ":\n";
$b .= " " . 'pattern: ' . '^' . $basePath . $pathName . "\n";
$b .= " " . 'methods: [' . strtoupper($verb) . ']' . "\n";
$b .= " " . 'security: false' . "\n";
}
}
}
$firewall = "api";
$a = 'security: ' . "\n" . " " . 'firewalls:' . "\n" . "### --- COPY THIS CONTENT IN security.yml file --- ###" . "\n\n\n" . $b;
return $a;
}