assetExtension = $assetExtension; $this->defaultAssetsMode = $defaultAssetsMode; } public function __invoke($asset, $forcedMode = null) { $mode = $forcedMode ?: $this->defaultAssetsMode; if (AssetsMode::CDN === $mode) { return sprintf( 'https://cdn.jsdelivr.net/gh/nelmio/NelmioApiDocBundle@4.1/Resources/public/%s', $asset ); } elseif (AssetsMode::OFFLINE === $mode) { return file_get_contents(__DIR__.sprintf('/../../Resources/public/%s', $asset)); } else { return $this->assetExtension->getAssetUrl(sprintf('bundles/nelmioapidoc/%s', $asset)); } } }