mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-02 15:51:48 +03:00
Allow parsers to remove/replace root parameters.
This commit is contained in:
parent
8fe99a9c45
commit
06cfe9d48b
@ -390,6 +390,9 @@ class ApiDocExtractor
|
||||
* - Array parameters are recursively merged.
|
||||
* - Non-null default values prevail over null default values. Later values overrides previous defaults.
|
||||
*
|
||||
* However, if newly-returned parameter array contains a parameter with NULL, the parameter is removed from the merged results.
|
||||
* If the parameter is not present in the newly-returned array, then it is left as-is.
|
||||
*
|
||||
* @param array $p1 The pre-existing parameters array.
|
||||
* @param array $p2 The newly-returned parameters array.
|
||||
* @return array The resulting, merged array.
|
||||
@ -399,9 +402,15 @@ class ApiDocExtractor
|
||||
$params = $p1;
|
||||
|
||||
foreach ($p2 as $propname => $propvalue) {
|
||||
|
||||
if ($propvalue === null) {
|
||||
unset($params[$propname]);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!isset($p1[$propname])) {
|
||||
$params[$propname] = $propvalue;
|
||||
} else {
|
||||
} elseif (is_array($propvalue)) {
|
||||
$v1 = $p1[$propname];
|
||||
|
||||
foreach ($propvalue as $name => $value) {
|
||||
|
@ -13,6 +13,8 @@
|
||||
<parameter key="nelmio_api_doc.extractor.handler.jms_security.class">Nelmio\ApiDocBundle\Extractor\Handler\JmsSecurityExtraHandler</parameter>
|
||||
<parameter key="nelmio_api_doc.extractor.handler.sensio_framework_extra.class">Nelmio\ApiDocBundle\Extractor\Handler\SensioFrameworkExtraHandler</parameter>
|
||||
<parameter key="nelmio_api_doc.extractor.handler.phpdoc.class">Nelmio\ApiDocBundle\Extractor\Handler\PhpDocHandler</parameter>
|
||||
|
||||
<parameter key="nelmio_api_doc.parser.collection_parser.class">Nelmio\ApiDocBundle\Parser\CollectionParser</parameter>
|
||||
</parameters>
|
||||
|
||||
<services>
|
||||
@ -52,6 +54,10 @@
|
||||
<argument type="service" id="nelmio_api_doc.doc_comment_extractor" />
|
||||
<tag name="nelmio_api_doc.extractor.handler"/>
|
||||
</service>
|
||||
|
||||
<service id="nelmio_api_doc.parser.collection_parser" class="%nelmio_api_doc.parser.collection_parser.class%">
|
||||
<tag name="nelmio_api_doc.extractor.parser" />
|
||||
</service>
|
||||
</services>
|
||||
|
||||
</container>
|
||||
|
Loading…
x
Reference in New Issue
Block a user