From fd13adaaeb110d2c2bc1c6a0e398d10c4994b4b6 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 19:57:41 +0300 Subject: [PATCH 01/11] Fixing method to get urls from comments --- .../Php/Parser/Entity/BaseEntity.php | 61 ++++++++++++++++--- 1 file changed, 53 insertions(+), 8 deletions(-) diff --git a/src/LanguageHandler/Php/Parser/Entity/BaseEntity.php b/src/LanguageHandler/Php/Parser/Entity/BaseEntity.php index ac4bf729..733ad1ec 100644 --- a/src/LanguageHandler/Php/Parser/Entity/BaseEntity.php +++ b/src/LanguageHandler/Php/Parser/Entity/BaseEntity.php @@ -19,6 +19,7 @@ use BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException; use BumbleDocGen\LanguageHandler\Php\Parser\ParserHelper; use BumbleDocGen\LanguageHandler\Php\PhpHandlerSettings; +use BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity\OnCheckIsClassEntityCanBeLoad; use DI\Attribute\Inject; use phpDocumentor\Reflection\DocBlock; use Psr\Cache\InvalidArgumentException; @@ -401,14 +402,37 @@ private function fillInLinkDataWithUrls(array $linkData): array $this->getImplementingReflectionClass()->getName(), false ); - $linkData[$key]['url'] = $entityData['entityName'] ? call_user_func_array( - callback: $this->documentedEntityUrlFunction, - args: [ - $this->getRootEntityCollection(), - $entityData['entityName'], - $entityData['cursor'] - ] - ) : null; + if (!$entityData['entityName'] && !str_contains($data['className'], '\\')) { + try { + $data['className'] = $this->getDocCommentEntity()->getCurrentRootEntity()->getNamespaceName() . "\\{$data['className']}"; + $entityData = $this->getRootEntityCollection()->getEntityLinkData( + $data['className'], + $this->getDocCommentEntity()->getCurrentRootEntity()->getName(), + false + ); + } catch (\Exception $e) { + $this->logger->error($e->getMessage()); + } + } + + if ($entityData['entityName']) { + $linkData[$key]['url'] = call_user_func_array( + callback: $this->documentedEntityUrlFunction, + args: [ + $this->getRootEntityCollection(), + $entityData['entityName'], + $entityData['cursor'] + ] + ); + } else { + $preloadResourceLink = $this->rendererHelper->getPreloadResourceLink($data['className']); + if ($preloadResourceLink) { + $linkData[$key]['url'] = $preloadResourceLink; + } else { + $linkData[$key]['url'] = null; + $this->logger->warning("Unable to get URL data for entity `{$data['className']}`"); + } + } $linkData[$key]['name'] = $entityData['title']; unset($data['className']); } @@ -559,6 +583,23 @@ private function isSubEntityFileCacheIsOutdated(string $dependenciesCacheKey): b return $entityCacheIsOutdated; } + protected function isCurrentEntityCanBeLoad(): bool + { + $classEntity = $this->getCurrentRootEntity(); + if (!$classEntity) { + return false; + } + try { + return $this->localObjectCache->getMethodCachedResult(__METHOD__, $classEntity->getObjectId()); + } catch (ObjectNotFoundException) { + } + $entityCanBeLoad = $this->getRootEntityCollection()->getPluginEventDispatcher()->dispatch( + new OnCheckIsClassEntityCanBeLoad($this->getCurrentRootEntity()) + )->isClassCanBeLoad(); + $this->localObjectCache->cacheMethodResult(__METHOD__, $classEntity->getObjectId(), $entityCanBeLoad); + return $entityCanBeLoad; + } + /** * @throws InvalidConfigurationParameterException * @throws InvalidArgumentException @@ -588,6 +629,10 @@ final public function entityCacheIsOutdated(): bool } $this->localObjectCache->cacheMethodResult(__METHOD__, $entityName, false); + if (!$this->isCurrentEntityCanBeLoad()) { + return false; + } + $cachedDependencies = $this->getCachedEntityDependencies(); if (!$cachedDependencies) { $entityCacheIsOutdated = true; From f0d9e592fa4627ad6df58356d8cdf9de4061c888 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 19:58:16 +0300 Subject: [PATCH 02/11] Using new method to check class entity is loaded --- src/LanguageHandler/Php/Parser/Entity/ClassEntity.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/LanguageHandler/Php/Parser/Entity/ClassEntity.php b/src/LanguageHandler/Php/Parser/Entity/ClassEntity.php index efde7556..5e46a273 100644 --- a/src/LanguageHandler/Php/Parser/Entity/ClassEntity.php +++ b/src/LanguageHandler/Php/Parser/Entity/ClassEntity.php @@ -310,11 +310,7 @@ public function isClassLoad(): bool */ #[CacheableMethod] public function entityDataCanBeLoaded(): bool { - if ( - !$this->getRootEntityCollection()->getPluginEventDispatcher()->dispatch( - new OnCheckIsClassEntityCanBeLoad($this) - )->isClassCanBeLoad() - ) { + if (!$this->isCurrentEntityCanBeLoad()) { $this->logger->notice("Class `{$this->getName()}` loading skipped by plugin"); return false; } From 4c1f935dd94349a8c8aae0c920435093331e6c2a Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 19:59:03 +0300 Subject: [PATCH 03/11] Fixing method to get doc comment entity --- src/LanguageHandler/Php/Parser/Entity/MethodEntity.php | 4 ++++ src/LanguageHandler/Php/Parser/Entity/PropertyEntity.php | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/LanguageHandler/Php/Parser/Entity/MethodEntity.php b/src/LanguageHandler/Php/Parser/Entity/MethodEntity.php index 79d3b19d..02fb63da 100644 --- a/src/LanguageHandler/Php/Parser/Entity/MethodEntity.php +++ b/src/LanguageHandler/Php/Parser/Entity/MethodEntity.php @@ -134,6 +134,10 @@ public function getDocCommentEntity(): MethodEntity } $docComment = $this->getDocComment(); $reflectionMethod = $this; + if ($reflectionMethod->isImplementedInParentClass()) { + $reflectionMethod = $reflectionMethod->getImplementingClass()->getMethodEntity($this->getName()); + } + if (!$docComment || str_contains(mb_strtolower($docComment), '@inheritdoc')) { $implementingClass = $this->getImplementingClass(); $parentClass = $this->getImplementingClass()->getParentClass(); diff --git a/src/LanguageHandler/Php/Parser/Entity/PropertyEntity.php b/src/LanguageHandler/Php/Parser/Entity/PropertyEntity.php index 2ee030a1..100d70ed 100644 --- a/src/LanguageHandler/Php/Parser/Entity/PropertyEntity.php +++ b/src/LanguageHandler/Php/Parser/Entity/PropertyEntity.php @@ -107,6 +107,10 @@ public function getDocCommentEntity(): PropertyEntity } $docComment = $this->getDocComment(); $reflectionProperty = $this; + if ($reflectionProperty->isImplementedInParentClass()) { + $reflectionProperty = $reflectionProperty->getImplementingClass()->getPropertyEntity($this->getName()); + } + if (!$docComment || str_contains(mb_strtolower($docComment), '@inheritdoc')) { $implementingClass = $this->getImplementingClass(); $parentClass = $this->getImplementingClass()->getParentClass(); From 23ea579cf4d0512d984912c28f4a01e6f802bd30 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 19:59:35 +0300 Subject: [PATCH 04/11] Fixing method to get entity link data --- .../EntityDocRendererHelper.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php index 81ed7dab..e636ca56 100644 --- a/src/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php +++ b/src/LanguageHandler/Php/Renderer/EntityDocRenderer/EntityDocRendererHelper.php @@ -74,20 +74,16 @@ public function getEntityDataByLink( } } - if ($entity) { + if ($entity && $entity->entityDataCanBeLoaded()) { $cursor = ''; if ($classData[1] ?? null) { $cursorTarget = str_replace(['$', '(', ')'], '', $classData[1]); - if ( - str_ends_with($classData[1], '()') || $entity->hasMethod($cursorTarget) - ) { - $cursor = $classData[1]; - } elseif ( - str_starts_with($classData[1], '$') || $entity->hasProperty($cursorTarget) - ) { - $cursor = $classData[1]; - } elseif ($entity->hasConstant($classData[1])) { - $cursor = $classData[1]; + if ($entity->hasMethod($cursorTarget)) { + $cursor = "{$cursorTarget}()"; + } elseif ($entity->hasProperty($cursorTarget)) { + $cursor = "\${$cursorTarget}"; + } elseif ($entity->hasConstant($cursorTarget)) { + $cursor = $cursorTarget; } } if (in_array(self::CLASS_ENTITY_SHORT_LINK_OPTION, $linkOptions)) { From 18aa0d551c2bfc682c1548cf5ceaafec80f6dd9f Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 22:21:44 +0300 Subject: [PATCH 05/11] Adding method to gen nearest index file --- .../Breadcrumbs/BreadcrumbsHelper.php | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php b/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php index 1d762c22..a4dfd315 100644 --- a/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php +++ b/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php @@ -115,6 +115,35 @@ private function getPrevPage(string $templateName): ?string return $prevPage; } + /** + * @throws InvalidConfigurationParameterException + */ + public function getNearestIndexFile(string $templateName): string + { + $pathParts = explode('/', $templateName); + array_pop($pathParts); + $subPath = implode('/', $pathParts); + $finder = Finder::create() + ->name('*.twig') + ->ignoreVCS(true) + ->ignoreDotFiles(true) + ->ignoreUnreadableDirs() + ->depth(0) + ->in($this->configuration->getTemplatesDir() . '/' . $subPath); + + $indexFile = null; + foreach ($finder->files() as $file) { + $indexFile = $file->getFileName(); + if (preg_match($this->prevPageNameTemplate, $indexFile)) { + break; + } + } + if (is_null($indexFile)) { + return $templateName; + } + return "{$subPath}/{$indexFile}"; + } + /** * Get the name of a template by its URL. * Only templates with .twig extension are processed. From a1f96b1732b3b51289b9f26a8c1d0b85fecec87d Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 22:22:14 +0300 Subject: [PATCH 06/11] Changing sub entities generation logic --- .../DocumentedEntityWrappersCollection.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Core/Renderer/Context/DocumentedEntityWrappersCollection.php b/src/Core/Renderer/Context/DocumentedEntityWrappersCollection.php index 2e681a0b..dd2222d6 100644 --- a/src/Core/Renderer/Context/DocumentedEntityWrappersCollection.php +++ b/src/Core/Renderer/Context/DocumentedEntityWrappersCollection.php @@ -5,9 +5,11 @@ namespace BumbleDocGen\Core\Renderer\Context; use BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache; +use BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException; use BumbleDocGen\Core\Parser\Entity\RootEntityInterface; use BumbleDocGen\Core\Plugin\Event\Renderer\OnCreateDocumentedEntityWrapper; use BumbleDocGen\Core\Plugin\PluginEventDispatcher; +use BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper; final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \Countable { @@ -19,6 +21,7 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \C public function __construct( private RendererContext $rendererContext, private LocalObjectCache $localObjectCache, + private BreadcrumbsHelper $breadcrumbsHelper, private PluginEventDispatcher $pluginEventDispatcher ) { } @@ -33,12 +36,22 @@ public function getIterator(): \Generator } } + /** + * @throws InvalidConfigurationParameterException + */ public function createAndAddDocumentedEntityWrapper(RootEntityInterface $rootEntity): DocumentedEntityWrapper { + $parentDocFilePatch = $this->rendererContext->getCurrentTemplateFilePatch(); + + $entityWrapper = $this->rendererContext->getCurrentDocumentedEntityWrapper(); + if (!is_null($entityWrapper)) { + $parentDocFilePatch = $this->breadcrumbsHelper->getNearestIndexFile($parentDocFilePatch); + } + $documentedEntity = new DocumentedEntityWrapper( $rootEntity, $this->localObjectCache, - $this->rendererContext->getCurrentTemplateFilePatch() + $parentDocFilePatch ); $this->pluginEventDispatcher->dispatch(new OnCreateDocumentedEntityWrapper($documentedEntity)); From f4b2fe08fdf90c5fa3cea704ff44dd20f6104bf4 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 22:28:37 +0300 Subject: [PATCH 07/11] Fixing stubbers errors --- .../CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php | 2 +- .../Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php | 1 + .../Plugin/CorePlugin/ComposerPackagesStubber/StubberPlugin.php | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php index b7904f57..930f34aa 100644 --- a/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php +++ b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpDocumentorStubberPlugin.php @@ -38,6 +38,7 @@ final public function onGettingResourceLink(OnGettingResourceLink $event): void $resourceName = "\\{$resourceName}"; } if (str_starts_with($resourceName, '\\phpDocumentor\\Reflection\\')) { + $resourceName = explode('::', $resourceName)[0]; if ( in_array(ltrim($resourceName, '\\'), [ DocBlock::class, @@ -64,7 +65,6 @@ final public function onGettingResourceLink(OnGettingResourceLink $event): void ) { $resource = str_replace(['\\phpDocumentor\\Reflection\\', '\\'], ['', '/'], $resourceName); $event->setResourceUrl("https://github.com/phpDocumentor/TypeResolver/blob/master/src/{$resource}.php"); - return; } } } diff --git a/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php index 3ebd5769..e64a32a9 100644 --- a/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php +++ b/src/LanguageHandler/Php/Plugin/CorePlugin/BasePhpStubber/PhpUnitStubberPlugin.php @@ -29,6 +29,7 @@ final public function onGettingResourceLink(OnGettingResourceLink $event): void $resourceName = "\\{$resourceName}"; } if (str_starts_with($resourceName, '\\PHPUnit\\')) { + $resourceName = explode('::', $resourceName)[0]; $resourceName = str_replace(['\\PHPUnit\\', '\\'], ['', '/'], $resourceName); $event->setResourceUrl("https://github.com/sebastianbergmann/phpunit/blob/master/src/{$resourceName}.php"); } diff --git a/src/LanguageHandler/Php/Plugin/CorePlugin/ComposerPackagesStubber/StubberPlugin.php b/src/LanguageHandler/Php/Plugin/CorePlugin/ComposerPackagesStubber/StubberPlugin.php index a2d6f610..f034b8a9 100644 --- a/src/LanguageHandler/Php/Plugin/CorePlugin/ComposerPackagesStubber/StubberPlugin.php +++ b/src/LanguageHandler/Php/Plugin/CorePlugin/ComposerPackagesStubber/StubberPlugin.php @@ -36,7 +36,7 @@ final public function onGettingResourceLink(OnGettingResourceLink $event): void { if (!$event->getResourceUrl()) { $resourceName = trim($event->getResourceName()); - + $resourceName = explode('::', $resourceName)[0]; if (!isset($this->foundLinks[$resourceName])) { $packageData = $this->composerParser->getComposerPackageDataByClassName($resourceName); if (!$packageData) { From cd40c7cd22f98d5123ea14cac98cb1ca4c1900f1 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Fri, 3 Nov 2023 22:34:05 +0300 Subject: [PATCH 08/11] Updating doc --- docs/README.md | 2 +- docs/shared_c.cache | 2 +- .../DocumentedEntityWrappersCollection.md | 26 +- .../classes/GetDocumentedEntityUrl.md | 2 +- docs/tech/1.configuration/readme.md | 2 +- docs/tech/2.parser/classes/ClassEntity.md | 232 +++--- .../2.parser/classes/ClassEntityCollection.md | 18 +- docs/tech/2.parser/classes/ConstantEntity.md | 70 +- .../classes/ConstantEntityCollection.md | 4 +- .../2.parser/classes/DynamicMethodEntity.md | 10 +- ...nvalidConfigurationParameterException_2.md | 391 ---------- .../2.parser/classes/LocatedInCondition.md | 2 +- .../2.parser/classes/LocatedNotInCondition.md | 2 +- docs/tech/2.parser/classes/MethodEntity.md | 154 ++-- .../classes/MethodEntityCollection.md | 4 +- docs/tech/2.parser/classes/PropertyEntity.md | 110 +-- .../classes/PropertyEntityCollection.md | 4 +- .../2.parser/classes/ReflectionException.md | 2 +- .../2.parser/classes/RootEntityInterface.md | 2 +- docs/tech/2.parser/entity.md | 2 +- docs/tech/2.parser/entityFilterCondition.md | 2 +- docs/tech/2.parser/readme.md | 2 +- docs/tech/2.parser/sourceLocator.md | 2 +- docs/tech/3.renderer/01_templates.md | 2 +- docs/tech/3.renderer/02_breadcrumbs.md | 2 +- docs/tech/3.renderer/03_documentStructure.md | 2 +- docs/tech/3.renderer/04_twigCustomFilters.md | 2 +- .../tech/3.renderer/05_twigCustomFunctions.md | 2 +- .../3.renderer/classes/BreadcrumbsHelper.md | 84 +- .../classes/ClassEntityCollection_2.md | 38 +- .../classes/DocumentedEntityWrapper.md | 2 +- .../classes/DocumentedEntityWrapper_3.md | 303 -------- .../DocumentedEntityWrappersCollection.md | 28 +- .../DocumentedEntityWrappersCollection_3.md | 226 ------ docs/tech/3.renderer/classes/DrawClassMap.md | 8 +- .../classes/DrawDocumentationMenu.md | 4 +- .../classes/DrawDocumentedEntityLink.md | 4 +- .../classes/GeneratePageBreadcrumbs.md | 2 +- .../classes/GeneratePageBreadcrumbs_2.md | 2 +- .../classes/GetClassMethodsBodyCode.md | 4 +- .../classes/GetDocumentationPageUrl.md | 2 +- .../classes/GetDocumentationPageUrl_2.md | 2 +- .../classes/GetDocumentedEntityUrl.md | 6 +- .../classes/GetDocumentedEntityUrl_2.md | 10 +- .../classes/GetDocumentedEntityUrl_3.md | 12 +- .../InvalidConfigurationParameterException.md | 2 +- ...nvalidConfigurationParameterException_2.md | 391 ---------- ...nvalidConfigurationParameterException_3.md | 391 ---------- ...nvalidConfigurationParameterException_4.md | 391 ---------- ...nvalidConfigurationParameterException_5.md | 391 ---------- .../classes/PageHtmlLinkerPlugin.md | 4 +- .../classes/PrintEntityCollectionAsList.md | 2 +- .../3.renderer/classes/ReflectionException.md | 2 +- .../classes/ReflectionException_3.md | 391 ---------- .../3.renderer/classes/RendererContext.md | 2 +- .../3.renderer/classes/RendererContext_3.md | 259 ------ .../classes/RootEntityCollection.md | 2 +- .../classes/RootEntityInterface_2.md | 2 +- docs/tech/3.renderer/readme.md | 2 +- .../tech/3.renderer/templatesDynamicBlocks.md | 2 +- docs/tech/3.renderer/templatesLinking.md | 2 +- docs/tech/3.renderer/templatesVariables.md | 2 +- .../AfterLoadingClassEntityCollection.md | 2 +- .../classes/AfterRenderingEntities.md | 2 +- .../classes/BeforeCreatingDocFile.md | 2 +- .../classes/BeforeRenderingDocFiles.md | 2 +- .../classes/BeforeRenderingEntities.md | 2 +- .../classes/OnAddClassEntityToCollection.md | 2 +- .../classes/OnCheckIsClassEntityCanBeLoad.md | 2 +- .../OnCreateDocumentedEntityWrapper.md | 2 +- .../classes/OnGetProjectTemplatesDirs.md | 2 +- .../OnGetTemplatePathByRelativeDocPath.md | 2 +- .../classes/OnGettingResourceLink.md | 2 +- .../classes/OnLoadEntityDocPluginContent.md | 2 +- .../classes/OnLoadSourceLocatorsCollection.md | 2 +- .../classes/PhpUnitStubberPlugin.md | 2 +- docs/tech/4.pluginSystem/readme.md | 2 +- .../AfterLoadingClassEntityCollection.md | 2 +- docs/tech/classes/AfterRenderingEntities.md | 2 +- docs/tech/classes/BaseEntity.md | 74 +- docs/tech/classes/BasePageLinker.md | 4 +- docs/tech/classes/BeforeCreatingDocFile.md | 2 +- docs/tech/classes/BeforeRenderingDocFiles.md | 2 +- docs/tech/classes/BeforeRenderingEntities.md | 2 +- docs/tech/classes/BreadcrumbsHelper.md | 84 +- .../tech/classes/CacheablePhpEntityFactory.md | 4 +- docs/tech/classes/CachedSourceLocator.md | 2 +- docs/tech/classes/ClassEntity.md | 330 ++++---- docs/tech/classes/ClassEntityCollection.md | 38 +- docs/tech/classes/Configuration.md | 32 +- .../tech/classes/ConfigurationParameterBag.md | 12 +- docs/tech/classes/Configuration_2.md | 735 ++++++++++++++++++ docs/tech/classes/ConstantEntity.md | 96 +-- docs/tech/classes/ConstantEntityCollection.md | 8 +- docs/tech/classes/DirectoryDependency.md | 4 +- docs/tech/classes/DocBlocksGenerator.md | 8 +- docs/tech/classes/DocGenerator.md | 10 +- .../classes/DocumentedEntityWrapper_2.md | 2 +- .../DocumentedEntityWrappersCollection.md | 26 +- .../DocumentedEntityWrappersCollection_2.md | 28 +- docs/tech/classes/DrawClassMap.md | 8 +- docs/tech/classes/DrawDocumentationMenu.md | 4 +- docs/tech/classes/DrawDocumentedEntityLink.md | 4 +- docs/tech/classes/DynamicMethodEntity.md | 16 +- docs/tech/classes/EntityCacheItemPool.md | 2 +- docs/tech/classes/EntityDocRendererHelper.md | 10 +- docs/tech/classes/FileDependency.md | 4 +- docs/tech/classes/GeneratePageBreadcrumbs.md | 2 +- docs/tech/classes/GenerationErrorsHandler.md | 2 +- docs/tech/classes/GetClassMethodsBodyCode.md | 4 +- docs/tech/classes/GetDocumentationPageUrl.md | 2 +- docs/tech/classes/GetDocumentedEntityUrl.md | 10 +- docs/tech/classes/GetDocumentedEntityUrl_2.md | 269 +++++++ ...validConfigurationParameterException_2.md} | 2 +- docs/tech/classes/LoadPluginsContent_2.md | 201 +++++ docs/tech/classes/LocalObjectCache.md | 2 +- docs/tech/classes/LocatedInCondition.md | 2 +- docs/tech/classes/LocatedNotInCondition.md | 2 +- .../classes/LoggableRootEntityCollection.md | 2 +- docs/tech/classes/MainExtension.md | 10 +- docs/tech/classes/MainTwigEnvironment.md | 2 +- docs/tech/classes/MethodEntity.md | 210 ++--- docs/tech/classes/MethodEntityCollection.md | 8 +- .../ObjectNotFoundException_2.md} | 8 +- .../classes/OnAddClassEntityToCollection.md | 2 +- .../classes/OnCheckIsClassEntityCanBeLoad.md | 2 +- .../OnCreateDocumentedEntityWrapper.md | 2 +- .../tech/classes/OnGetProjectTemplatesDirs.md | 2 +- .../OnGetTemplatePathByRelativeDocPath.md | 2 +- docs/tech/classes/OnGettingResourceLink.md | 2 +- .../classes/OnLoadEntityDocPluginContent.md | 4 +- .../classes/OnLoadSourceLocatorsCollection.md | 2 +- docs/tech/classes/PageHtmlLinkerPlugin.md | 4 +- docs/tech/classes/PageLinkerPlugin.md | 4 +- docs/tech/classes/PageRstLinkerPlugin.md | 4 +- docs/tech/classes/ParserHelper.md | 18 +- docs/tech/classes/PhpHandler.md | 8 +- docs/tech/classes/PhpHandlerSettings.md | 18 +- docs/tech/classes/PhpUnitStubberPlugin.md | 2 +- docs/tech/classes/PluginEventDispatcher.md | 6 +- .../classes/PrintEntityCollectionAsList.md | 2 +- docs/tech/classes/ProjectParser.md | 2 +- docs/tech/classes/PropertyEntity.md | 144 ++-- docs/tech/classes/PropertyEntityCollection.md | 8 +- docs/tech/classes/ReadmeTemplateGenerator.md | 4 +- .../classes/ReflectionException_2.md | 2 +- docs/tech/classes/ReflectorWrapper.md | 12 +- docs/tech/classes/Renderer.md | 6 +- .../classes/RendererContext_2.md | 2 +- .../tech/classes/RendererDependencyFactory.md | 4 +- docs/tech/classes/RendererHelper.md | 4 +- docs/tech/classes/RendererIteratorFactory.md | 6 +- docs/tech/classes/RootEntityCollection.md | 2 +- docs/tech/classes/RootEntityInterface_2.md | 425 ++++++++++ .../SharedCompressedDocumentFileCache.md | 4 +- .../classes/SourceLocatorCacheItemPool.md | 2 +- docs/tech/classes/StrTypeToUrl.md | 2 +- docs/tech/classes/SystemAsyncSourceLocator.md | 2 +- docs/tech/classes/TemplateFile.md | 6 +- docs/tech/map.md | 2 +- docs/tech/readme.md | 2 +- 161 files changed, 2860 insertions(+), 4220 deletions(-) delete mode 100644 docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md delete mode 100644 docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md delete mode 100644 docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md delete mode 100644 docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md delete mode 100644 docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md delete mode 100644 docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md delete mode 100644 docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md delete mode 100644 docs/tech/3.renderer/classes/ReflectionException_3.md delete mode 100644 docs/tech/3.renderer/classes/RendererContext_3.md create mode 100644 docs/tech/classes/Configuration_2.md rename docs/tech/{3.renderer => }/classes/DocumentedEntityWrapper_2.md (97%) rename docs/tech/{3.renderer => }/classes/DocumentedEntityWrappersCollection_2.md (84%) create mode 100644 docs/tech/classes/GetDocumentedEntityUrl_2.md rename docs/tech/{2.parser/classes/InvalidConfigurationParameterException_3.md => classes/InvalidConfigurationParameterException_2.md} (97%) create mode 100644 docs/tech/classes/LoadPluginsContent_2.md rename docs/tech/{3.renderer/classes/ReflectionException_4.md => classes/ObjectNotFoundException_2.md} (94%) rename docs/tech/{3.renderer => }/classes/ReflectionException_2.md (96%) rename docs/tech/{3.renderer => }/classes/RendererContext_2.md (97%) create mode 100644 docs/tech/classes/RootEntityInterface_2.md diff --git a/docs/README.md b/docs/README.md index 3c71b433..3eb0e47c 100644 --- a/docs/README.md +++ b/docs/README.md @@ -95,4 +95,4 @@ To update this documentation, run the following command:

-Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
Last modified date: Sat Oct 28 11:03:31 2023 +0300
Page content update date: Thu Nov 02 2023
Made with Bumble Documentation Generator
\ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
Last modified date: Sat Oct 28 11:03:31 2023 +0300
Page content update date: Fri Nov 03 2023
Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/shared_c.cache b/docs/shared_c.cache index b74f4c36..0422e53b 100644 --- a/docs/shared_c.cache +++ b/docs/shared_c.cache @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md b/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md index fd7a969f..6759727b 100644 --- a/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md +++ b/docs/tech/1.configuration/classes/DocumentedEntityWrappersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Configuration files / DocumentedEntityWrappersCollection

- DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

@@ -60,11 +60,11 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php -public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); +public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); ``` @@ -89,6 +89,11 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $localObjectCache \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - + + + $breadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + - $pluginEventDispatcher @@ -107,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -134,7 +139,7 @@ public function count(): int; ```php @@ -165,6 +170,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Throws: + +
@@ -172,7 +184,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -193,7 +205,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md b/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md index 5a6f875c..2a57a65e 100644 --- a/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md +++ b/docs/tech/1.configuration/classes/GetDocumentedEntityUrl.md @@ -25,7 +25,7 @@ See:
  • \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection
  • - \BumbleDocGen\Core\Renderer\Context\RendererContext::$entityWrappersCollection
  • + \BumbleDocGen\Core\Renderer\Context\RendererContext::$entityWrappersCollection diff --git a/docs/tech/1.configuration/readme.md b/docs/tech/1.configuration/readme.md index 52896bb9..9c92b52b 100644 --- a/docs/tech/1.configuration/readme.md +++ b/docs/tech/1.configuration/readme.md @@ -222,4 +222,4 @@ The inheritance algorithm is as follows: scalar types can be overwritten by each

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file diff --git a/docs/tech/2.parser/classes/ClassEntity.md b/docs/tech/2.parser/classes/ClassEntity.md index 6fd37fe0..72861a06 100644 --- a/docs/tech/2.parser/classes/ClassEntity.md +++ b/docs/tech/2.parser/classes/ClassEntity.md @@ -382,7 +382,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -430,7 +430,7 @@ public function cursorToDocAttributeLinkFragment(string $cursor, bool $isForDocu \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -461,7 +461,7 @@ public function documentCreationAllowed(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -472,7 +472,7 @@ public function documentCreationAllowed(): bool; ```php @@ -491,7 +491,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -653,7 +653,7 @@ public function getCasesNames(): array; ```php @@ -690,7 +690,7 @@ public function getConstant(string $name): string|array|int|bool|null|float; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -701,7 +701,7 @@ public function getConstant(string $name): string|array|int|bool|null|float; ```php @@ -749,7 +749,7 @@ public function getConstantEntity(string $constantName, bool $unsafe = true): \B \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -760,7 +760,7 @@ public function getConstantEntity(string $constantName, bool $unsafe = true): \B ```php @@ -786,7 +786,7 @@ public function getConstantEntityCollection(): \BumbleDocGen\LanguageHandler\Php \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -797,7 +797,7 @@ public function getConstantEntityCollection(): \BumbleDocGen\LanguageHandler\Php ```php @@ -817,7 +817,7 @@ public function getConstants(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -828,7 +828,7 @@ public function getConstants(): array; ```php @@ -848,7 +848,7 @@ public function getConstantsData(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -859,7 +859,7 @@ public function getConstantsData(): array; ```php @@ -885,7 +885,7 @@ public function getDescription(): string; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -896,7 +896,7 @@ public function getDescription(): string; ```php @@ -915,7 +915,7 @@ public function getDescriptionLinks(): array; Throws: @@ -966,7 +966,7 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; ```php @@ -988,7 +988,7 @@ public function getDocComment(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1025,7 +1025,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1036,7 +1036,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -1059,7 +1059,7 @@ public function getDocNote(): string; ```php @@ -1076,7 +1076,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Throws: @@ -1142,7 +1142,7 @@ public function getEntityDependencies(): array; ```php @@ -1165,7 +1165,7 @@ public function getExamples(): array; ```php @@ -1185,7 +1185,7 @@ public function getExtends(): string|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1196,7 +1196,7 @@ public function getExtends(): string|null; ```php @@ -1213,7 +1213,7 @@ public function getFileContent(): string; Throws: @@ -1224,7 +1224,7 @@ public function getFileContent(): string; ```php @@ -1245,7 +1245,7 @@ public function getFileName(): string|null; ```php @@ -1281,7 +1281,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; Throws: @@ -1292,7 +1292,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -1315,7 +1315,7 @@ public function getFirstExample(): string; ```php @@ -1335,7 +1335,7 @@ public function getFullFileName(): string|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1366,7 +1366,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1377,7 +1377,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -1397,7 +1397,7 @@ public function getInterfaceNames(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1408,7 +1408,7 @@ public function getInterfaceNames(): array; ```php @@ -1428,7 +1428,7 @@ public function getInterfacesEntities(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1439,7 +1439,7 @@ public function getInterfacesEntities(): array; ```php @@ -1459,7 +1459,7 @@ public function getInterfacesString(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1470,7 +1470,7 @@ public function getInterfacesString(): string; ```php @@ -1515,7 +1515,7 @@ public function getMethodEntity(string $methodName, bool $unsafe = true): \Bumbl \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • @@ -1529,7 +1529,7 @@ public function getMethodEntity(string $methodName, bool $unsafe = true): \Bumbl ```php @@ -1549,7 +1549,7 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -1566,7 +1566,7 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -1586,7 +1586,7 @@ public function getMethodsData(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1597,7 +1597,7 @@ public function getMethodsData(): array; ```php @@ -1617,7 +1617,7 @@ public function getModifiersString(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1649,7 +1649,7 @@ public function getName(): string; ```php @@ -1669,7 +1669,7 @@ public function getNamespaceName(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1701,7 +1701,7 @@ public function getObjectId(): string; ```php @@ -1721,7 +1721,7 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1732,7 +1732,7 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit ```php @@ -1752,7 +1752,7 @@ public function getParentClassName(): string|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1763,7 +1763,7 @@ public function getParentClassName(): string|null; ```php @@ -1783,7 +1783,7 @@ public function getParentClassNames(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1853,7 +1853,7 @@ public function getPluginData(string $pluginKey): array|null; ```php @@ -1873,7 +1873,7 @@ public function getPropertiesData(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1884,7 +1884,7 @@ public function getPropertiesData(): array; ```php @@ -1929,7 +1929,7 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • @@ -1943,7 +1943,7 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B ```php @@ -1963,7 +1963,7 @@ public function getPropertyEntityCollection(): \BumbleDocGen\LanguageHandler\Php \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -2001,7 +2001,7 @@ public function getReflector(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -2038,7 +2038,7 @@ public function getRelativeFileName(bool $loadIfEmpty = true): string|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2070,7 +2070,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -2091,7 +2091,7 @@ public function getShortName(): string; ```php @@ -2111,7 +2111,7 @@ public function getStartLine(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2122,7 +2122,7 @@ public function getStartLine(): int; ```php @@ -2144,7 +2144,7 @@ public function getThrows(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2155,7 +2155,7 @@ public function getThrows(): array; ```php @@ -2175,7 +2175,7 @@ public function getTraitsNames(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2224,7 +2224,7 @@ public function hasAnnotationKey(string $annotationKey): bool; ```php @@ -2261,7 +2261,7 @@ public function hasConstant(string $constant): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2272,7 +2272,7 @@ public function hasConstant(string $constant): bool; ```php @@ -2302,7 +2302,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -2325,7 +2325,7 @@ public function hasExamples(): bool; ```php @@ -2362,7 +2362,7 @@ public function hasMethod(string $method): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2373,7 +2373,7 @@ public function hasMethod(string $method): bool; ```php @@ -2410,7 +2410,7 @@ public function hasParentClass(string $parentClassName): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2421,7 +2421,7 @@ public function hasParentClass(string $parentClassName): bool; ```php @@ -2458,7 +2458,7 @@ public function hasProperty(string $property): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2469,7 +2469,7 @@ public function hasProperty(string $property): bool; ```php @@ -2492,7 +2492,7 @@ public function hasThrows(): bool; ```php @@ -2512,7 +2512,7 @@ public function hasTraits(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2523,7 +2523,7 @@ public function hasTraits(): bool; ```php @@ -2560,7 +2560,7 @@ public function implementsInterface(string $interfaceName): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2571,7 +2571,7 @@ public function implementsInterface(string $interfaceName): bool; ```php @@ -2591,7 +2591,7 @@ public function isAbstract(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2623,7 +2623,7 @@ public function isClassLoad(): bool; ```php @@ -2676,7 +2676,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -2698,7 +2698,7 @@ public function isEntityFileCanBeLoad(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2747,7 +2747,7 @@ public static function isEntityNameValid(string $entityName): bool; ```php @@ -2767,7 +2767,7 @@ public function isEnum(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2816,7 +2816,7 @@ public function isInGit(): bool; Throws: @@ -2861,7 +2861,7 @@ public function isInstantiable(): bool; ```php @@ -2881,7 +2881,7 @@ public function isInterface(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2892,7 +2892,7 @@ public function isInterface(): bool; ```php @@ -2915,7 +2915,7 @@ public function isInternal(): bool; ```php @@ -2952,7 +2952,7 @@ public function isSubclassOf(string $className): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -2963,7 +2963,7 @@ public function isSubclassOf(string $className): bool; ```php @@ -2983,7 +2983,7 @@ public function isTrait(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -3037,7 +3037,7 @@ public function loadPluginData(string $pluginKey, array $data): void; ```php diff --git a/docs/tech/2.parser/classes/ClassEntityCollection.md b/docs/tech/2.parser/classes/ClassEntityCollection.md index 0a7fd670..96298fa7 100644 --- a/docs/tech/2.parser/classes/ClassEntityCollection.md +++ b/docs/tech/2.parser/classes/ClassEntityCollection.md @@ -254,7 +254,7 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -414,7 +414,7 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -462,7 +462,7 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -778,7 +778,7 @@ public function getOnlyAbstractClasses(): \BumbleDocGen\LanguageHandler\Php\Pars \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -809,7 +809,7 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -840,7 +840,7 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -871,7 +871,7 @@ public function getOnlyTraits(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1128,7 +1128,7 @@ public function loadClassEntities(): void; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/2.parser/classes/ConstantEntity.md b/docs/tech/2.parser/classes/ConstantEntity.md index 136961ae..4c4312f3 100644 --- a/docs/tech/2.parser/classes/ConstantEntity.md +++ b/docs/tech/2.parser/classes/ConstantEntity.md @@ -240,7 +240,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -259,7 +259,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -387,7 +387,7 @@ public function getDescription(): string; ```php @@ -406,7 +406,7 @@ public function getDescriptionLinks(): array; Throws: @@ -451,7 +451,7 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; ```php @@ -473,7 +473,7 @@ public function getDocComment(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -505,7 +505,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -548,7 +548,7 @@ public function getEndLine(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -559,7 +559,7 @@ public function getEndLine(): int; ```php @@ -602,7 +602,7 @@ public function getFileName(): string|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -613,7 +613,7 @@ public function getFileName(): string|null; ```php @@ -649,7 +649,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; Throws: @@ -660,7 +660,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -745,7 +745,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -797,7 +797,7 @@ public function getNamespaceName(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -808,7 +808,7 @@ public function getNamespaceName(): string; ```php @@ -935,7 +935,7 @@ public function getStartLine(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -946,7 +946,7 @@ public function getStartLine(): int; ```php @@ -968,7 +968,7 @@ public function getThrows(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -979,7 +979,7 @@ public function getThrows(): array; ```php @@ -1009,7 +1009,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -1032,7 +1032,7 @@ public function hasExamples(): bool; ```php @@ -1055,7 +1055,7 @@ public function hasThrows(): bool; ```php @@ -1108,7 +1108,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -1130,7 +1130,7 @@ public function isEntityFileCanBeLoad(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1141,7 +1141,7 @@ public function isEntityFileCanBeLoad(): bool; ```php @@ -1184,7 +1184,7 @@ public function isPrivate(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1215,7 +1215,7 @@ public function isProtected(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1246,7 +1246,7 @@ public function isPublic(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1257,7 +1257,7 @@ public function isPublic(): bool; ```php diff --git a/docs/tech/2.parser/classes/ConstantEntityCollection.md b/docs/tech/2.parser/classes/ConstantEntityCollection.md index 29b3547e..13405e59 100644 --- a/docs/tech/2.parser/classes/ConstantEntityCollection.md +++ b/docs/tech/2.parser/classes/ConstantEntityCollection.md @@ -325,7 +325,7 @@ public function loadConstantEntities(): void; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -419,7 +419,7 @@ public function unsafeGet(string $constantName): \BumbleDocGen\LanguageHandler\P \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/2.parser/classes/DynamicMethodEntity.md b/docs/tech/2.parser/classes/DynamicMethodEntity.md index eabbbb78..75630006 100644 --- a/docs/tech/2.parser/classes/DynamicMethodEntity.md +++ b/docs/tech/2.parser/classes/DynamicMethodEntity.md @@ -225,7 +225,7 @@ public function getAbsoluteFileName(): string|null; Throws: @@ -351,7 +351,7 @@ public function getFileName(): string|null; Throws: @@ -619,7 +619,7 @@ public function getReturnType(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -790,7 +790,7 @@ public function isInitialization(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \Exception
  • diff --git a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md b/docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md deleted file mode 100644 index aacfc757..00000000 --- a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_2.md +++ /dev/null @@ -1,391 +0,0 @@ - - BumbleDocGen / Technical description of the project / Parser / Entity filter conditions / InvalidConfigurationParameterException
    - -

    - InvalidConfigurationParameterException class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Configuration\Exception; - -final class InvalidConfigurationParameterException extends \Exception implements \Throwable, \Stringable -``` - -
    Exception is the base class for -all Exceptions.
    - -See: - - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct - - Construct the exception. Note: The message is NOT binary safe.
    2. -
    - -

    Methods:

    - -
      -
    1. - __toString - - String representation of the exception
    2. -
    3. - __wakeup -
    4. -
    5. - getCode - - Gets the Exception code
    6. -
    7. - getFile - - Gets the file in which the exception occurred
    8. -
    9. - getLine - - Gets the line in which the exception occurred
    10. -
    11. - getMessage - - Gets the Exception message
    12. -
    13. - getPrevious - - Returns previous Exception
    14. -
    15. - getTrace - - Gets the stack trace
    16. -
    17. - getTraceAsString - - Gets the stack trace as a string
    18. -
    - - - - - - - -

    Method details:

    - -
    - -
      -
    • # - __construct -
    • -
    - -```php -// Implemented in Exception - -public function __construct(string $message = "", int $code, \Throwable|null $previous = \null); -``` - -
    Construct the exception. Note: The message is NOT binary safe.
    - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previous\Throwable | null[optional] The previous throwable used for the exception chaining.
    - - - - -See: - -
    -
    -
    - -
      -
    • # - __toString -
    • -
    - -```php -// Implemented in Exception - -public function __toString(): string; -``` - -
    String representation of the exception
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - __wakeup -
    • -
    - -```php -// Implemented in Exception - -public function __wakeup(): mixed; -``` - - - -Parameters: not specified - -Return value: mixed - - -
    -
    -
    - -
      -
    • # - getCode -
    • -
    - -```php -// Implemented in Exception - -public function getCode(): mixed|int; -``` - -
    Gets the Exception code
    - -Parameters: not specified - -Return value: mixed | int - - - -See: - -
    -
    -
    - -
      -
    • # - getFile -
    • -
    - -```php -// Implemented in Exception - -public function getFile(): string; -``` - -
    Gets the file in which the exception occurred
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getLine -
    • -
    - -```php -// Implemented in Exception - -public function getLine(): int; -``` - -
    Gets the line in which the exception occurred
    - -Parameters: not specified - -Return value: int - - - -See: - -
    -
    -
    - -
      -
    • # - getMessage -
    • -
    - -```php -// Implemented in Exception - -public function getMessage(): string; -``` - -
    Gets the Exception message
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getPrevious -
    • -
    - -```php -// Implemented in Exception - -public function getPrevious(): \Throwable|null; -``` - -
    Returns previous Exception
    - -Parameters: not specified - -Return value: \Throwable | null - - - -See: - -
    -
    -
    - -
      -
    • # - getTrace -
    • -
    - -```php -// Implemented in Exception - -public function getTrace(): array; -``` - -
    Gets the stack trace
    - -Parameters: not specified - -Return value: array - - - -See: - -
    -
    -
    - -
      -
    • # - getTraceAsString -
    • -
    - -```php -// Implemented in Exception - -public function getTraceAsString(): string; -``` - -
    Gets the stack trace as a string
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/2.parser/classes/LocatedInCondition.md b/docs/tech/2.parser/classes/LocatedInCondition.md index e71384a0..928c362e 100644 --- a/docs/tech/2.parser/classes/LocatedInCondition.md +++ b/docs/tech/2.parser/classes/LocatedInCondition.md @@ -132,7 +132,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf Throws: diff --git a/docs/tech/2.parser/classes/LocatedNotInCondition.md b/docs/tech/2.parser/classes/LocatedNotInCondition.md index d9e0eef3..2becdf60 100644 --- a/docs/tech/2.parser/classes/LocatedNotInCondition.md +++ b/docs/tech/2.parser/classes/LocatedNotInCondition.md @@ -132,7 +132,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf Throws: diff --git a/docs/tech/2.parser/classes/MethodEntity.md b/docs/tech/2.parser/classes/MethodEntity.md index 3d2c597b..5e958af8 100644 --- a/docs/tech/2.parser/classes/MethodEntity.md +++ b/docs/tech/2.parser/classes/MethodEntity.md @@ -299,7 +299,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -318,7 +318,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -416,7 +416,7 @@ public function getCacheKey(): string; ```php @@ -446,7 +446,7 @@ public function getCachedEntityDependencies(): array; ```php @@ -472,7 +472,7 @@ public function getDescription(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -483,7 +483,7 @@ public function getDescription(): string; ```php @@ -502,7 +502,7 @@ public function getDescriptionLinks(): array; Throws: @@ -570,7 +570,7 @@ public function getDocBlock(bool $recursive = true): \phpDocumentor\Reflection\D ```php @@ -590,7 +590,7 @@ public function getDocComment(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -627,7 +627,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -638,7 +638,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -658,7 +658,7 @@ public function getDocCommentLine(): int|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -669,7 +669,7 @@ public function getDocCommentLine(): int|null; ```php @@ -695,7 +695,7 @@ public function getDocCommentLineRecursive(): int|null; \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -706,7 +706,7 @@ public function getDocCommentLineRecursive(): int|null; ```php @@ -732,7 +732,7 @@ public function getDocCommentRecursive(): string; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -743,7 +743,7 @@ public function getDocCommentRecursive(): string; ```php @@ -766,7 +766,7 @@ public function getDocNote(): string; ```php @@ -786,7 +786,7 @@ public function getEndLine(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -797,7 +797,7 @@ public function getEndLine(): int; ```php @@ -820,7 +820,7 @@ public function getExamples(): array; ```php @@ -840,7 +840,7 @@ public function getFileName(): string|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -851,7 +851,7 @@ public function getFileName(): string|null; ```php @@ -887,7 +887,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; Throws: @@ -898,7 +898,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -921,7 +921,7 @@ public function getFirstExample(): string; ```php @@ -941,7 +941,7 @@ public function getFirstReturnValue(): mixed; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -973,7 +973,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -1014,7 +1014,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1025,7 +1025,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -1045,7 +1045,7 @@ public function getModifiersString(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1056,7 +1056,7 @@ public function getModifiersString(): string; ```php @@ -1097,7 +1097,7 @@ public function getNamespaceName(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1108,7 +1108,7 @@ public function getNamespaceName(): string; ```php @@ -1131,7 +1131,7 @@ public function getObjectId(): string; ```php @@ -1157,7 +1157,7 @@ public function getParameters(): array; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \Exception
  • @@ -1171,7 +1171,7 @@ public function getParameters(): array; ```php @@ -1197,7 +1197,7 @@ public function getParametersString(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1229,7 +1229,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -1255,7 +1255,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1266,7 +1266,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -1292,7 +1292,7 @@ public function getReturnType(): string; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1366,7 +1366,7 @@ public function getShortName(): string; ```php @@ -1392,7 +1392,7 @@ public function getSignature(): string; \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1403,7 +1403,7 @@ public function getSignature(): string; ```php @@ -1423,7 +1423,7 @@ public function getStartColumn(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1434,7 +1434,7 @@ public function getStartColumn(): int; ```php @@ -1454,7 +1454,7 @@ public function getStartLine(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1465,7 +1465,7 @@ public function getStartLine(): int; ```php @@ -1487,7 +1487,7 @@ public function getThrows(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1498,7 +1498,7 @@ public function getThrows(): array; ```php @@ -1528,7 +1528,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -1551,7 +1551,7 @@ public function hasExamples(): bool; ```php @@ -1574,7 +1574,7 @@ public function hasThrows(): bool; ```php @@ -1595,7 +1595,7 @@ public function isConstructor(): bool; ```php @@ -1618,7 +1618,7 @@ public function isDeprecated(): bool; ```php @@ -1669,7 +1669,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -1691,7 +1691,7 @@ public function isEntityFileCanBeLoad(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1702,7 +1702,7 @@ public function isEntityFileCanBeLoad(): bool; ```php @@ -1723,7 +1723,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -1749,7 +1749,7 @@ public function isInitialization(): bool; \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1760,7 +1760,7 @@ public function isInitialization(): bool; ```php @@ -1783,7 +1783,7 @@ public function isInternal(): bool; ```php @@ -1803,7 +1803,7 @@ public function isPrivate(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1814,7 +1814,7 @@ public function isPrivate(): bool; ```php @@ -1834,7 +1834,7 @@ public function isProtected(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1845,7 +1845,7 @@ public function isProtected(): bool; ```php @@ -1865,7 +1865,7 @@ public function isPublic(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1876,7 +1876,7 @@ public function isPublic(): bool; ```php @@ -1896,7 +1896,7 @@ public function isStatic(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1907,7 +1907,7 @@ public function isStatic(): bool; ```php @@ -1945,7 +1945,7 @@ public static function parseAnnotationParams(array $params): array; ```php diff --git a/docs/tech/2.parser/classes/MethodEntityCollection.md b/docs/tech/2.parser/classes/MethodEntityCollection.md index 1f6b8f03..f39ab9ff 100644 --- a/docs/tech/2.parser/classes/MethodEntityCollection.md +++ b/docs/tech/2.parser/classes/MethodEntityCollection.md @@ -378,7 +378,7 @@ public function loadMethodEntities(): void; \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -472,7 +472,7 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/2.parser/classes/PropertyEntity.md b/docs/tech/2.parser/classes/PropertyEntity.md index 7adeaa12..617c0494 100644 --- a/docs/tech/2.parser/classes/PropertyEntity.md +++ b/docs/tech/2.parser/classes/PropertyEntity.md @@ -252,7 +252,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -271,7 +271,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -399,7 +399,7 @@ public function getDefaultValue(): string|array|int|bool|null|float; ```php @@ -425,7 +425,7 @@ public function getDescription(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -436,7 +436,7 @@ public function getDescription(): string; ```php @@ -455,7 +455,7 @@ public function getDescriptionLinks(): array; Throws: @@ -506,7 +506,7 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; ```php @@ -528,7 +528,7 @@ public function getDocComment(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -565,7 +565,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -576,7 +576,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -599,7 +599,7 @@ public function getDocNote(): string; ```php @@ -619,7 +619,7 @@ public function getEndLine(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -630,7 +630,7 @@ public function getEndLine(): int; ```php @@ -653,7 +653,7 @@ public function getExamples(): array; ```php @@ -673,7 +673,7 @@ public function getFileName(): string|null; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -684,7 +684,7 @@ public function getFileName(): string|null; ```php @@ -720,7 +720,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; Throws: @@ -731,7 +731,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -754,7 +754,7 @@ public function getFirstExample(): string; ```php @@ -775,7 +775,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -816,7 +816,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -827,7 +827,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -853,7 +853,7 @@ public function getModifiersString(): string; \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -864,7 +864,7 @@ public function getModifiersString(): string; ```php @@ -885,7 +885,7 @@ public function getName(): string; ```php @@ -905,7 +905,7 @@ public function getNamespaceName(): string; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -916,7 +916,7 @@ public function getNamespaceName(): string; ```php @@ -1002,7 +1002,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -1023,7 +1023,7 @@ public function getShortName(): string; ```php @@ -1043,7 +1043,7 @@ public function getStartLine(): int; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1054,7 +1054,7 @@ public function getStartLine(): int; ```php @@ -1076,7 +1076,7 @@ public function getThrows(): array; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1087,7 +1087,7 @@ public function getThrows(): array; ```php @@ -1113,7 +1113,7 @@ public function getType(): string; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1124,7 +1124,7 @@ public function getType(): string; ```php @@ -1154,7 +1154,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -1177,7 +1177,7 @@ public function hasExamples(): bool; ```php @@ -1200,7 +1200,7 @@ public function hasThrows(): bool; ```php @@ -1253,7 +1253,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -1275,7 +1275,7 @@ public function isEntityFileCanBeLoad(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1286,7 +1286,7 @@ public function isEntityFileCanBeLoad(): bool; ```php @@ -1307,7 +1307,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -1330,7 +1330,7 @@ public function isInternal(): bool; ```php @@ -1350,7 +1350,7 @@ public function isPrivate(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1361,7 +1361,7 @@ public function isPrivate(): bool; ```php @@ -1381,7 +1381,7 @@ public function isProtected(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1392,7 +1392,7 @@ public function isProtected(): bool; ```php @@ -1412,7 +1412,7 @@ public function isPublic(): bool; \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1423,7 +1423,7 @@ public function isPublic(): bool; ```php diff --git a/docs/tech/2.parser/classes/PropertyEntityCollection.md b/docs/tech/2.parser/classes/PropertyEntityCollection.md index beb3f3ec..c650e7f3 100644 --- a/docs/tech/2.parser/classes/PropertyEntityCollection.md +++ b/docs/tech/2.parser/classes/PropertyEntityCollection.md @@ -319,7 +319,7 @@ public function loadPropertyEntities(): void; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -419,7 +419,7 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/2.parser/classes/ReflectionException.md b/docs/tech/2.parser/classes/ReflectionException.md index 484bd11f..3447c81b 100644 --- a/docs/tech/2.parser/classes/ReflectionException.md +++ b/docs/tech/2.parser/classes/ReflectionException.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / ReflectionException
    + BumbleDocGen / Technical description of the project / Parser / ReflectionException

    ReflectionException class: diff --git a/docs/tech/2.parser/classes/RootEntityInterface.md b/docs/tech/2.parser/classes/RootEntityInterface.md index 697e19e8..420020ae 100644 --- a/docs/tech/2.parser/classes/RootEntityInterface.md +++ b/docs/tech/2.parser/classes/RootEntityInterface.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / RootEntityInterface
    + BumbleDocGen / Technical description of the project / Parser / RootEntityInterface

    RootEntityInterface class: diff --git a/docs/tech/2.parser/entity.md b/docs/tech/2.parser/entity.md index 0db66a51..41bc8f21 100644 --- a/docs/tech/2.parser/entity.md +++ b/docs/tech/2.parser/entity.md @@ -123,4 +123,4 @@ These classes are a convenient wrapper for accessing data in templates:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/entityFilterCondition.md b/docs/tech/2.parser/entityFilterCondition.md index a57ae87c..d114b8ad 100644 --- a/docs/tech/2.parser/entityFilterCondition.md +++ b/docs/tech/2.parser/entityFilterCondition.md @@ -78,4 +78,4 @@ Filter condition for working with entities PHP language handler:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/readme.md b/docs/tech/2.parser/readme.md index a0ec1588..d7327733 100644 --- a/docs/tech/2.parser/readme.md +++ b/docs/tech/2.parser/readme.md @@ -41,4 +41,4 @@ In this section, we show how the parser works and what components it consists of

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/sourceLocator.md b/docs/tech/2.parser/sourceLocator.md index 71fadff5..d4e63de1 100644 --- a/docs/tech/2.parser/sourceLocator.md +++ b/docs/tech/2.parser/sourceLocator.md @@ -30,4 +30,4 @@ You can create your own source locators or use any existing ones. All source loc

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/01_templates.md b/docs/tech/3.renderer/01_templates.md index 7e492336..59db50de 100644 --- a/docs/tech/3.renderer/01_templates.md +++ b/docs/tech/3.renderer/01_templates.md @@ -101,4 +101,4 @@ Result after starting the documentation generation process:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Fri Oct 13 18:40:45 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Fri Oct 13 18:40:45 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/02_breadcrumbs.md b/docs/tech/3.renderer/02_breadcrumbs.md index 6198c5af..9f833802 100644 --- a/docs/tech/3.renderer/02_breadcrumbs.md +++ b/docs/tech/3.renderer/02_breadcrumbs.md @@ -51,4 +51,4 @@ Here is an example of the result of the `generatePageBreadcrumbs` function:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/03_documentStructure.md b/docs/tech/3.renderer/03_documentStructure.md index 1a3543d4..6421789c 100644 --- a/docs/tech/3.renderer/03_documentStructure.md +++ b/docs/tech/3.renderer/03_documentStructure.md @@ -19,4 +19,4 @@ plugins:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Fri Oct 13 18:40:45 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Fri Oct 13 18:40:45 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/04_twigCustomFilters.md b/docs/tech/3.renderer/04_twigCustomFilters.md index e438f24d..58edbb80 100644 --- a/docs/tech/3.renderer/04_twigCustomFilters.md +++ b/docs/tech/3.renderer/04_twigCustomFilters.md @@ -263,4 +263,4 @@ Here is a list of filters available by default:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/05_twigCustomFunctions.md b/docs/tech/3.renderer/05_twigCustomFunctions.md index 167beda9..70fe9cba 100644 --- a/docs/tech/3.renderer/05_twigCustomFunctions.md +++ b/docs/tech/3.renderer/05_twigCustomFunctions.md @@ -385,4 +385,4 @@ Here is a list of functions available by default:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md index ee7e250e..a17fa5f3 100644 --- a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md +++ b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md @@ -42,6 +42,9 @@ final class BreadcrumbsHelper
  • getBreadcrumbsForTemplates
  • +
  • + getNearestIndexFile +
  • getPageDataByKey
  • @@ -139,7 +142,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -162,7 +165,7 @@ public function getAllPageLinks(): array; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -173,7 +176,7 @@ public function getAllPageLinks(): array; ```php @@ -218,7 +221,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -229,7 +232,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr ```php @@ -274,7 +277,52 @@ public function getBreadcrumbsForTemplates(string $filePatch, bool $fromCurrent \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException + + + + +
    +
    + + + +```php +public function getNearestIndexFile(string $templateName): string; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $templateNamestring-
    + +Return value: string + + +Throws: + @@ -285,7 +333,7 @@ public function getBreadcrumbsForTemplates(string $filePatch, bool $fromCurrent ```php @@ -322,7 +370,7 @@ public function getPageDataByKey(string $key): array|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -336,7 +384,7 @@ public function getPageDataByKey(string $key): array|null; ```php @@ -373,7 +421,7 @@ public function getPageDocFileByKey(string $key): string|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -387,7 +435,7 @@ public function getPageDocFileByKey(string $key): string|null; ```php @@ -424,7 +472,7 @@ public function getPageLinkByKey(string $key): string|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -438,7 +486,7 @@ public function getPageLinkByKey(string $key): string|null; ```php @@ -472,7 +520,7 @@ public function getTemplateLinkKey(string $templateName): string|null; Throws: @@ -483,7 +531,7 @@ public function getTemplateLinkKey(string $templateName): string|null; ```php @@ -517,7 +565,7 @@ public function getTemplateTitle(string $templateName): string; Throws: @@ -539,7 +587,7 @@ $breadcrumbsHelper->getTemplateTitle() == 'Some template title'; // is true ```php @@ -598,7 +646,7 @@ public function renderBreadcrumbs(string $currentPageTitle, string $filePatch, b \Twig\Error\LoaderError
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md index 53a420ff..b8e21b37 100644 --- a/docs/tech/3.renderer/classes/ClassEntityCollection_2.md +++ b/docs/tech/3.renderer/classes/ClassEntityCollection_2.md @@ -254,10 +254,10 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -325,10 +325,10 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan Throws: @@ -411,10 +411,10 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen Throws: @@ -459,10 +459,10 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P Throws: @@ -749,7 +749,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit See:

    @@ -775,10 +775,10 @@ public function getOnlyAbstractClasses(): \BumbleDocGen\LanguageHandler\Php\Pars Throws: @@ -806,10 +806,10 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ Throws: @@ -837,10 +837,10 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En Throws: @@ -868,10 +868,10 @@ public function getOnlyTraits(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Throws: @@ -1125,10 +1125,10 @@ public function loadClassEntities(): void; \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md b/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md index 14cf61fa..9303aeb1 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrapper.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / DocumentedEntityWrapper
    + BumbleDocGen / Technical description of the project / Renderer / DocumentedEntityWrapper

    DocumentedEntityWrapper class: diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md b/docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md deleted file mode 100644 index f7d977a4..00000000 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_3.md +++ /dev/null @@ -1,303 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / Template filters / DocumentedEntityWrapper
    - -

    - DocumentedEntityWrapper class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Renderer\Context; - -final class DocumentedEntityWrapper -``` - -
    Wrapper for the entity that was requested for documentation
    - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct -
    2. -
    - -

    Methods:

    - -
      -
    1. - getDocRender -
    2. -
    3. - getDocUrl - - Get the relative path to the document to be generated
    4. -
    5. - getDocumentTransformableEntity - - Get entity that is allowed to be documented
    6. -
    7. - getEntityName -
    8. -
    9. - getFileName - - The name of the file to be generated
    10. -
    11. - getKey - - Get document key
    12. -
    13. - getParentDocFilePath -
    14. -
    15. - setParentDocFilePath -
    16. -
    - - - - - - - -

    Method details:

    - -
    - - - -```php -public function __construct(\BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface $documentTransformableEntity, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, string $parentDocFilePath); -``` - - - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $documentTransformableEntity\BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterfaceAn entity that is allowed to be documented
    $localObjectCache\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache-
    $parentDocFilePathstringThe file in which the documentation of the entity was requested
    - - - -
    -
    -
    - - - -```php -public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface; -``` - - - -Parameters: not specified - -Return value: \BumbleDocGen\Core\Renderer\EntityDocRenderer\EntityDocRendererInterface - - -
    -
    -
    - - - -```php -public function getDocUrl(): string; -``` - -
    Get the relative path to the document to be generated
    - -Parameters: not specified - -Return value: string - - -
    -
    -
    - - - -```php -public function getDocumentTransformableEntity(): \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface; -``` - -
    Get entity that is allowed to be documented
    - -Parameters: not specified - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentTransformableEntityInterface - - -
    -
    -
    - - - -```php -public function getEntityName(): string; -``` - - - -Parameters: not specified - -Return value: string - - -
    -
    -
    - - - -```php -public function getFileName(): string; -``` - -
    The name of the file to be generated
    - -Parameters: not specified - -Return value: string - - -
    -
    -
    - - - -```php -public function getKey(): string; -``` - -
    Get document key
    - -Parameters: not specified - -Return value: string - - -
    -
    -
    - - - -```php -public function getParentDocFilePath(): string; -``` - - - -Parameters: not specified - -Return value: string - - -
    -
    -
    - - - -```php -public function setParentDocFilePath(string $parentDocFilePath): void; -``` - - - -Parameters: - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $parentDocFilePathstring-
    - -Return value: void - - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md index a0475d57..d2cbd376 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md +++ b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection.md @@ -1,8 +1,8 @@ - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / DocumentedEntityWrappersCollection
    + BumbleDocGen / Technical description of the project / Renderer / DocumentedEntityWrappersCollection

    - DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

    @@ -60,11 +60,11 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php -public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); +public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); ``` @@ -89,6 +89,11 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $localObjectCache \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - + + + $breadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + - $pluginEventDispatcher @@ -107,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -134,7 +139,7 @@ public function count(): int; ```php @@ -165,6 +170,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Throws: + +
    @@ -172,7 +184,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -193,7 +205,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md b/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md deleted file mode 100644 index 54a1ffda..00000000 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_3.md +++ /dev/null @@ -1,226 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / Template filters / DocumentedEntityWrappersCollection
    - -

    - DocumentedEntityWrappersCollection class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Renderer\Context; - -final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \Traversable, \Countable -``` - - - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct -
    2. -
    - -

    Methods:

    - -
      -
    1. - count - - Count elements of an object
    2. -
    3. - createAndAddDocumentedEntityWrapper -
    4. -
    5. - getDocumentedEntitiesRelations -
    6. -
    7. - getIterator - - Retrieve an external iterator
    8. -
    - - - - - - - -

    Method details:

    - -
    - - - -```php -public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); -``` - - - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $rendererContext\BumbleDocGen\Core\Renderer\Context\RendererContext-
    $localObjectCache\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache-
    $pluginEventDispatcher\BumbleDocGen\Core\Plugin\PluginEventDispatcher-
    - - - -
    -
    -
    - - - -```php -public function count(): int; -``` - -
    Count elements of an object
    - -Parameters: not specified - -Return value: int - - - -See: - -
    -
    -
    - - - -```php -public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $rootEntity): \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper; -``` - - - -Parameters: - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $rootEntity\BumbleDocGen\Core\Parser\Entity\RootEntityInterface-
    - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper - - -
    -
    -
    - - - -```php -public function getDocumentedEntitiesRelations(): array; -``` - - - -Parameters: not specified - -Return value: array - - -
    -
    -
    - - - -```php -public function getIterator(): \Generator; -``` - -
    Retrieve an external iterator
    - -Parameters: not specified - -Return value: \Generator - - -Throws: - - - -See: - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/DrawClassMap.md b/docs/tech/3.renderer/classes/DrawClassMap.md index 623e4afb..84f0f7ed 100644 --- a/docs/tech/3.renderer/classes/DrawClassMap.md +++ b/docs/tech/3.renderer/classes/DrawClassMap.md @@ -165,13 +165,13 @@ public function __invoke(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEn \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -267,13 +267,13 @@ public function getDirectoryStructure(\BumbleDocGen\LanguageHandler\Php\Parser\E \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/DrawDocumentationMenu.md b/docs/tech/3.renderer/classes/DrawDocumentationMenu.md index 77fd7c92..39e7b383 100644 --- a/docs/tech/3.renderer/classes/DrawDocumentationMenu.md +++ b/docs/tech/3.renderer/classes/DrawDocumentationMenu.md @@ -21,7 +21,7 @@ and all links with this page are recursively collected for it, after which the h See: @@ -196,7 +196,7 @@ public function __invoke(string|null $startPageKey = null, int|null $maxDeep = n \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md b/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md index 8355ffe1..21f61981 100644 --- a/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md +++ b/docs/tech/3.renderer/classes/DrawDocumentedEntityLink.md @@ -169,13 +169,13 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md index 7b7eee1e..b251ade9 100644 --- a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md +++ b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs.md @@ -175,7 +175,7 @@ public function __invoke(string $currentPageTitle, string $templatePath, bool $s \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md index 96a80a10..cbfa1200 100644 --- a/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md +++ b/docs/tech/3.renderer/classes/GeneratePageBreadcrumbs_2.md @@ -175,7 +175,7 @@ public function __invoke(string $currentPageTitle, string $templatePath, bool $s \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md b/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md index d73a9038..a34314a8 100644 --- a/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md +++ b/docs/tech/3.renderer/classes/GetClassMethodsBodyCode.md @@ -151,7 +151,7 @@ public function __invoke(string $className, array $methodsNames): string|null; Throws: diff --git a/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md b/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md index c3abac92..026c1f00 100644 --- a/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md +++ b/docs/tech/3.renderer/classes/GetDocumentationPageUrl.md @@ -177,7 +177,7 @@ public function __invoke(string $key): string; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • diff --git a/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md b/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md index 18f74b4b..13464c1f 100644 --- a/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md +++ b/docs/tech/3.renderer/classes/GetDocumentationPageUrl_2.md @@ -177,7 +177,7 @@ public function __invoke(string $key): string; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md index 3c66c451..bfae4f01 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl.md @@ -25,7 +25,7 @@ See:
  • \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection
  • - \BumbleDocGen\Core\Renderer\Context\RendererContext::$entityWrappersCollection
  • + \BumbleDocGen\Core\Renderer\Context\RendererContext::$entityWrappersCollection @@ -211,13 +211,13 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md index dc59f8b2..2ce0dbe3 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_2.md @@ -21,11 +21,11 @@ the `EntityDocRendererInterface::getDocFileExtension()` directory will be create See: @@ -211,13 +211,13 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException diff --git a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md index 65449c9c..94533a93 100644 --- a/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md +++ b/docs/tech/3.renderer/classes/GetDocumentedEntityUrl_3.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / Template filters / GetDocumentedEntityUrl
    + BumbleDocGen / Technical description of the project / Renderer / GetDocumentedEntityUrl

    GetDocumentedEntityUrl class: @@ -21,11 +21,11 @@ the `EntityDocRendererInterface::getDocFileExtension()` directory will be create See: @@ -211,13 +211,13 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md index e81d87c3..e5223cd5 100644 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md +++ b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / InvalidConfigurationParameterException
    + BumbleDocGen / Technical description of the project / Renderer / InvalidConfigurationParameterException

    InvalidConfigurationParameterException class: diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md deleted file mode 100644 index 53b4583e..00000000 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_2.md +++ /dev/null @@ -1,391 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / InvalidConfigurationParameterException
    - -

    - InvalidConfigurationParameterException class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Configuration\Exception; - -final class InvalidConfigurationParameterException extends \Exception implements \Throwable, \Stringable -``` - -
    Exception is the base class for -all Exceptions.
    - -See: - - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct - - Construct the exception. Note: The message is NOT binary safe.
    2. -
    - -

    Methods:

    - -
      -
    1. - __toString - - String representation of the exception
    2. -
    3. - __wakeup -
    4. -
    5. - getCode - - Gets the Exception code
    6. -
    7. - getFile - - Gets the file in which the exception occurred
    8. -
    9. - getLine - - Gets the line in which the exception occurred
    10. -
    11. - getMessage - - Gets the Exception message
    12. -
    13. - getPrevious - - Returns previous Exception
    14. -
    15. - getTrace - - Gets the stack trace
    16. -
    17. - getTraceAsString - - Gets the stack trace as a string
    18. -
    - - - - - - - -

    Method details:

    - -
    - -
      -
    • # - __construct -
    • -
    - -```php -// Implemented in Exception - -public function __construct(string $message = "", int $code, \Throwable|null $previous = \null); -``` - -
    Construct the exception. Note: The message is NOT binary safe.
    - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previous\Throwable | null[optional] The previous throwable used for the exception chaining.
    - - - - -See: - -
    -
    -
    - -
      -
    • # - __toString -
    • -
    - -```php -// Implemented in Exception - -public function __toString(): string; -``` - -
    String representation of the exception
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - __wakeup -
    • -
    - -```php -// Implemented in Exception - -public function __wakeup(): mixed; -``` - - - -Parameters: not specified - -Return value: mixed - - -
    -
    -
    - -
      -
    • # - getCode -
    • -
    - -```php -// Implemented in Exception - -public function getCode(): mixed|int; -``` - -
    Gets the Exception code
    - -Parameters: not specified - -Return value: mixed | int - - - -See: - -
    -
    -
    - -
      -
    • # - getFile -
    • -
    - -```php -// Implemented in Exception - -public function getFile(): string; -``` - -
    Gets the file in which the exception occurred
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getLine -
    • -
    - -```php -// Implemented in Exception - -public function getLine(): int; -``` - -
    Gets the line in which the exception occurred
    - -Parameters: not specified - -Return value: int - - - -See: - -
    -
    -
    - -
      -
    • # - getMessage -
    • -
    - -```php -// Implemented in Exception - -public function getMessage(): string; -``` - -
    Gets the Exception message
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getPrevious -
    • -
    - -```php -// Implemented in Exception - -public function getPrevious(): \Throwable|null; -``` - -
    Returns previous Exception
    - -Parameters: not specified - -Return value: \Throwable | null - - - -See: - -
    -
    -
    - -
      -
    • # - getTrace -
    • -
    - -```php -// Implemented in Exception - -public function getTrace(): array; -``` - -
    Gets the stack trace
    - -Parameters: not specified - -Return value: array - - - -See: - -
    -
    -
    - -
      -
    • # - getTraceAsString -
    • -
    - -```php -// Implemented in Exception - -public function getTraceAsString(): string; -``` - -
    Gets the stack trace as a string
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md deleted file mode 100644 index a8e2343c..00000000 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_3.md +++ /dev/null @@ -1,391 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / Template functions / InvalidConfigurationParameterException
    - -

    - InvalidConfigurationParameterException class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Configuration\Exception; - -final class InvalidConfigurationParameterException extends \Exception implements \Throwable, \Stringable -``` - -
    Exception is the base class for -all Exceptions.
    - -See: - - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct - - Construct the exception. Note: The message is NOT binary safe.
    2. -
    - -

    Methods:

    - -
      -
    1. - __toString - - String representation of the exception
    2. -
    3. - __wakeup -
    4. -
    5. - getCode - - Gets the Exception code
    6. -
    7. - getFile - - Gets the file in which the exception occurred
    8. -
    9. - getLine - - Gets the line in which the exception occurred
    10. -
    11. - getMessage - - Gets the Exception message
    12. -
    13. - getPrevious - - Returns previous Exception
    14. -
    15. - getTrace - - Gets the stack trace
    16. -
    17. - getTraceAsString - - Gets the stack trace as a string
    18. -
    - - - - - - - -

    Method details:

    - -
    - -
      -
    • # - __construct -
    • -
    - -```php -// Implemented in Exception - -public function __construct(string $message = "", int $code, \Throwable|null $previous = \null); -``` - -
    Construct the exception. Note: The message is NOT binary safe.
    - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previous\Throwable | null[optional] The previous throwable used for the exception chaining.
    - - - - -See: - -
    -
    -
    - -
      -
    • # - __toString -
    • -
    - -```php -// Implemented in Exception - -public function __toString(): string; -``` - -
    String representation of the exception
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - __wakeup -
    • -
    - -```php -// Implemented in Exception - -public function __wakeup(): mixed; -``` - - - -Parameters: not specified - -Return value: mixed - - -
    -
    -
    - -
      -
    • # - getCode -
    • -
    - -```php -// Implemented in Exception - -public function getCode(): mixed|int; -``` - -
    Gets the Exception code
    - -Parameters: not specified - -Return value: mixed | int - - - -See: - -
    -
    -
    - -
      -
    • # - getFile -
    • -
    - -```php -// Implemented in Exception - -public function getFile(): string; -``` - -
    Gets the file in which the exception occurred
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getLine -
    • -
    - -```php -// Implemented in Exception - -public function getLine(): int; -``` - -
    Gets the line in which the exception occurred
    - -Parameters: not specified - -Return value: int - - - -See: - -
    -
    -
    - -
      -
    • # - getMessage -
    • -
    - -```php -// Implemented in Exception - -public function getMessage(): string; -``` - -
    Gets the Exception message
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getPrevious -
    • -
    - -```php -// Implemented in Exception - -public function getPrevious(): \Throwable|null; -``` - -
    Returns previous Exception
    - -Parameters: not specified - -Return value: \Throwable | null - - - -See: - -
    -
    -
    - -
      -
    • # - getTrace -
    • -
    - -```php -// Implemented in Exception - -public function getTrace(): array; -``` - -
    Gets the stack trace
    - -Parameters: not specified - -Return value: array - - - -See: - -
    -
    -
    - -
      -
    • # - getTraceAsString -
    • -
    - -```php -// Implemented in Exception - -public function getTraceAsString(): string; -``` - -
    Gets the stack trace as a string
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md deleted file mode 100644 index 6a63ea19..00000000 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_4.md +++ /dev/null @@ -1,391 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / Documentation structure and breadcrumbs / InvalidConfigurationParameterException
    - -

    - InvalidConfigurationParameterException class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Configuration\Exception; - -final class InvalidConfigurationParameterException extends \Exception implements \Throwable, \Stringable -``` - -
    Exception is the base class for -all Exceptions.
    - -See: - - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct - - Construct the exception. Note: The message is NOT binary safe.
    2. -
    - -

    Methods:

    - -
      -
    1. - __toString - - String representation of the exception
    2. -
    3. - __wakeup -
    4. -
    5. - getCode - - Gets the Exception code
    6. -
    7. - getFile - - Gets the file in which the exception occurred
    8. -
    9. - getLine - - Gets the line in which the exception occurred
    10. -
    11. - getMessage - - Gets the Exception message
    12. -
    13. - getPrevious - - Returns previous Exception
    14. -
    15. - getTrace - - Gets the stack trace
    16. -
    17. - getTraceAsString - - Gets the stack trace as a string
    18. -
    - - - - - - - -

    Method details:

    - -
    - -
      -
    • # - __construct -
    • -
    - -```php -// Implemented in Exception - -public function __construct(string $message = "", int $code, \Throwable|null $previous = \null); -``` - -
    Construct the exception. Note: The message is NOT binary safe.
    - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previous\Throwable | null[optional] The previous throwable used for the exception chaining.
    - - - - -See: - -
    -
    -
    - -
      -
    • # - __toString -
    • -
    - -```php -// Implemented in Exception - -public function __toString(): string; -``` - -
    String representation of the exception
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - __wakeup -
    • -
    - -```php -// Implemented in Exception - -public function __wakeup(): mixed; -``` - - - -Parameters: not specified - -Return value: mixed - - -
    -
    -
    - -
      -
    • # - getCode -
    • -
    - -```php -// Implemented in Exception - -public function getCode(): mixed|int; -``` - -
    Gets the Exception code
    - -Parameters: not specified - -Return value: mixed | int - - - -See: - -
    -
    -
    - -
      -
    • # - getFile -
    • -
    - -```php -// Implemented in Exception - -public function getFile(): string; -``` - -
    Gets the file in which the exception occurred
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getLine -
    • -
    - -```php -// Implemented in Exception - -public function getLine(): int; -``` - -
    Gets the line in which the exception occurred
    - -Parameters: not specified - -Return value: int - - - -See: - -
    -
    -
    - -
      -
    • # - getMessage -
    • -
    - -```php -// Implemented in Exception - -public function getMessage(): string; -``` - -
    Gets the Exception message
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getPrevious -
    • -
    - -```php -// Implemented in Exception - -public function getPrevious(): \Throwable|null; -``` - -
    Returns previous Exception
    - -Parameters: not specified - -Return value: \Throwable | null - - - -See: - -
    -
    -
    - -
      -
    • # - getTrace -
    • -
    - -```php -// Implemented in Exception - -public function getTrace(): array; -``` - -
    Gets the stack trace
    - -Parameters: not specified - -Return value: array - - - -See: - -
    -
    -
    - -
      -
    • # - getTraceAsString -
    • -
    - -```php -// Implemented in Exception - -public function getTraceAsString(): string; -``` - -
    Gets the stack trace as a string
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md b/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md deleted file mode 100644 index 5bdbfb7b..00000000 --- a/docs/tech/3.renderer/classes/InvalidConfigurationParameterException_5.md +++ /dev/null @@ -1,391 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / Template filters / InvalidConfigurationParameterException
    - -

    - InvalidConfigurationParameterException class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Configuration\Exception; - -final class InvalidConfigurationParameterException extends \Exception implements \Throwable, \Stringable -``` - -
    Exception is the base class for -all Exceptions.
    - -See: - - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct - - Construct the exception. Note: The message is NOT binary safe.
    2. -
    - -

    Methods:

    - -
      -
    1. - __toString - - String representation of the exception
    2. -
    3. - __wakeup -
    4. -
    5. - getCode - - Gets the Exception code
    6. -
    7. - getFile - - Gets the file in which the exception occurred
    8. -
    9. - getLine - - Gets the line in which the exception occurred
    10. -
    11. - getMessage - - Gets the Exception message
    12. -
    13. - getPrevious - - Returns previous Exception
    14. -
    15. - getTrace - - Gets the stack trace
    16. -
    17. - getTraceAsString - - Gets the stack trace as a string
    18. -
    - - - - - - - -

    Method details:

    - -
    - -
      -
    • # - __construct -
    • -
    - -```php -// Implemented in Exception - -public function __construct(string $message = "", int $code, \Throwable|null $previous = \null); -``` - -
    Construct the exception. Note: The message is NOT binary safe.
    - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previous\Throwable | null[optional] The previous throwable used for the exception chaining.
    - - - - -See: - -
    -
    -
    - -
      -
    • # - __toString -
    • -
    - -```php -// Implemented in Exception - -public function __toString(): string; -``` - -
    String representation of the exception
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - __wakeup -
    • -
    - -```php -// Implemented in Exception - -public function __wakeup(): mixed; -``` - - - -Parameters: not specified - -Return value: mixed - - -
    -
    -
    - -
      -
    • # - getCode -
    • -
    - -```php -// Implemented in Exception - -public function getCode(): mixed|int; -``` - -
    Gets the Exception code
    - -Parameters: not specified - -Return value: mixed | int - - - -See: - -
    -
    -
    - -
      -
    • # - getFile -
    • -
    - -```php -// Implemented in Exception - -public function getFile(): string; -``` - -
    Gets the file in which the exception occurred
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getLine -
    • -
    - -```php -// Implemented in Exception - -public function getLine(): int; -``` - -
    Gets the line in which the exception occurred
    - -Parameters: not specified - -Return value: int - - - -See: - -
    -
    -
    - -
      -
    • # - getMessage -
    • -
    - -```php -// Implemented in Exception - -public function getMessage(): string; -``` - -
    Gets the Exception message
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getPrevious -
    • -
    - -```php -// Implemented in Exception - -public function getPrevious(): \Throwable|null; -``` - -
    Returns previous Exception
    - -Parameters: not specified - -Return value: \Throwable | null - - - -See: - -
    -
    -
    - -
      -
    • # - getTrace -
    • -
    - -```php -// Implemented in Exception - -public function getTrace(): array; -``` - -
    Gets the stack trace
    - -Parameters: not specified - -Return value: array - - - -See: - -
    -
    -
    - -
      -
    • # - getTraceAsString -
    • -
    - -```php -// Implemented in Exception - -public function getTraceAsString(): string; -``` - -
    Gets the stack trace as a string
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md b/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md index aaa648ad..79de64fa 100644 --- a/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md +++ b/docs/tech/3.renderer/classes/PageHtmlLinkerPlugin.md @@ -180,10 +180,10 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md b/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md index c03d19cf..a8086d43 100644 --- a/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md +++ b/docs/tech/3.renderer/classes/PrintEntityCollectionAsList.md @@ -168,7 +168,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ Throws: diff --git a/docs/tech/3.renderer/classes/ReflectionException.md b/docs/tech/3.renderer/classes/ReflectionException.md index d62e456e..89c5be36 100644 --- a/docs/tech/3.renderer/classes/ReflectionException.md +++ b/docs/tech/3.renderer/classes/ReflectionException.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / ReflectionException
    + BumbleDocGen / Technical description of the project / Renderer / ReflectionException

    ReflectionException class: diff --git a/docs/tech/3.renderer/classes/ReflectionException_3.md b/docs/tech/3.renderer/classes/ReflectionException_3.md deleted file mode 100644 index 0d51cfa2..00000000 --- a/docs/tech/3.renderer/classes/ReflectionException_3.md +++ /dev/null @@ -1,391 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / Template functions / ReflectionException
    - -

    - ReflectionException class: -

    - - - - - -```php -namespace BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception; - -final class ReflectionException extends \Exception implements \Throwable, \Stringable -``` - -
    Exception is the base class for -all Exceptions.
    - -See: - - - - - - - -

    Initialization methods:

    - -
      -
    1. - __construct - - Construct the exception. Note: The message is NOT binary safe.
    2. -
    - -

    Methods:

    - -
      -
    1. - __toString - - String representation of the exception
    2. -
    3. - __wakeup -
    4. -
    5. - getCode - - Gets the Exception code
    6. -
    7. - getFile - - Gets the file in which the exception occurred
    8. -
    9. - getLine - - Gets the line in which the exception occurred
    10. -
    11. - getMessage - - Gets the Exception message
    12. -
    13. - getPrevious - - Returns previous Exception
    14. -
    15. - getTrace - - Gets the stack trace
    16. -
    17. - getTraceAsString - - Gets the stack trace as a string
    18. -
    - - - - - - - -

    Method details:

    - -
    - -
      -
    • # - __construct -
    • -
    - -```php -// Implemented in Exception - -public function __construct(string $message = "", int $code, \Throwable|null $previous = \null); -``` - -
    Construct the exception. Note: The message is NOT binary safe.
    - -Parameters: - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $messagestring[optional] The Exception message to throw.
    $codeint[optional] The Exception code.
    $previous\Throwable | null[optional] The previous throwable used for the exception chaining.
    - - - - -See: - -
    -
    -
    - -
      -
    • # - __toString -
    • -
    - -```php -// Implemented in Exception - -public function __toString(): string; -``` - -
    String representation of the exception
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - __wakeup -
    • -
    - -```php -// Implemented in Exception - -public function __wakeup(): mixed; -``` - - - -Parameters: not specified - -Return value: mixed - - -
    -
    -
    - -
      -
    • # - getCode -
    • -
    - -```php -// Implemented in Exception - -public function getCode(): mixed|int; -``` - -
    Gets the Exception code
    - -Parameters: not specified - -Return value: mixed | int - - - -See: - -
    -
    -
    - -
      -
    • # - getFile -
    • -
    - -```php -// Implemented in Exception - -public function getFile(): string; -``` - -
    Gets the file in which the exception occurred
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getLine -
    • -
    - -```php -// Implemented in Exception - -public function getLine(): int; -``` - -
    Gets the line in which the exception occurred
    - -Parameters: not specified - -Return value: int - - - -See: - -
    -
    -
    - -
      -
    • # - getMessage -
    • -
    - -```php -// Implemented in Exception - -public function getMessage(): string; -``` - -
    Gets the Exception message
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    -
    - -
      -
    • # - getPrevious -
    • -
    - -```php -// Implemented in Exception - -public function getPrevious(): \Throwable|null; -``` - -
    Returns previous Exception
    - -Parameters: not specified - -Return value: \Throwable | null - - - -See: - -
    -
    -
    - -
      -
    • # - getTrace -
    • -
    - -```php -// Implemented in Exception - -public function getTrace(): array; -``` - -
    Gets the stack trace
    - -Parameters: not specified - -Return value: array - - - -See: - -
    -
    -
    - -
      -
    • # - getTraceAsString -
    • -
    - -```php -// Implemented in Exception - -public function getTraceAsString(): string; -``` - -
    Gets the stack trace as a string
    - -Parameters: not specified - -Return value: string - - - -See: - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/RendererContext.md b/docs/tech/3.renderer/classes/RendererContext.md index 2938cd52..b8df10a8 100644 --- a/docs/tech/3.renderer/classes/RendererContext.md +++ b/docs/tech/3.renderer/classes/RendererContext.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / RendererContext
    + BumbleDocGen / Technical description of the project / Renderer / RendererContext

    RendererContext class: diff --git a/docs/tech/3.renderer/classes/RendererContext_3.md b/docs/tech/3.renderer/classes/RendererContext_3.md deleted file mode 100644 index ab188eda..00000000 --- a/docs/tech/3.renderer/classes/RendererContext_3.md +++ /dev/null @@ -1,259 +0,0 @@ - - BumbleDocGen / Technical description of the project / Renderer / Template filters / RendererContext
    - -

    - RendererContext class: -

    - - - - - -```php -namespace BumbleDocGen\Core\Renderer\Context; - -final class RendererContext -``` - -
    Document rendering context
    - - - - - - - -

    Methods:

    - -
      -
    1. - addDependency -
    2. -
    3. - clearDependencies -
    4. -
    5. - getCurrentDocumentedEntityWrapper -
    6. -
    7. - getCurrentTemplateFilePatch - - Getting the path to the template file that is currently being worked on
    8. -
    9. - getDependencies -
    10. -
    11. - setCurrentDocumentedEntityWrapper -
    12. -
    13. - setCurrentTemplateFilePatch - - Saving the path to the template file that is currently being worked on in the context
    14. -
    - - - - - - - -

    Method details:

    - -
    - - - -```php -public function addDependency(\BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface $dependency): void; -``` - - - -Parameters: - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $dependency\BumbleDocGen\Core\Renderer\Context\Dependency\RendererDependencyInterface-
    - -Return value: void - - -
    -
    -
    - - - -```php -public function clearDependencies(): void; -``` - - - -Parameters: not specified - -Return value: void - - -
    -
    -
    - - - -```php -public function getCurrentDocumentedEntityWrapper(): \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper|null; -``` - - - -Parameters: not specified - -Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper | null - - -
    -
    -
    - - - -```php -public function getCurrentTemplateFilePatch(): string; -``` - -
    Getting the path to the template file that is currently being worked on
    - -Parameters: not specified - -Return value: string - - -
    -
    -
    - - - -```php -public function getDependencies(): array; -``` - - - -Parameters: not specified - -Return value: array - - -
    -
    -
    - - - -```php -public function setCurrentDocumentedEntityWrapper(\BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper $currentDocumentedEntityWrapper): void; -``` - - - -Parameters: - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $currentDocumentedEntityWrapper\BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper-
    - -Return value: void - - -
    -
    -
    - - - -```php -public function setCurrentTemplateFilePatch(string $currentTemplateFilePath): void; -``` - -
    Saving the path to the template file that is currently being worked on in the context
    - -Parameters: - - - - - - - - - - - - - - - - -
    NameTypeDescription
    $currentTemplateFilePathstring-
    - -Return value: void - - -
    -
    - - \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/RootEntityCollection.md b/docs/tech/3.renderer/classes/RootEntityCollection.md index f2af393f..57f757a4 100644 --- a/docs/tech/3.renderer/classes/RootEntityCollection.md +++ b/docs/tech/3.renderer/classes/RootEntityCollection.md @@ -298,7 +298,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit See:

    diff --git a/docs/tech/3.renderer/classes/RootEntityInterface_2.md b/docs/tech/3.renderer/classes/RootEntityInterface_2.md index 6fc62781..f771214c 100644 --- a/docs/tech/3.renderer/classes/RootEntityInterface_2.md +++ b/docs/tech/3.renderer/classes/RootEntityInterface_2.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Templates variables / RootEntityInterface
    + BumbleDocGen / Technical description of the project / Renderer / RootEntityInterface

    RootEntityInterface class: diff --git a/docs/tech/3.renderer/readme.md b/docs/tech/3.renderer/readme.md index 4e159b09..ec8b7f38 100644 --- a/docs/tech/3.renderer/readme.md +++ b/docs/tech/3.renderer/readme.md @@ -60,4 +60,4 @@ This process is presented in the form of a diagram below.

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesDynamicBlocks.md b/docs/tech/3.renderer/templatesDynamicBlocks.md index fc80195c..38845d73 100644 --- a/docs/tech/3.renderer/templatesDynamicBlocks.md +++ b/docs/tech/3.renderer/templatesDynamicBlocks.md @@ -26,4 +26,4 @@ You can use the built-in functions and filters or add your own, so you can imple

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Sep 2 21:01:47 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesLinking.md b/docs/tech/3.renderer/templatesLinking.md index a89216ae..3b23bd0a 100644 --- a/docs/tech/3.renderer/templatesLinking.md +++ b/docs/tech/3.renderer/templatesLinking.md @@ -27,4 +27,4 @@ You can also implement your own functions for relinking if necessary.

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesVariables.md b/docs/tech/3.renderer/templatesVariables.md index a8ab42c2..cfb642f8 100644 --- a/docs/tech/3.renderer/templatesVariables.md +++ b/docs/tech/3.renderer/templatesVariables.md @@ -11,4 +11,4 @@ There are several variables available in each processed template.

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md b/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md index 044d0ff5..d1fde6a2 100644 --- a/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md +++ b/docs/tech/4.pluginSystem/classes/AfterLoadingClassEntityCollection.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\LanguageHandler\Php\Plugin\Event\Parser; -final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDispatcher\Event ```
    The event is called after the initial creation of a collection of class entities
    diff --git a/docs/tech/4.pluginSystem/classes/AfterRenderingEntities.md b/docs/tech/4.pluginSystem/classes/AfterRenderingEntities.md index ee57fae3..37f8776d 100644 --- a/docs/tech/4.pluginSystem/classes/AfterRenderingEntities.md +++ b/docs/tech/4.pluginSystem/classes/AfterRenderingEntities.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class AfterRenderingEntities extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class AfterRenderingEntities extends \Symfony\Contracts\EventDispatcher\Event ```
    Event is the base class for classes containing event data.
    diff --git a/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md b/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md index 28977bea..6c8bd9da 100644 --- a/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md +++ b/docs/tech/4.pluginSystem/classes/BeforeCreatingDocFile.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class BeforeCreatingDocFile extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class BeforeCreatingDocFile extends \Symfony\Contracts\EventDispatcher\Event ```
    Called before the content of the documentation document is saved to a file
    diff --git a/docs/tech/4.pluginSystem/classes/BeforeRenderingDocFiles.md b/docs/tech/4.pluginSystem/classes/BeforeRenderingDocFiles.md index 10df4a78..68122b37 100644 --- a/docs/tech/4.pluginSystem/classes/BeforeRenderingDocFiles.md +++ b/docs/tech/4.pluginSystem/classes/BeforeRenderingDocFiles.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class BeforeRenderingDocFiles extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class BeforeRenderingDocFiles extends \Symfony\Contracts\EventDispatcher\Event ```
    The event occurs before the main documents begin rendering
    diff --git a/docs/tech/4.pluginSystem/classes/BeforeRenderingEntities.md b/docs/tech/4.pluginSystem/classes/BeforeRenderingEntities.md index a57268a7..0ad8070a 100644 --- a/docs/tech/4.pluginSystem/classes/BeforeRenderingEntities.md +++ b/docs/tech/4.pluginSystem/classes/BeforeRenderingEntities.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class BeforeRenderingEntities extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class BeforeRenderingEntities extends \Symfony\Contracts\EventDispatcher\Event ```
    The event occurs before the rendering of entity documents begins, after the main documents have been created
    diff --git a/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md b/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md index cd2cd987..8247594d 100644 --- a/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md +++ b/docs/tech/4.pluginSystem/classes/OnAddClassEntityToCollection.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\LanguageHandler\Php\Plugin\Event\Parser; -final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatcher\Event implements \BumbleDocGen\Core\Plugin\OnlySingleExecutionEvent, \Psr\EventDispatcher\StoppableEventInterface +final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatcher\Event implements \BumbleDocGen\Core\Plugin\OnlySingleExecutionEvent ```
    Called when each class entity is added to the entity collection
    diff --git a/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md b/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md index 72a1eac6..2c3a1991 100644 --- a/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md +++ b/docs/tech/4.pluginSystem/classes/OnCheckIsClassEntityCanBeLoad.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity; -final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispatcher\Event ```
    Event is the base class for classes containing event data.
    diff --git a/docs/tech/4.pluginSystem/classes/OnCreateDocumentedEntityWrapper.md b/docs/tech/4.pluginSystem/classes/OnCreateDocumentedEntityWrapper.md index 300a593b..b0dbaf39 100644 --- a/docs/tech/4.pluginSystem/classes/OnCreateDocumentedEntityWrapper.md +++ b/docs/tech/4.pluginSystem/classes/OnCreateDocumentedEntityWrapper.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnCreateDocumentedEntityWrapper extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnCreateDocumentedEntityWrapper extends \Symfony\Contracts\EventDispatcher\Event ```
    The event occurs when an entity is added to the list for documentation
    diff --git a/docs/tech/4.pluginSystem/classes/OnGetProjectTemplatesDirs.md b/docs/tech/4.pluginSystem/classes/OnGetProjectTemplatesDirs.md index 889c3574..e9d504ac 100644 --- a/docs/tech/4.pluginSystem/classes/OnGetProjectTemplatesDirs.md +++ b/docs/tech/4.pluginSystem/classes/OnGetProjectTemplatesDirs.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnGetProjectTemplatesDirs extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnGetProjectTemplatesDirs extends \Symfony\Contracts\EventDispatcher\Event ```
    This event occurs when all directories containing document templates are retrieved
    diff --git a/docs/tech/4.pluginSystem/classes/OnGetTemplatePathByRelativeDocPath.md b/docs/tech/4.pluginSystem/classes/OnGetTemplatePathByRelativeDocPath.md index ec4c765d..64f9ac0b 100644 --- a/docs/tech/4.pluginSystem/classes/OnGetTemplatePathByRelativeDocPath.md +++ b/docs/tech/4.pluginSystem/classes/OnGetTemplatePathByRelativeDocPath.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnGetTemplatePathByRelativeDocPath extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnGetTemplatePathByRelativeDocPath extends \Symfony\Contracts\EventDispatcher\Event ```
    The event occurs when the path to the template file is obtained relative to the path to the document
    diff --git a/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md b/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md index c8ede590..55ab7614 100644 --- a/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md +++ b/docs/tech/4.pluginSystem/classes/OnGettingResourceLink.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Event ```
    Event occurs when a reference to an entity (resource) is received
    diff --git a/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md b/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md index f0ceccd6..e03471f4 100644 --- a/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md +++ b/docs/tech/4.pluginSystem/classes/OnLoadEntityDocPluginContent.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnLoadEntityDocPluginContent extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnLoadEntityDocPluginContent extends \Symfony\Contracts\EventDispatcher\Event ```
    Called when entity documentation is generated (plugin content loading)
    diff --git a/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md b/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md index bba0eed7..0bc4f882 100644 --- a/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md +++ b/docs/tech/4.pluginSystem/classes/OnLoadSourceLocatorsCollection.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Parser; -final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispatcher\Event ```
    Called when source locators are loaded
    diff --git a/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md b/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md index 1c6e9b9c..30956139 100644 --- a/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md +++ b/docs/tech/4.pluginSystem/classes/PhpUnitStubberPlugin.md @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php diff --git a/docs/tech/4.pluginSystem/readme.md b/docs/tech/4.pluginSystem/readme.md index 5022ee64..621cd655 100644 --- a/docs/tech/4.pluginSystem/readme.md +++ b/docs/tech/4.pluginSystem/readme.md @@ -190,4 +190,4 @@ plugins:

    -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Thu Nov 02 2023
    Made with Bumble Documentation Generator
    \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
    Last modified date: Sat Oct 28 11:03:31 2023 +0300
    Page content update date: Fri Nov 03 2023
    Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/classes/AfterLoadingClassEntityCollection.md b/docs/tech/classes/AfterLoadingClassEntityCollection.md index 8a21a74e..82149929 100644 --- a/docs/tech/classes/AfterLoadingClassEntityCollection.md +++ b/docs/tech/classes/AfterLoadingClassEntityCollection.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\LanguageHandler\Php\Plugin\Event\Parser; -final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class AfterLoadingClassEntityCollection extends \Symfony\Contracts\EventDispatcher\Event ```
    The event is called after the initial creation of a collection of class entities
    diff --git a/docs/tech/classes/AfterRenderingEntities.md b/docs/tech/classes/AfterRenderingEntities.md index e8faf6a2..a64b57f8 100644 --- a/docs/tech/classes/AfterRenderingEntities.md +++ b/docs/tech/classes/AfterRenderingEntities.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class AfterRenderingEntities extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class AfterRenderingEntities extends \Symfony\Contracts\EventDispatcher\Event ```
    Event is the base class for classes containing event data.
    diff --git a/docs/tech/classes/BaseEntity.md b/docs/tech/classes/BaseEntity.md index 04ec9245..1f29bd28 100644 --- a/docs/tech/classes/BaseEntity.md +++ b/docs/tech/classes/BaseEntity.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / BaseEntity

    - BaseEntity class: + BaseEntity class:

    @@ -142,7 +142,7 @@ abstract class BaseEntity implements \BumbleDocGen\Core\Parser\Entity\Cache\Cach ```php @@ -159,7 +159,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -173,7 +176,7 @@ public function getAllPageLinks(): array; ```php @@ -218,7 +221,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -229,7 +232,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr ```php @@ -274,7 +277,52 @@ public function getBreadcrumbsForTemplates(string $filePatch, bool $fromCurrent \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException + + + + +
    +
    + + + +```php +public function getNearestIndexFile(string $templateName): string; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $templateNamestring-
    + +Return value: string + + +Throws: + @@ -285,7 +333,7 @@ public function getBreadcrumbsForTemplates(string $filePatch, bool $fromCurrent ```php @@ -322,7 +370,7 @@ public function getPageDataByKey(string $key): array|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -336,7 +384,7 @@ public function getPageDataByKey(string $key): array|null; ```php @@ -373,7 +421,7 @@ public function getPageDocFileByKey(string $key): string|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -387,7 +435,7 @@ public function getPageDocFileByKey(string $key): string|null; ```php @@ -424,7 +472,7 @@ public function getPageLinkByKey(string $key): string|null; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -438,7 +486,7 @@ public function getPageLinkByKey(string $key): string|null; ```php @@ -472,7 +520,7 @@ public function getTemplateLinkKey(string $templateName): string|null; Throws: @@ -483,7 +531,7 @@ public function getTemplateLinkKey(string $templateName): string|null; ```php @@ -517,7 +565,7 @@ public function getTemplateTitle(string $templateName): string; Throws: @@ -539,7 +587,7 @@ $breadcrumbsHelper->getTemplateTitle() == 'Some template title'; // is true ```php @@ -598,7 +646,7 @@ public function renderBreadcrumbs(string $currentPageTitle, string $filePatch, b \Twig\Error\LoaderError
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/CacheablePhpEntityFactory.md b/docs/tech/classes/CacheablePhpEntityFactory.md index f14af954..b3880a8d 100644 --- a/docs/tech/classes/CacheablePhpEntityFactory.md +++ b/docs/tech/classes/CacheablePhpEntityFactory.md @@ -232,7 +232,7 @@ public function createClassEntityByReflection(\Roave\BetterReflection\Reflection \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -603,7 +603,7 @@ public function createSubClassEntityByReflection(string $subClassEntity, \Roave\ \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/CachedSourceLocator.md b/docs/tech/classes/CachedSourceLocator.md index 8e1fc9e4..5726a857 100644 --- a/docs/tech/classes/CachedSourceLocator.md +++ b/docs/tech/classes/CachedSourceLocator.md @@ -143,7 +143,7 @@ public function locateIdentifier(\Roave\BetterReflection\Reflector\Reflector $re \Psr\Cache\InvalidArgumentException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/ClassEntity.md b/docs/tech/classes/ClassEntity.md index 910c0443..937dc33a 100644 --- a/docs/tech/classes/ClassEntity.md +++ b/docs/tech/classes/ClassEntity.md @@ -382,7 +382,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -421,7 +421,7 @@ public function cursorToDocAttributeLinkFragment(string $cursor, bool $isForDocu Throws: @@ -458,10 +458,10 @@ public function documentCreationAllowed(): bool; Throws: @@ -472,7 +472,7 @@ public function documentCreationAllowed(): bool; ```php @@ -491,7 +491,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -797,7 +797,7 @@ public function getConstantEntityCollection(): \BumbleDocGen\LanguageHandler\Php ```php @@ -814,10 +814,10 @@ public function getConstants(): array; Throws: @@ -828,7 +828,7 @@ public function getConstants(): array; ```php @@ -845,10 +845,10 @@ public function getConstantsData(): array; Throws: @@ -859,7 +859,7 @@ public function getConstantsData(): array; ```php @@ -879,13 +879,13 @@ public function getDescription(): string; \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -896,7 +896,7 @@ public function getDescription(): string; ```php @@ -915,7 +915,7 @@ public function getDescriptionLinks(): array; Throws: @@ -966,7 +966,7 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; ```php @@ -985,10 +985,10 @@ public function getDocComment(): string; Throws: @@ -1022,10 +1022,10 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1036,7 +1036,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -1059,7 +1059,7 @@ public function getDocNote(): string; ```php @@ -1076,7 +1076,7 @@ public function getDocRender(): \BumbleDocGen\Core\Renderer\EntityDocRenderer\En Throws: @@ -1529,7 +1529,7 @@ public function getMethodEntity(string $methodName, bool $unsafe = true): \Bumbl ```php @@ -1549,13 +1549,13 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException @@ -1566,7 +1566,7 @@ public function getMethodEntityCollection(): \BumbleDocGen\LanguageHandler\Php\P ```php @@ -1583,10 +1583,10 @@ public function getMethodsData(): array; Throws: @@ -1597,7 +1597,7 @@ public function getMethodsData(): array; ```php @@ -1614,10 +1614,10 @@ public function getModifiersString(): string; Throws: @@ -1649,7 +1649,7 @@ public function getName(): string; ```php @@ -1666,10 +1666,10 @@ public function getNamespaceName(): string; Throws: @@ -1701,7 +1701,7 @@ public function getObjectId(): string; ```php @@ -1718,10 +1718,10 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit Throws: @@ -1732,7 +1732,7 @@ public function getParentClass(): \BumbleDocGen\LanguageHandler\Php\Parser\Entit ```php @@ -1749,10 +1749,10 @@ public function getParentClassName(): string|null; Throws: @@ -1763,7 +1763,7 @@ public function getParentClassName(): string|null; ```php @@ -1780,10 +1780,10 @@ public function getParentClassNames(): array; Throws: @@ -1853,7 +1853,7 @@ public function getPluginData(string $pluginKey): array|null; ```php @@ -1870,10 +1870,10 @@ public function getPropertiesData(): array; Throws: @@ -1884,7 +1884,7 @@ public function getPropertiesData(): array; ```php @@ -1929,10 +1929,10 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException @@ -1943,7 +1943,7 @@ public function getPropertyEntity(string $propertyName, bool $unsafe = true): \B ```php @@ -1963,13 +1963,13 @@ public function getPropertyEntityCollection(): \BumbleDocGen\LanguageHandler\Php \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException @@ -2001,7 +2001,7 @@ public function getReflector(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -2035,10 +2035,10 @@ public function getRelativeFileName(bool $loadIfEmpty = true): string|null; Throws: @@ -2070,7 +2070,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -2091,7 +2091,7 @@ public function getShortName(): string; ```php @@ -2108,10 +2108,10 @@ public function getStartLine(): int; Throws: @@ -2122,7 +2122,7 @@ public function getStartLine(): int; ```php @@ -2141,10 +2141,10 @@ public function getThrows(): array; Throws: @@ -2155,7 +2155,7 @@ public function getThrows(): array; ```php @@ -2172,10 +2172,10 @@ public function getTraitsNames(): array; Throws: @@ -2224,7 +2224,7 @@ public function hasAnnotationKey(string $annotationKey): bool; ```php @@ -2258,10 +2258,10 @@ public function hasConstant(string $constant): bool; Throws: @@ -2272,7 +2272,7 @@ public function hasConstant(string $constant): bool; ```php @@ -2302,7 +2302,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -2325,7 +2325,7 @@ public function hasExamples(): bool; ```php @@ -2359,10 +2359,10 @@ public function hasMethod(string $method): bool; Throws: @@ -2373,7 +2373,7 @@ public function hasMethod(string $method): bool; ```php @@ -2407,10 +2407,10 @@ public function hasParentClass(string $parentClassName): bool; Throws: @@ -2421,7 +2421,7 @@ public function hasParentClass(string $parentClassName): bool; ```php @@ -2455,10 +2455,10 @@ public function hasProperty(string $property): bool; Throws: @@ -2469,7 +2469,7 @@ public function hasProperty(string $property): bool; ```php @@ -2492,7 +2492,7 @@ public function hasThrows(): bool; ```php @@ -2509,10 +2509,10 @@ public function hasTraits(): bool; Throws: @@ -2523,7 +2523,7 @@ public function hasTraits(): bool; ```php @@ -2557,10 +2557,10 @@ public function implementsInterface(string $interfaceName): bool; Throws: @@ -2571,7 +2571,7 @@ public function implementsInterface(string $interfaceName): bool; ```php @@ -2588,10 +2588,10 @@ public function isAbstract(): bool; Throws: @@ -2623,7 +2623,7 @@ public function isClassLoad(): bool; ```php @@ -2676,7 +2676,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -2695,10 +2695,10 @@ public function isEntityFileCanBeLoad(): bool; Throws: @@ -2747,7 +2747,7 @@ public static function isEntityNameValid(string $entityName): bool; ```php @@ -2764,10 +2764,10 @@ public function isEnum(): bool; Throws: @@ -2816,10 +2816,10 @@ public function isInGit(): bool; Throws: @@ -2830,7 +2830,7 @@ public function isInGit(): bool; ```php @@ -2847,10 +2847,10 @@ public function isInstantiable(): bool; Throws: @@ -2861,7 +2861,7 @@ public function isInstantiable(): bool; ```php @@ -2878,10 +2878,10 @@ public function isInterface(): bool; Throws: @@ -2892,7 +2892,7 @@ public function isInterface(): bool; ```php @@ -2915,7 +2915,7 @@ public function isInternal(): bool; ```php @@ -2949,10 +2949,10 @@ public function isSubclassOf(string $className): bool; Throws: @@ -2963,7 +2963,7 @@ public function isSubclassOf(string $className): bool; ```php @@ -2980,10 +2980,10 @@ public function isTrait(): bool; Throws: @@ -3037,7 +3037,7 @@ public function loadPluginData(string $pluginKey, array $data): void; ```php diff --git a/docs/tech/classes/ClassEntityCollection.md b/docs/tech/classes/ClassEntityCollection.md index bf0098f0..a89030c5 100644 --- a/docs/tech/classes/ClassEntityCollection.md +++ b/docs/tech/classes/ClassEntityCollection.md @@ -254,10 +254,10 @@ public function add(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEntity Throws: @@ -325,10 +325,10 @@ public function filterByInterfaces(array $interfaces): \BumbleDocGen\LanguageHan Throws: @@ -411,10 +411,10 @@ public function filterByParentClassNames(array $parentClassNames): \BumbleDocGen Throws: @@ -459,10 +459,10 @@ public function filterByPaths(array $paths): \BumbleDocGen\LanguageHandler\Php\P Throws: @@ -749,7 +749,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit See:

    @@ -775,10 +775,10 @@ public function getOnlyAbstractClasses(): \BumbleDocGen\LanguageHandler\Php\Pars Throws: @@ -806,10 +806,10 @@ public function getOnlyInstantiable(): \BumbleDocGen\LanguageHandler\Php\Parser\ Throws: @@ -837,10 +837,10 @@ public function getOnlyInterfaces(): \BumbleDocGen\LanguageHandler\Php\Parser\En Throws: @@ -868,10 +868,10 @@ public function getOnlyTraits(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity Throws: @@ -1125,10 +1125,10 @@ public function loadClassEntities(): void; \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/Configuration.md b/docs/tech/classes/Configuration.md index 06d57a9a..f3c41b3e 100644 --- a/docs/tech/classes/Configuration.md +++ b/docs/tech/classes/Configuration.md @@ -182,7 +182,7 @@ public function getAdditionalConsoleCommands(): \BumbleDocGen\Console\Command\Ad \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -210,7 +210,7 @@ public function getCacheDir(): string|null; Throws: @@ -280,7 +280,7 @@ public function getGitClientPath(): string; Throws: @@ -325,7 +325,7 @@ public function getIfExists(mixed $key): string|null; Throws: @@ -359,7 +359,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -387,7 +387,7 @@ public function getOutputDir(): string; Throws: @@ -415,7 +415,7 @@ public function getOutputDirBaseUrl(): string; Throws: @@ -446,7 +446,7 @@ public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProc \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -480,7 +480,7 @@ public function getPlugins(): \BumbleDocGen\Core\Plugin\PluginsCollection; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -511,7 +511,7 @@ public function getProjectRoot(): string; Throws: @@ -542,7 +542,7 @@ public function getSourceLocators(): \BumbleDocGen\Core\Parser\SourceLocator\Sou \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -573,7 +573,7 @@ public function getTemplatesDir(): string; Throws: @@ -607,7 +607,7 @@ public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\Custom \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -638,7 +638,7 @@ public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\Cu \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -697,7 +697,7 @@ public function isCheckFileInGitBeforeCreatingDocEnabled(): bool; Throws: @@ -725,7 +725,7 @@ public function useSharedCache(): bool; Throws: diff --git a/docs/tech/classes/ConfigurationParameterBag.md b/docs/tech/classes/ConfigurationParameterBag.md index 01268c14..fbdbf4c5 100644 --- a/docs/tech/classes/ConfigurationParameterBag.md +++ b/docs/tech/classes/ConfigurationParameterBag.md @@ -644,7 +644,7 @@ public function validateAndGetBooleanValue(string $parameterName): bool; Throws: @@ -705,7 +705,7 @@ public function validateAndGetClassListValue(string $parameterName, string $clas \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -758,7 +758,7 @@ public function validateAndGetClassValue(string $parameterName, string $classInt \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -811,7 +811,7 @@ public function validateAndGetDirectoryPathValue(string $parameterName, bool $nu Throws: @@ -866,7 +866,7 @@ public function validateAndGetFilePathValue(string $parameterName, array $fileEx Throws: @@ -916,7 +916,7 @@ public function validateAndGetStringValue(string $parameterName, bool $nullable Throws: diff --git a/docs/tech/classes/Configuration_2.md b/docs/tech/classes/Configuration_2.md new file mode 100644 index 00000000..d8fa6f21 --- /dev/null +++ b/docs/tech/classes/Configuration_2.md @@ -0,0 +1,735 @@ + + BumbleDocGen / Technical description of the project / Configuration
    + +

    + Configuration class: +

    + + + + + +```php +namespace BumbleDocGen\Core\Configuration; + +final class Configuration +``` + +
    Configuration project documentation
    + + + + + + +

    Initialization methods:

    + +
      +
    1. + __construct +
    2. +
    + +

    Methods:

    + +
      +
    1. + getAdditionalConsoleCommands +
    2. +
    3. + getCacheDir +
    4. +
    5. + getConfigurationVersion +
    6. +
    7. + getDocGenLibDir +
    8. +
    9. + getGitClientPath +
    10. +
    11. + getIfExists +
    12. +
    13. + getLanguageHandlersCollection +
    14. +
    15. + getOutputDir +
    16. +
    17. + getOutputDirBaseUrl +
    18. +
    19. + getPageLinkProcessor +
    20. +
    21. + getPlugins +
    22. +
    23. + getProjectRoot +
    24. +
    25. + getSourceLocators +
    26. +
    27. + getTemplatesDir +
    28. +
    29. + getTwigFilters +
    30. +
    31. + getTwigFunctions +
    32. +
    33. + getWorkingDir +
    34. +
    35. + isCheckFileInGitBeforeCreatingDocEnabled +
    36. +
    37. + useSharedCache +
    38. +
    + + +

    Constants:

    + + + + + + +

    Method details:

    + +
    + + + +```php +public function __construct(\BumbleDocGen\Core\Configuration\ConfigurationParameterBag $parameterBag, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \Psr\Log\LoggerInterface $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $parameterBag\BumbleDocGen\Core\Configuration\ConfigurationParameterBag-
    $localObjectCache\BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache-
    $logger\Psr\Log\LoggerInterface-
    + + + +
    +
    +
    + + + +```php +public function getAdditionalConsoleCommands(): \BumbleDocGen\Console\Command\AdditionalCommandCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Console\Command\AdditionalCommandCollection + + +Throws: + + +
    +
    +
    + + + +```php +public function getCacheDir(): string|null; +``` + + + +Parameters: not specified + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +public function getConfigurationVersion(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +public function getDocGenLibDir(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +public function getGitClientPath(): string; +``` + + + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + + + +```php +public function getIfExists(mixed $key): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $keymixed-
    + +Return value: string | null + + +Throws: + + +
    +
    +
    + + + +```php +public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\LanguageHandlersCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\LanguageHandler\LanguageHandlersCollection + + +Throws: + + +
    +
    +
    + + + +```php +public function getOutputDir(): string; +``` + + + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + + + +```php +public function getOutputDirBaseUrl(): string; +``` + + + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + + + +```php +public function getPageLinkProcessor(): \BumbleDocGen\Core\Renderer\PageLinkProcessor\PageLinkProcessorInterface; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Renderer\PageLinkProcessor\PageLinkProcessorInterface + + +Throws: + + +
    +
    +
    + + + +```php +public function getPlugins(): \BumbleDocGen\Core\Plugin\PluginsCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Plugin\PluginsCollection + + +Throws: + + +
    +
    +
    + + + +```php +public function getProjectRoot(): string; +``` + + + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + + + +```php +public function getSourceLocators(): \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\SourceLocator\SourceLocatorsCollection + + +Throws: + + +
    +
    +
    + + + +```php +public function getTemplatesDir(): string; +``` + + + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + + + +```php +public function getTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Renderer\Twig\Filter\CustomFiltersCollection + + +Throws: + + +
    +
    +
    + + + +```php +public function getTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection; +``` + + + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionsCollection + + +Throws: + + +
    +
    +
    + + + +```php +public function getWorkingDir(): string; +``` + + + +Parameters: not specified + +Return value: string + + +Throws: + + +
    +
    +
    + +
      +
    • # + isCheckFileInGitBeforeCreatingDocEnabled + | source code
    • +
    + +```php +public function isCheckFileInGitBeforeCreatingDocEnabled(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    +
    + + + +```php +public function useSharedCache(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +Throws: + + +
    +
    + + \ No newline at end of file diff --git a/docs/tech/classes/ConstantEntity.md b/docs/tech/classes/ConstantEntity.md index 17205916..8367da3e 100644 --- a/docs/tech/classes/ConstantEntity.md +++ b/docs/tech/classes/ConstantEntity.md @@ -240,7 +240,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -259,7 +259,7 @@ public function entityCacheIsOutdated(): bool; Throws: diff --git a/docs/tech/classes/DirectoryDependency.md b/docs/tech/classes/DirectoryDependency.md index a1598111..36aae44d 100644 --- a/docs/tech/classes/DirectoryDependency.md +++ b/docs/tech/classes/DirectoryDependency.md @@ -135,7 +135,7 @@ public static function create(\BumbleDocGen\Core\Renderer\RendererHelper $render Throws: @@ -180,7 +180,7 @@ public function isChanged(\BumbleDocGen\Core\Renderer\RendererHelper $rendererHe Throws: diff --git a/docs/tech/classes/DocBlocksGenerator.md b/docs/tech/classes/DocBlocksGenerator.md index f100749e..d1f9a760 100644 --- a/docs/tech/classes/DocBlocksGenerator.md +++ b/docs/tech/classes/DocBlocksGenerator.md @@ -146,7 +146,7 @@ public function generateDocBlocksForMethodsWithoutIt(\BumbleDocGen\Core\Parser\E Throws: @@ -206,10 +206,10 @@ public function hasMethodsWithoutDocBlocks(\BumbleDocGen\Core\Parser\Entity\Root \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/DocGenerator.md b/docs/tech/classes/DocGenerator.md index 608b7ccb..51981535 100644 --- a/docs/tech/classes/DocGenerator.md +++ b/docs/tech/classes/DocGenerator.md @@ -193,10 +193,10 @@ public function addDocBlocks(\BumbleDocGen\AI\ProviderInterface $aiProvider): vo \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -272,7 +272,7 @@ public function generateReadmeTemplate(\BumbleDocGen\AI\ProviderInterface $aiPro Throws: @@ -315,7 +315,7 @@ public function parseAndGetRootEntityCollectionsGroup(): \BumbleDocGen\Core\Pars \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_2.md b/docs/tech/classes/DocumentedEntityWrapper_2.md similarity index 97% rename from docs/tech/3.renderer/classes/DocumentedEntityWrapper_2.md rename to docs/tech/classes/DocumentedEntityWrapper_2.md index c6dfad98..f5621eef 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrapper_2.md +++ b/docs/tech/classes/DocumentedEntityWrapper_2.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / Template functions / DocumentedEntityWrapper
    + BumbleDocGen / Technical description of the project / DocumentedEntityWrapper

    DocumentedEntityWrapper class: diff --git a/docs/tech/classes/DocumentedEntityWrappersCollection.md b/docs/tech/classes/DocumentedEntityWrappersCollection.md index 1d16d4c1..63cdd40e 100644 --- a/docs/tech/classes/DocumentedEntityWrappersCollection.md +++ b/docs/tech/classes/DocumentedEntityWrappersCollection.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / DocumentedEntityWrappersCollection

    - DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

    @@ -60,11 +60,11 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php -public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); +public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); ``` @@ -89,6 +89,11 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $localObjectCache \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - + + + $breadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + - $pluginEventDispatcher @@ -107,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -134,7 +139,7 @@ public function count(): int; ```php @@ -165,6 +170,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Throws: + +
    @@ -172,7 +184,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -193,7 +205,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_2.md b/docs/tech/classes/DocumentedEntityWrappersCollection_2.md similarity index 84% rename from docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_2.md rename to docs/tech/classes/DocumentedEntityWrappersCollection_2.md index ff2e994b..c913bb55 100644 --- a/docs/tech/3.renderer/classes/DocumentedEntityWrappersCollection_2.md +++ b/docs/tech/classes/DocumentedEntityWrappersCollection_2.md @@ -1,8 +1,8 @@ - BumbleDocGen / Technical description of the project / Renderer / Template functions / DocumentedEntityWrappersCollection
    + BumbleDocGen / Technical description of the project / DocumentedEntityWrappersCollection

    - DocumentedEntityWrappersCollection class: + DocumentedEntityWrappersCollection class:

    @@ -60,11 +60,11 @@ final class DocumentedEntityWrappersCollection implements \IteratorAggregate, \T ```php -public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); +public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $rendererContext, \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache $localObjectCache, \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper $breadcrumbsHelper, \BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); ``` @@ -89,6 +89,11 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext $localObjectCache \BumbleDocGen\Core\Cache\LocalCache\LocalObjectCache - + + + $breadcrumbsHelper + \BumbleDocGen\Core\Renderer\Breadcrumbs\BreadcrumbsHelper + - $pluginEventDispatcher @@ -107,7 +112,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext ```php @@ -134,7 +139,7 @@ public function count(): int; ```php @@ -165,6 +170,13 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En Return value: \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrapper +Throws: + +

    @@ -172,7 +184,7 @@ public function createAndAddDocumentedEntityWrapper(\BumbleDocGen\Core\Parser\En ```php @@ -193,7 +205,7 @@ public function getDocumentedEntitiesRelations(): array; ```php diff --git a/docs/tech/classes/DrawClassMap.md b/docs/tech/classes/DrawClassMap.md index 5d32d7ff..7ed2a300 100644 --- a/docs/tech/classes/DrawClassMap.md +++ b/docs/tech/classes/DrawClassMap.md @@ -165,13 +165,13 @@ public function __invoke(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\ClassEn \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -267,13 +267,13 @@ public function getDirectoryStructure(\BumbleDocGen\LanguageHandler\Php\Parser\E \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/DrawDocumentationMenu.md b/docs/tech/classes/DrawDocumentationMenu.md index bf71bb15..c322dbcb 100644 --- a/docs/tech/classes/DrawDocumentationMenu.md +++ b/docs/tech/classes/DrawDocumentationMenu.md @@ -21,7 +21,7 @@ and all links with this page are recursively collected for it, after which the h See: @@ -196,7 +196,7 @@ public function __invoke(string|null $startPageKey = null, int|null $maxDeep = n \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/DrawDocumentedEntityLink.md b/docs/tech/classes/DrawDocumentedEntityLink.md index 1eeb445b..085b28a6 100644 --- a/docs/tech/classes/DrawDocumentedEntityLink.md +++ b/docs/tech/classes/DrawDocumentedEntityLink.md @@ -169,13 +169,13 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityInterface $e \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/DynamicMethodEntity.md b/docs/tech/classes/DynamicMethodEntity.md index 01d0f534..4e60369a 100644 --- a/docs/tech/classes/DynamicMethodEntity.md +++ b/docs/tech/classes/DynamicMethodEntity.md @@ -225,7 +225,7 @@ public function getAbsoluteFileName(): string|null; Throws: @@ -351,7 +351,7 @@ public function getFileName(): string|null; Throws: diff --git a/docs/tech/classes/GetDocumentedEntityUrl_2.md b/docs/tech/classes/GetDocumentedEntityUrl_2.md new file mode 100644 index 00000000..738c5993 --- /dev/null +++ b/docs/tech/classes/GetDocumentedEntityUrl_2.md @@ -0,0 +1,269 @@ + + BumbleDocGen / Technical description of the project / GetDocumentedEntityUrl
    + +

    + GetDocumentedEntityUrl class: +

    + + + + + +```php +namespace BumbleDocGen\Core\Renderer\Twig\Function; + +final class GetDocumentedEntityUrl implements \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface +``` + +
    Get the URL of a documented entity by its name. If the entity is found, next to the file where this method was called, +the `EntityDocRendererInterface::getDocFileExtension()` directory will be created, in which the documented entity file will be created
    + +See: + + + +Examples of using: + +```php +{{ getDocumentedEntityUrl(phpClassEntityCollection, '\\BumbleDocGen\\Renderer\\Twig\\MainExtension', 'getFunctions') }} +The function returns a reference to the documented entity, anchored to the getFunctions method + +``` + +```php +{{ getDocumentedEntityUrl(phpClassEntityCollection, '\\BumbleDocGen\\Renderer\\Twig\\MainExtension') }} +The function returns a reference to the documented entity MainExtension + +``` + +```php +{{ getDocumentedEntityUrl(phpClassEntityCollection, '\\BumbleDocGen\\Renderer\\Twig\\MainExtension', '', false) }} +The function returns a link to the file MainExtension + +``` + + + + +

    Settings:

    + + + + + + +
    Function name:getDocumentedEntityUrl
    + + + + +

    Initialization methods:

    + +
      +
    1. + __construct +
    2. +
    + +

    Methods:

    + +
      +
    1. + __invoke +
    2. +
    3. + getName +
    4. +
    5. + getOptions +
    6. +
    + + +

    Constants:

    + + + + + + +

    Method details:

    + +
    + + + +```php +public function __construct(\BumbleDocGen\Core\Renderer\RendererHelper $rendererHelper, \BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection $documentedEntityWrappersCollection, \BumbleDocGen\Core\Configuration\Configuration $configuration, \Monolog\Logger $logger); +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $rendererHelper\BumbleDocGen\Core\Renderer\RendererHelper-
    $documentedEntityWrappersCollection\BumbleDocGen\Core\Renderer\Context\DocumentedEntityWrappersCollection-
    $configuration\BumbleDocGen\Core\Configuration\Configuration-
    $logger\Monolog\Logger-
    + + + +
    +
    +
    + + + +```php +public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $rootEntityCollection, string $entityName, string $cursor = '', bool $createDocument = true): string; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $rootEntityCollection\BumbleDocGen\Core\Parser\Entity\RootEntityCollectionProcessed entity collection
    $entityNamestringThe full name of the entity for which the URL will be retrieved. + If the entity is not found, the DEFAULT_URL value will be returned.
    $cursorstringCursor on the page of the documented entity (for example, the name of a method or property)
    $createDocumentboolIf true, creates an entity document. Otherwise, just gives a reference to the entity code
    + +Return value: string + + +Throws: + + +
    +
    +
    + + + +```php +public static function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +public static function getOptions(): array; +``` + + + +Parameters: not specified + +Return value: array + + +
    +
    + + \ No newline at end of file diff --git a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_3.md b/docs/tech/classes/InvalidConfigurationParameterException_2.md similarity index 97% rename from docs/tech/2.parser/classes/InvalidConfigurationParameterException_3.md rename to docs/tech/classes/InvalidConfigurationParameterException_2.md index 6fd398e0..6f1165dc 100644 --- a/docs/tech/2.parser/classes/InvalidConfigurationParameterException_3.md +++ b/docs/tech/classes/InvalidConfigurationParameterException_2.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Parser / Entities and entities collections / InvalidConfigurationParameterException
    + BumbleDocGen / Technical description of the project / InvalidConfigurationParameterException

    InvalidConfigurationParameterException class: diff --git a/docs/tech/classes/LoadPluginsContent_2.md b/docs/tech/classes/LoadPluginsContent_2.md new file mode 100644 index 00000000..c6a8a8d9 --- /dev/null +++ b/docs/tech/classes/LoadPluginsContent_2.md @@ -0,0 +1,201 @@ + + BumbleDocGen / Technical description of the project / LoadPluginsContent
    + +

    + LoadPluginsContent class: +

    + + + + +:warning: Is internal +```php +namespace BumbleDocGen\Core\Renderer\Twig\Function; + +final class LoadPluginsContent implements \BumbleDocGen\Core\Renderer\Twig\Function\CustomFunctionInterface +``` + +
    Process entity template blocks with plugins. The method returns the content processed by plugins.
    + + +Examples of using: + +```php +{{ loadPluginsContent('some text', entity, constant('BumbleDocGen\\Plugin\\BaseTemplatePluginInterface::BLOCK_AFTER_HEADER')) }} + +``` + + + + +

    Settings:

    + + + + + + +
    Function name:loadPluginsContent
    + + + + +

    Initialization methods:

    + +
      +
    1. + __construct +
    2. +
    + +

    Methods:

    + +
      +
    1. + __invoke +
    2. +
    3. + getName +
    4. +
    5. + getOptions +
    6. +
    + + + + + + + +

    Method details:

    + +
    + + + +```php +public function __construct(\BumbleDocGen\Core\Plugin\PluginEventDispatcher $pluginEventDispatcher); +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $pluginEventDispatcher\BumbleDocGen\Core\Plugin\PluginEventDispatcher-
    + + + +
    +
    +
    + + + +```php +public function __invoke(string $content, \BumbleDocGen\Core\Parser\Entity\RootEntityInterface $entity, string $blockType): string; +``` + + + +Parameters: + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameTypeDescription
    $contentstringContent to be processed by plugins
    $entity\BumbleDocGen\Core\Parser\Entity\RootEntityInterfaceThe entity for which we process the content block
    $blockTypestringContent block type. @see BaseTemplatePluginInterface::BLOCK_*
    + +Return value: string + + +
    +
    +
    + + + +```php +public static function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
    +
    +
    + + + +```php +public static function getOptions(): array; +``` + + + +Parameters: not specified + +Return value: array + + +
    +
    + + \ No newline at end of file diff --git a/docs/tech/classes/LocalObjectCache.md b/docs/tech/classes/LocalObjectCache.md index f67e27cd..55533ee7 100644 --- a/docs/tech/classes/LocalObjectCache.md +++ b/docs/tech/classes/LocalObjectCache.md @@ -134,7 +134,7 @@ public function getMethodCachedResult(string $methodKey, string $objectId): mixe Throws: diff --git a/docs/tech/classes/LocatedInCondition.md b/docs/tech/classes/LocatedInCondition.md index 398e3758..bc896755 100644 --- a/docs/tech/classes/LocatedInCondition.md +++ b/docs/tech/classes/LocatedInCondition.md @@ -132,7 +132,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf Throws: diff --git a/docs/tech/classes/LocatedNotInCondition.md b/docs/tech/classes/LocatedNotInCondition.md index 17d48a2a..0c4b849e 100644 --- a/docs/tech/classes/LocatedNotInCondition.md +++ b/docs/tech/classes/LocatedNotInCondition.md @@ -132,7 +132,7 @@ public function canAddToCollection(\BumbleDocGen\Core\Parser\Entity\EntityInterf Throws: diff --git a/docs/tech/classes/LoggableRootEntityCollection.md b/docs/tech/classes/LoggableRootEntityCollection.md index 9b543c78..db44b043 100644 --- a/docs/tech/classes/LoggableRootEntityCollection.md +++ b/docs/tech/classes/LoggableRootEntityCollection.md @@ -354,7 +354,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit See:

    diff --git a/docs/tech/classes/MainExtension.md b/docs/tech/classes/MainExtension.md index 78c1559e..4db33a6d 100644 --- a/docs/tech/classes/MainExtension.md +++ b/docs/tech/classes/MainExtension.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Renderer\Twig; -final class MainExtension extends \Twig\Extension\AbstractExtension implements \Twig\Extension\ExtensionInterface +final class MainExtension extends \Twig\Extension\AbstractExtension ```
    This is an extension that is used to generate documents from templates
    @@ -113,7 +113,7 @@ public function __construct(\BumbleDocGen\Core\Renderer\Context\RendererContext Throws: @@ -183,7 +183,7 @@ public function getLanguageHandlersCollection(): \BumbleDocGen\LanguageHandler\L Throws: @@ -303,7 +303,7 @@ public function setDefaultFilters(): void; Throws: @@ -331,7 +331,7 @@ public function setDefaultFunctions(): void; Throws: diff --git a/docs/tech/classes/MainTwigEnvironment.md b/docs/tech/classes/MainTwigEnvironment.md index 42f3ba98..c0a946fa 100644 --- a/docs/tech/classes/MainTwigEnvironment.md +++ b/docs/tech/classes/MainTwigEnvironment.md @@ -146,7 +146,7 @@ public function render(mixed $name, array $context = []): string; \Twig\Error\LoaderError
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/MethodEntity.md b/docs/tech/classes/MethodEntity.md index 2507d37d..fbb57e47 100644 --- a/docs/tech/classes/MethodEntity.md +++ b/docs/tech/classes/MethodEntity.md @@ -299,7 +299,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -318,7 +318,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -483,7 +483,7 @@ public function getDescription(): string; ```php @@ -502,7 +502,7 @@ public function getDescriptionLinks(): array; Throws: @@ -570,7 +570,7 @@ public function getDocBlock(bool $recursive = true): \phpDocumentor\Reflection\D ```php @@ -587,10 +587,10 @@ public function getDocComment(): string; Throws: @@ -618,7 +618,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Throws: @@ -638,7 +638,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -655,10 +655,10 @@ public function getDocCommentLine(): int|null; Throws: @@ -669,7 +669,7 @@ public function getDocCommentLine(): int|null; ```php @@ -689,13 +689,13 @@ public function getDocCommentLineRecursive(): int|null; \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -706,7 +706,7 @@ public function getDocCommentLineRecursive(): int|null; ```php @@ -726,13 +726,13 @@ public function getDocCommentRecursive(): string; \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -743,7 +743,7 @@ public function getDocCommentRecursive(): string; ```php @@ -766,7 +766,7 @@ public function getDocNote(): string; ```php @@ -783,10 +783,10 @@ public function getEndLine(): int; Throws: @@ -797,7 +797,7 @@ public function getEndLine(): int; ```php @@ -820,7 +820,7 @@ public function getExamples(): array; ```php @@ -837,10 +837,10 @@ public function getFileName(): string|null; Throws: @@ -851,7 +851,7 @@ public function getFileName(): string|null; ```php @@ -887,7 +887,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; Throws: @@ -898,7 +898,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -921,7 +921,7 @@ public function getFirstExample(): string; ```php @@ -938,10 +938,10 @@ public function getFirstReturnValue(): mixed; Throws: @@ -973,7 +973,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -1011,10 +1011,10 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec Throws: @@ -1025,7 +1025,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -1042,10 +1042,10 @@ public function getModifiersString(): string; Throws: @@ -1056,7 +1056,7 @@ public function getModifiersString(): string; ```php @@ -1094,10 +1094,10 @@ public function getNamespaceName(): string; Throws: @@ -1108,7 +1108,7 @@ public function getNamespaceName(): string; ```php @@ -1131,7 +1131,7 @@ public function getObjectId(): string; ```php @@ -1151,13 +1151,13 @@ public function getParameters(): array; \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \Exception
  • @@ -1171,7 +1171,7 @@ public function getParameters(): array; ```php @@ -1194,10 +1194,10 @@ public function getParametersString(): string; \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1229,7 +1229,7 @@ public function getPhpHandlerSettings(): \BumbleDocGen\LanguageHandler\Php\PhpHa ```php @@ -1246,7 +1246,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ Throws: @@ -1266,7 +1266,7 @@ public function getPrototype(): \BumbleDocGen\LanguageHandler\Php\Parser\Entity\ ```php @@ -1286,13 +1286,13 @@ public function getReturnType(): string; \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1366,7 +1366,7 @@ public function getShortName(): string; ```php @@ -1383,7 +1383,7 @@ public function getSignature(): string; Throws: @@ -1403,7 +1403,7 @@ public function getSignature(): string; ```php @@ -1420,10 +1420,10 @@ public function getStartColumn(): int; Throws: @@ -1434,7 +1434,7 @@ public function getStartColumn(): int; ```php @@ -1451,10 +1451,10 @@ public function getStartLine(): int; Throws: @@ -1465,7 +1465,7 @@ public function getStartLine(): int; ```php @@ -1484,10 +1484,10 @@ public function getThrows(): array; Throws: @@ -1498,7 +1498,7 @@ public function getThrows(): array; ```php @@ -1528,7 +1528,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -1551,7 +1551,7 @@ public function hasExamples(): bool; ```php @@ -1574,7 +1574,7 @@ public function hasThrows(): bool; ```php @@ -1595,7 +1595,7 @@ public function isConstructor(): bool; ```php @@ -1618,7 +1618,7 @@ public function isDeprecated(): bool; ```php @@ -1669,7 +1669,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -1688,10 +1688,10 @@ public function isEntityFileCanBeLoad(): bool; Throws: @@ -1702,7 +1702,7 @@ public function isEntityFileCanBeLoad(): bool; ```php @@ -1723,7 +1723,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -1740,7 +1740,7 @@ public function isInitialization(): bool; Throws: @@ -1760,7 +1760,7 @@ public function isInitialization(): bool; ```php @@ -1783,7 +1783,7 @@ public function isInternal(): bool; ```php @@ -1800,10 +1800,10 @@ public function isPrivate(): bool; Throws: @@ -1814,7 +1814,7 @@ public function isPrivate(): bool; ```php @@ -1831,10 +1831,10 @@ public function isProtected(): bool; Throws: @@ -1845,7 +1845,7 @@ public function isProtected(): bool; ```php @@ -1862,10 +1862,10 @@ public function isPublic(): bool; Throws: @@ -1876,7 +1876,7 @@ public function isPublic(): bool; ```php @@ -1893,10 +1893,10 @@ public function isStatic(): bool; Throws: @@ -1907,7 +1907,7 @@ public function isStatic(): bool; ```php @@ -1945,7 +1945,7 @@ public static function parseAnnotationParams(array $params): array; ```php diff --git a/docs/tech/classes/MethodEntityCollection.md b/docs/tech/classes/MethodEntityCollection.md index 72c0981f..429e6c6b 100644 --- a/docs/tech/classes/MethodEntityCollection.md +++ b/docs/tech/classes/MethodEntityCollection.md @@ -369,7 +369,7 @@ public function loadMethodEntities(): void; Throws: @@ -466,13 +466,13 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/ReflectionException_4.md b/docs/tech/classes/ObjectNotFoundException_2.md similarity index 94% rename from docs/tech/3.renderer/classes/ReflectionException_4.md rename to docs/tech/classes/ObjectNotFoundException_2.md index 410e0d79..675bfc47 100644 --- a/docs/tech/3.renderer/classes/ReflectionException_4.md +++ b/docs/tech/classes/ObjectNotFoundException_2.md @@ -1,8 +1,8 @@ - BumbleDocGen / Technical description of the project / Renderer / Template filters / ReflectionException
    + BumbleDocGen / Technical description of the project / ObjectNotFoundException

    - ReflectionException class: + ObjectNotFoundException class:

    @@ -10,9 +10,9 @@ ```php -namespace BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception; +namespace BumbleDocGen\Core\Cache\LocalCache\Exception; -final class ReflectionException extends \Exception implements \Throwable, \Stringable +final class ObjectNotFoundException extends \Exception implements \Throwable, \Stringable ```
    Exception is the base class for diff --git a/docs/tech/classes/OnAddClassEntityToCollection.md b/docs/tech/classes/OnAddClassEntityToCollection.md index 82345b80..3b252cc8 100644 --- a/docs/tech/classes/OnAddClassEntityToCollection.md +++ b/docs/tech/classes/OnAddClassEntityToCollection.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\LanguageHandler\Php\Plugin\Event\Parser; -final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatcher\Event implements \BumbleDocGen\Core\Plugin\OnlySingleExecutionEvent, \Psr\EventDispatcher\StoppableEventInterface +final class OnAddClassEntityToCollection extends \Symfony\Contracts\EventDispatcher\Event implements \BumbleDocGen\Core\Plugin\OnlySingleExecutionEvent ```
    Called when each class entity is added to the entity collection
    diff --git a/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md b/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md index 9f0e4b9e..806ad056 100644 --- a/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md +++ b/docs/tech/classes/OnCheckIsClassEntityCanBeLoad.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\LanguageHandler\Php\Plugin\Event\Entity; -final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnCheckIsClassEntityCanBeLoad extends \Symfony\Contracts\EventDispatcher\Event ```
    Event is the base class for classes containing event data.
    diff --git a/docs/tech/classes/OnCreateDocumentedEntityWrapper.md b/docs/tech/classes/OnCreateDocumentedEntityWrapper.md index 7490327c..0e8cdba4 100644 --- a/docs/tech/classes/OnCreateDocumentedEntityWrapper.md +++ b/docs/tech/classes/OnCreateDocumentedEntityWrapper.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnCreateDocumentedEntityWrapper extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnCreateDocumentedEntityWrapper extends \Symfony\Contracts\EventDispatcher\Event ```
    The event occurs when an entity is added to the list for documentation
    diff --git a/docs/tech/classes/OnGetProjectTemplatesDirs.md b/docs/tech/classes/OnGetProjectTemplatesDirs.md index dc32725c..1a3e4e7a 100644 --- a/docs/tech/classes/OnGetProjectTemplatesDirs.md +++ b/docs/tech/classes/OnGetProjectTemplatesDirs.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnGetProjectTemplatesDirs extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnGetProjectTemplatesDirs extends \Symfony\Contracts\EventDispatcher\Event ```
    This event occurs when all directories containing document templates are retrieved
    diff --git a/docs/tech/classes/OnGetTemplatePathByRelativeDocPath.md b/docs/tech/classes/OnGetTemplatePathByRelativeDocPath.md index 482c6d64..289c6f8a 100644 --- a/docs/tech/classes/OnGetTemplatePathByRelativeDocPath.md +++ b/docs/tech/classes/OnGetTemplatePathByRelativeDocPath.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnGetTemplatePathByRelativeDocPath extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnGetTemplatePathByRelativeDocPath extends \Symfony\Contracts\EventDispatcher\Event ```
    The event occurs when the path to the template file is obtained relative to the path to the document
    diff --git a/docs/tech/classes/OnGettingResourceLink.md b/docs/tech/classes/OnGettingResourceLink.md index 2b6178f0..62eccd7b 100644 --- a/docs/tech/classes/OnGettingResourceLink.md +++ b/docs/tech/classes/OnGettingResourceLink.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnGettingResourceLink extends \Symfony\Contracts\EventDispatcher\Event ```
    Event occurs when a reference to an entity (resource) is received
    diff --git a/docs/tech/classes/OnLoadEntityDocPluginContent.md b/docs/tech/classes/OnLoadEntityDocPluginContent.md index 80395553..7ac5ca98 100644 --- a/docs/tech/classes/OnLoadEntityDocPluginContent.md +++ b/docs/tech/classes/OnLoadEntityDocPluginContent.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Renderer; -final class OnLoadEntityDocPluginContent extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnLoadEntityDocPluginContent extends \Symfony\Contracts\EventDispatcher\Event ```
    Called when entity documentation is generated (plugin content loading)
    @@ -20,7 +20,7 @@ final class OnLoadEntityDocPluginContent extends \Symfony\Contracts\EventDispatc See: diff --git a/docs/tech/classes/OnLoadSourceLocatorsCollection.md b/docs/tech/classes/OnLoadSourceLocatorsCollection.md index 63b31b60..35f2157d 100644 --- a/docs/tech/classes/OnLoadSourceLocatorsCollection.md +++ b/docs/tech/classes/OnLoadSourceLocatorsCollection.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\Core\Plugin\Event\Parser; -final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispatcher\Event implements \Psr\EventDispatcher\StoppableEventInterface +final class OnLoadSourceLocatorsCollection extends \Symfony\Contracts\EventDispatcher\Event ```
    Called when source locators are loaded
    diff --git a/docs/tech/classes/PageHtmlLinkerPlugin.md b/docs/tech/classes/PageHtmlLinkerPlugin.md index edc51fe8..7b41425e 100644 --- a/docs/tech/classes/PageHtmlLinkerPlugin.md +++ b/docs/tech/classes/PageHtmlLinkerPlugin.md @@ -180,10 +180,10 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/PageLinkerPlugin.md b/docs/tech/classes/PageLinkerPlugin.md index c9cade86..b09021e6 100644 --- a/docs/tech/classes/PageLinkerPlugin.md +++ b/docs/tech/classes/PageLinkerPlugin.md @@ -180,10 +180,10 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/PageRstLinkerPlugin.md b/docs/tech/classes/PageRstLinkerPlugin.md index c2b611d8..02047850 100644 --- a/docs/tech/classes/PageRstLinkerPlugin.md +++ b/docs/tech/classes/PageRstLinkerPlugin.md @@ -170,10 +170,10 @@ public function beforeCreatingDocFile(\BumbleDocGen\Core\Plugin\Event\Renderer\B \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/ParserHelper.md b/docs/tech/classes/ParserHelper.md index b369d13e..c0bea1a4 100644 --- a/docs/tech/classes/ParserHelper.md +++ b/docs/tech/classes/ParserHelper.md @@ -239,10 +239,10 @@ public function getDocBlock(\BumbleDocGen\LanguageHandler\Php\Parser\Entity\Clas Throws: @@ -287,10 +287,10 @@ public function getDocBlockContext(\BumbleDocGen\LanguageHandler\Php\Parser\Enti Throws: @@ -318,7 +318,7 @@ public function getFilesInGit(): array; Throws: @@ -411,10 +411,10 @@ public function getUsesListByClassEntity(\BumbleDocGen\LanguageHandler\Php\Parse Throws: @@ -626,10 +626,10 @@ public function parseFullClassName(string $searchClassName, \BumbleDocGen\Langua Throws: diff --git a/docs/tech/classes/PhpHandler.md b/docs/tech/classes/PhpHandler.md index f7d4215c..4931dd39 100644 --- a/docs/tech/classes/PhpHandler.md +++ b/docs/tech/classes/PhpHandler.md @@ -139,7 +139,7 @@ public function getCustomTwigFilters(\BumbleDocGen\Core\Renderer\Context\Rendere \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -190,7 +190,7 @@ public function getCustomTwigFunctions(\BumbleDocGen\Core\Renderer\Context\Rende \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -224,13 +224,13 @@ public function getEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEnti \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/PhpHandlerSettings.md b/docs/tech/classes/PhpHandlerSettings.md index 7a7e0df9..9883e2be 100644 --- a/docs/tech/classes/PhpHandlerSettings.md +++ b/docs/tech/classes/PhpHandlerSettings.md @@ -145,7 +145,7 @@ public function asyncSourceLoadingEnabled(): bool; Throws: @@ -179,7 +179,7 @@ public function getClassConstantEntityFilter(): \BumbleDocGen\Core\Parser\Filter \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -213,7 +213,7 @@ public function getClassEntityFilter(): \BumbleDocGen\Core\Parser\FilterConditio \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -244,7 +244,7 @@ public function getCustomTwigFilters(): \BumbleDocGen\Core\Renderer\Twig\Filter\ \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -278,7 +278,7 @@ public function getCustomTwigFunctions(): \BumbleDocGen\Core\Renderer\Twig\Funct \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -312,7 +312,7 @@ public function getEntityDocRenderersCollection(): \BumbleDocGen\Core\Renderer\E \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -343,7 +343,7 @@ public function getFileSourceBaseUrl(): string|null; Throws: @@ -374,7 +374,7 @@ public function getMethodEntityFilter(): \BumbleDocGen\Core\Parser\FilterConditi \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -408,7 +408,7 @@ public function getPropertyEntityFilter(): \BumbleDocGen\Core\Parser\FilterCondi \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • diff --git a/docs/tech/classes/PhpUnitStubberPlugin.md b/docs/tech/classes/PhpUnitStubberPlugin.md index 63e2ad48..23f6ab62 100644 --- a/docs/tech/classes/PhpUnitStubberPlugin.md +++ b/docs/tech/classes/PhpUnitStubberPlugin.md @@ -71,7 +71,7 @@ public static function getSubscribedEvents(): array; ```php diff --git a/docs/tech/classes/PluginEventDispatcher.md b/docs/tech/classes/PluginEventDispatcher.md index 1959099a..b626564f 100644 --- a/docs/tech/classes/PluginEventDispatcher.md +++ b/docs/tech/classes/PluginEventDispatcher.md @@ -2,7 +2,7 @@ BumbleDocGen / Technical description of the project / Class map / PluginEventDispatcher

    - PluginEventDispatcher class: + PluginEventDispatcher class:

    @@ -72,7 +72,7 @@ class PluginEventDispatcher extends \Symfony\Component\EventDispatcher\EventDisp ```php @@ -200,7 +200,7 @@ public function addSubscriber(\Symfony\Component\EventDispatcher\EventSubscriber ```php diff --git a/docs/tech/classes/PrintEntityCollectionAsList.md b/docs/tech/classes/PrintEntityCollectionAsList.md index 8f770f88..fae8c861 100644 --- a/docs/tech/classes/PrintEntityCollectionAsList.md +++ b/docs/tech/classes/PrintEntityCollectionAsList.md @@ -168,7 +168,7 @@ public function __invoke(\BumbleDocGen\Core\Parser\Entity\RootEntityCollection $ Throws: diff --git a/docs/tech/classes/ProjectParser.md b/docs/tech/classes/ProjectParser.md index f9a01dd5..d4ec5ed0 100644 --- a/docs/tech/classes/ProjectParser.md +++ b/docs/tech/classes/ProjectParser.md @@ -113,7 +113,7 @@ public function parse(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollectionsG \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • diff --git a/docs/tech/classes/PropertyEntity.md b/docs/tech/classes/PropertyEntity.md index f7a13d86..56b3e947 100644 --- a/docs/tech/classes/PropertyEntity.md +++ b/docs/tech/classes/PropertyEntity.md @@ -252,7 +252,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -271,7 +271,7 @@ public function entityCacheIsOutdated(): bool; Throws: @@ -436,7 +436,7 @@ public function getDescription(): string; ```php @@ -455,7 +455,7 @@ public function getDescriptionLinks(): array; Throws: @@ -506,7 +506,7 @@ public function getDocBlock(): \phpDocumentor\Reflection\DocBlock; ```php @@ -525,10 +525,10 @@ public function getDocComment(): string; Throws: @@ -556,7 +556,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ Throws: @@ -576,7 +576,7 @@ public function getDocCommentEntity(): \BumbleDocGen\LanguageHandler\Php\Parser\ ```php @@ -599,7 +599,7 @@ public function getDocNote(): string; ```php @@ -616,10 +616,10 @@ public function getEndLine(): int; Throws: @@ -630,7 +630,7 @@ public function getEndLine(): int; ```php @@ -653,7 +653,7 @@ public function getExamples(): array; ```php @@ -670,10 +670,10 @@ public function getFileName(): string|null; Throws: @@ -684,7 +684,7 @@ public function getFileName(): string|null; ```php @@ -720,7 +720,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; Throws: @@ -731,7 +731,7 @@ public function getFileSourceLink(bool $withLine = true): string|null; ```php @@ -754,7 +754,7 @@ public function getFirstExample(): string; ```php @@ -775,7 +775,7 @@ public function getImplementingClass(): \BumbleDocGen\LanguageHandler\Php\Parser ```php @@ -813,10 +813,10 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec Throws: @@ -827,7 +827,7 @@ public function getImplementingReflectionClass(): \Roave\BetterReflection\Reflec ```php @@ -844,7 +844,7 @@ public function getModifiersString(): string; Throws: @@ -864,7 +864,7 @@ public function getModifiersString(): string; ```php @@ -885,7 +885,7 @@ public function getName(): string; ```php @@ -902,10 +902,10 @@ public function getNamespaceName(): string; Throws: @@ -916,7 +916,7 @@ public function getNamespaceName(): string; ```php @@ -1002,7 +1002,7 @@ public function getRootEntityCollection(): \BumbleDocGen\LanguageHandler\Php\Par ```php @@ -1023,7 +1023,7 @@ public function getShortName(): string; ```php @@ -1040,10 +1040,10 @@ public function getStartLine(): int; Throws: @@ -1054,7 +1054,7 @@ public function getStartLine(): int; ```php @@ -1073,10 +1073,10 @@ public function getThrows(): array; Throws: @@ -1087,7 +1087,7 @@ public function getThrows(): array; ```php @@ -1107,13 +1107,13 @@ public function getType(): string; \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -1124,7 +1124,7 @@ public function getType(): string; ```php @@ -1154,7 +1154,7 @@ public function hasDescriptionLinks(): bool; ```php @@ -1177,7 +1177,7 @@ public function hasExamples(): bool; ```php @@ -1200,7 +1200,7 @@ public function hasThrows(): bool; ```php @@ -1253,7 +1253,7 @@ public function isEntityDataCacheOutdated(): bool; ```php @@ -1272,10 +1272,10 @@ public function isEntityFileCanBeLoad(): bool; Throws: @@ -1286,7 +1286,7 @@ public function isEntityFileCanBeLoad(): bool; ```php @@ -1307,7 +1307,7 @@ public function isImplementedInParentClass(): bool; ```php @@ -1330,7 +1330,7 @@ public function isInternal(): bool; ```php @@ -1347,10 +1347,10 @@ public function isPrivate(): bool; Throws: @@ -1361,7 +1361,7 @@ public function isPrivate(): bool; ```php @@ -1378,10 +1378,10 @@ public function isProtected(): bool; Throws: @@ -1392,7 +1392,7 @@ public function isProtected(): bool; ```php @@ -1409,10 +1409,10 @@ public function isPublic(): bool; Throws: @@ -1423,7 +1423,7 @@ public function isPublic(): bool; ```php diff --git a/docs/tech/classes/PropertyEntityCollection.md b/docs/tech/classes/PropertyEntityCollection.md index 8608dd85..e7842cde 100644 --- a/docs/tech/classes/PropertyEntityCollection.md +++ b/docs/tech/classes/PropertyEntityCollection.md @@ -319,13 +319,13 @@ public function loadPropertyEntities(): void; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException @@ -416,10 +416,10 @@ public function unsafeGet(string $objectName): \BumbleDocGen\LanguageHandler\Php \DI\DependencyException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/ReadmeTemplateGenerator.md b/docs/tech/classes/ReadmeTemplateGenerator.md index d36bc1cd..c151085b 100644 --- a/docs/tech/classes/ReadmeTemplateGenerator.md +++ b/docs/tech/classes/ReadmeTemplateGenerator.md @@ -140,13 +140,13 @@ public function generateReadmeFileContent(\BumbleDocGen\Core\Parser\Entity\RootE \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • - \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException
  • + \BumbleDocGen\LanguageHandler\Php\Parser\Entity\Exception\ReflectionException diff --git a/docs/tech/3.renderer/classes/ReflectionException_2.md b/docs/tech/classes/ReflectionException_2.md similarity index 96% rename from docs/tech/3.renderer/classes/ReflectionException_2.md rename to docs/tech/classes/ReflectionException_2.md index 548e90c1..2c6379e1 100644 --- a/docs/tech/3.renderer/classes/ReflectionException_2.md +++ b/docs/tech/classes/ReflectionException_2.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / How to create documentation templates? / Linking templates / ReflectionException
    + BumbleDocGen / Technical description of the project / ReflectionException

    ReflectionException class: diff --git a/docs/tech/classes/ReflectorWrapper.md b/docs/tech/classes/ReflectorWrapper.md index 6ed4a972..2050c50d 100644 --- a/docs/tech/classes/ReflectorWrapper.md +++ b/docs/tech/classes/ReflectorWrapper.md @@ -143,7 +143,7 @@ public function reflectAllClasses(): iterable; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -177,7 +177,7 @@ public function reflectAllConstants(): iterable; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -211,7 +211,7 @@ public function reflectAllFunctions(): iterable; \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -265,7 +265,7 @@ public function reflectClass(string $identifierName): \Roave\BetterReflection\Re \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException @@ -313,7 +313,7 @@ public function reflectConstant(string $identifierName): \Roave\BetterReflection \DI\DependencyException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • \DI\NotFoundException
  • @@ -367,7 +367,7 @@ public function reflectFunction(string $identifierName): \Roave\BetterReflection \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/classes/Renderer.md b/docs/tech/classes/Renderer.md index 904cf571..463791c8 100644 --- a/docs/tech/classes/Renderer.md +++ b/docs/tech/classes/Renderer.md @@ -20,9 +20,9 @@ final class Renderer See: @@ -171,7 +171,7 @@ public function run(): void; \DI\NotFoundException
  • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
  • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException diff --git a/docs/tech/3.renderer/classes/RendererContext_2.md b/docs/tech/classes/RendererContext_2.md similarity index 97% rename from docs/tech/3.renderer/classes/RendererContext_2.md rename to docs/tech/classes/RendererContext_2.md index b75cf640..151654d5 100644 --- a/docs/tech/3.renderer/classes/RendererContext_2.md +++ b/docs/tech/classes/RendererContext_2.md @@ -1,5 +1,5 @@ - BumbleDocGen / Technical description of the project / Renderer / Template functions / RendererContext
    + BumbleDocGen / Technical description of the project / RendererContext

    RendererContext class: diff --git a/docs/tech/classes/RendererDependencyFactory.md b/docs/tech/classes/RendererDependencyFactory.md index be7d4e9a..5f9a2866 100644 --- a/docs/tech/classes/RendererDependencyFactory.md +++ b/docs/tech/classes/RendererDependencyFactory.md @@ -125,7 +125,7 @@ public function createDirectoryDependency(string $dirPath): \BumbleDocGen\Core\R Throws: @@ -180,7 +180,7 @@ public function createFileDependency(string $filePath, string|null $contentFilte Throws: diff --git a/docs/tech/classes/RendererHelper.md b/docs/tech/classes/RendererHelper.md index 7785d65a..6b734c00 100644 --- a/docs/tech/classes/RendererHelper.md +++ b/docs/tech/classes/RendererHelper.md @@ -133,7 +133,7 @@ public function fileInternalLinkToFilePath(string $fileInternalLink): string; Throws:
    • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
    • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
    • \Exception
    • @@ -181,7 +181,7 @@ public function filePathToFileInternalLink(string $fileName): string; Throws:
      • - \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
      • + \BumbleDocGen\Core\Configuration\Exception\InvalidConfigurationParameterException
      • \Exception
      • diff --git a/docs/tech/classes/RendererIteratorFactory.md b/docs/tech/classes/RendererIteratorFactory.md index 8a07a587..e6896e06 100644 --- a/docs/tech/classes/RendererIteratorFactory.md +++ b/docs/tech/classes/RendererIteratorFactory.md @@ -176,7 +176,7 @@ public function getDocumentedEntityWrappersWithOutdatedCache(): \Generator; Throws: @@ -204,7 +204,7 @@ public function getFilesToRemove(): \Generator; Throws: @@ -232,7 +232,7 @@ public function getTemplatesWithOutdatedCache(): \Generator; Throws: diff --git a/docs/tech/classes/RootEntityCollection.md b/docs/tech/classes/RootEntityCollection.md index 33845e10..afa60373 100644 --- a/docs/tech/classes/RootEntityCollection.md +++ b/docs/tech/classes/RootEntityCollection.md @@ -298,7 +298,7 @@ public function getLoadedOrCreateNew(string $objectName, bool $withAddClassEntit See:
        diff --git a/docs/tech/classes/RootEntityInterface_2.md b/docs/tech/classes/RootEntityInterface_2.md new file mode 100644 index 00000000..68e688c4 --- /dev/null +++ b/docs/tech/classes/RootEntityInterface_2.md @@ -0,0 +1,425 @@ + + BumbleDocGen / Technical description of the project / RootEntityInterface
        + +

        + RootEntityInterface class: +

        + + + + + +```php +namespace BumbleDocGen\Core\Parser\Entity; + +interface RootEntityInterface extends \\BumbleDocGen\Core\Parser\Entity\EntityInterface implements \BumbleDocGen\Core\Parser\Entity\EntityInterface +``` + +
        Since the documentation generator supports several programming languages, +their entities need to correspond to the same interfaces
        + + + + + + + +

        Methods:

        + +
          +
        1. + entityCacheIsOutdated +
        2. +
        3. + entityDataCanBeLoaded + - Checking if it is possible to get the entity data
        4. +
        5. + getAbsoluteFileName + - Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
        6. +
        7. + getEntityDependencies +
        8. +
        9. + getFileContent +
        10. +
        11. + getFileName + - Returns the relative path to a file if it can be retrieved and if the file is in the project directory
        12. +
        13. + getFileSourceLink +
        14. +
        15. + getName +
        16. +
        17. + getObjectId +
        18. +
        19. + getRootEntityCollection + - Get parent collection of entities
        20. +
        21. + getShortName +
        22. +
        23. + isEntityNameValid + - Check if entity name is valid
        24. +
        25. + isExternalLibraryEntity + - The entity is loaded from a third party library and should not be treated the same as a standard one
        26. +
        27. + isInGit + - The entity file is in the git repository
        28. +
        + + + + + + + +

        Method details:

        + +
        + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function entityCacheIsOutdated(): bool; +``` + + + +Parameters: not specified + +Return value: bool + + +
        +
        +
        + + + +```php +public function entityDataCanBeLoaded(): bool; +``` + +
        Checking if it is possible to get the entity data
        + +Parameters: not specified + +Return value: bool + + +
        +
        +
        + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getAbsoluteFileName(): string|null; +``` + +
        Returns the absolute path to a file if it can be retrieved and if the file is in the project directory
        + +Parameters: not specified + +Return value: string | null + + +
        +
        +
        + + + +```php +public function getEntityDependencies(): array; +``` + + + +Parameters: not specified + +Return value: array + + +
        +
        +
        + + + +```php +public function getFileContent(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
        +
        +
        + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getFileName(): string|null; +``` + +
        Returns the relative path to a file if it can be retrieved and if the file is in the project directory
        + +Parameters: not specified + +Return value: string | null + + +
        +
        +
        + + + +```php +public function getFileSourceLink(bool $withLine = true): string|null; +``` + + + +Parameters: + + + + + + + + + + + + + + + + +
        NameTypeDescription
        $withLinebool-
        + +Return value: string | null + + +
        +
        +
        + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
        +
        +
        + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getObjectId(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
        +
        +
        + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getRootEntityCollection(): \BumbleDocGen\Core\Parser\Entity\RootEntityCollection; +``` + +
        Get parent collection of entities
        + +Parameters: not specified + +Return value: \BumbleDocGen\Core\Parser\Entity\RootEntityCollection + + +
        +
        +
        + + + +```php +// Implemented in BumbleDocGen\Core\Parser\Entity\EntityInterface + +public function getShortName(): string; +``` + + + +Parameters: not specified + +Return value: string + + +
        +
        +
        + + + +```php +public static function isEntityNameValid(string $entityName): bool; +``` + +
        Check if entity name is valid
        + +Parameters: + + + + + + + + + + + + + + + + +
        NameTypeDescription
        $entityNamestring-
        + +Return value: bool + + +
        +
        +
        + + + +```php +public function isExternalLibraryEntity(): bool; +``` + +
        The entity is loaded from a third party library and should not be treated the same as a standard one
        + +Parameters: not specified + +Return value: bool + + +
        +
        +
        + + + +```php +public function isInGit(): bool; +``` + +
        The entity file is in the git repository
        + +Parameters: not specified + +Return value: bool + + +
        +
        + + \ No newline at end of file diff --git a/docs/tech/classes/SharedCompressedDocumentFileCache.md b/docs/tech/classes/SharedCompressedDocumentFileCache.md index 0f8ad530..e5a8aa08 100644 --- a/docs/tech/classes/SharedCompressedDocumentFileCache.md +++ b/docs/tech/classes/SharedCompressedDocumentFileCache.md @@ -96,7 +96,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf Throws: @@ -209,7 +209,7 @@ public function saveChanges(): void; Throws: diff --git a/docs/tech/classes/SourceLocatorCacheItemPool.md b/docs/tech/classes/SourceLocatorCacheItemPool.md index 7414e481..702f80cb 100644 --- a/docs/tech/classes/SourceLocatorCacheItemPool.md +++ b/docs/tech/classes/SourceLocatorCacheItemPool.md @@ -108,7 +108,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf Throws: diff --git a/docs/tech/classes/StrTypeToUrl.md b/docs/tech/classes/StrTypeToUrl.md index 25da40e7..83d9592e 100644 --- a/docs/tech/classes/StrTypeToUrl.md +++ b/docs/tech/classes/StrTypeToUrl.md @@ -20,7 +20,7 @@ final class StrTypeToUrl implements \BumbleDocGen\Core\Renderer\Twig\Filter\Cust See: diff --git a/docs/tech/classes/SystemAsyncSourceLocator.md b/docs/tech/classes/SystemAsyncSourceLocator.md index df77339b..c7417701 100644 --- a/docs/tech/classes/SystemAsyncSourceLocator.md +++ b/docs/tech/classes/SystemAsyncSourceLocator.md @@ -12,7 +12,7 @@ ```php namespace BumbleDocGen\LanguageHandler\Php\Parser\SourceLocator\Internal; -final class SystemAsyncSourceLocator extends \Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator implements \Roave\BetterReflection\SourceLocator\Type\SourceLocator +final class SystemAsyncSourceLocator extends \Roave\BetterReflection\SourceLocator\Type\AbstractSourceLocator ``` diff --git a/docs/tech/classes/TemplateFile.md b/docs/tech/classes/TemplateFile.md index f7ada938..7e6b0fe3 100644 --- a/docs/tech/classes/TemplateFile.md +++ b/docs/tech/classes/TemplateFile.md @@ -155,7 +155,7 @@ public static function create(\Symfony\Component\Finder\SplFileInfo $fileInfo, \ Throws: @@ -252,7 +252,7 @@ public static function getRelativeDocPathByTemplatePath(string $templatePath, \B Throws: @@ -328,7 +328,7 @@ public static function getTemplatePathByRelativeDocPath(string $relativeDocPath, Throws: diff --git a/docs/tech/map.md b/docs/tech/map.md index 83e291c7..8cd8f70d 100644 --- a/docs/tech/map.md +++ b/docs/tech/map.md @@ -257,4 +257,4 @@ Directory layout ( only documented files shown ):

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Thu Nov 02 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/readme.md b/docs/tech/readme.md index ca268f55..c8758b4b 100644 --- a/docs/tech/readme.md +++ b/docs/tech/readme.md @@ -44,4 +44,4 @@ After that, the process of parsing the project code according to the configurati

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Thu Oct 5 17:42:06 2023 +0300
        Page content update date: Thu Nov 02 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Thu Oct 5 17:42:06 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator \ No newline at end of file From 5195b051f401f7bdb3c453ce05148e4e0c832303 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Mon, 6 Nov 2023 14:06:03 +0300 Subject: [PATCH 09/11] Moving logic to get index file in tpl dir by path --- .../Breadcrumbs/BreadcrumbsHelper.php | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php b/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php index a4dfd315..5dfd37ca 100644 --- a/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php +++ b/src/Core/Renderer/Breadcrumbs/BreadcrumbsHelper.php @@ -91,22 +91,7 @@ private function getPrevPage(string $templateName): ?string if ($pathParts) { $subPath = count($pathParts) > 1 ? implode('/', $pathParts) : ''; - $finder = Finder::create() - ->name('*.twig') - ->ignoreVCS(true) - ->ignoreDotFiles(true) - ->ignoreUnreadableDirs() - ->depth(0) - ->in($this->configuration->getTemplatesDir() . '/' . $subPath); - - $indexFile = null; - foreach ($finder->files() as $file) { - $indexFile = $file->getFileName(); - if (preg_match($this->prevPageNameTemplate, $indexFile)) { - break; - } - } - + $indexFile = $this->getFindIndexFileByRelativePath($subPath); if ($indexFile) { $prevPage = $subPath . "/{$indexFile}"; } @@ -123,13 +108,25 @@ public function getNearestIndexFile(string $templateName): string $pathParts = explode('/', $templateName); array_pop($pathParts); $subPath = implode('/', $pathParts); + $indexFile = $this->getFindIndexFileByRelativePath($subPath); + if (is_null($indexFile)) { + return $templateName; + } + return "{$subPath}/{$indexFile}"; + } + + /** + * @throws InvalidConfigurationParameterException + */ + private function getFindIndexFileByRelativePath(string $relativePath): ?string + { $finder = Finder::create() ->name('*.twig') ->ignoreVCS(true) ->ignoreDotFiles(true) ->ignoreUnreadableDirs() ->depth(0) - ->in($this->configuration->getTemplatesDir() . '/' . $subPath); + ->in($this->configuration->getTemplatesDir() . '/' . $relativePath); $indexFile = null; foreach ($finder->files() as $file) { @@ -138,10 +135,7 @@ public function getNearestIndexFile(string $templateName): string break; } } - if (is_null($indexFile)) { - return $templateName; - } - return "{$subPath}/{$indexFile}"; + return $indexFile; } /** From e66515c27fb9379314b39d34e05c002cd439e492 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Mon, 6 Nov 2023 14:06:14 +0300 Subject: [PATCH 10/11] Updating doc --- docs/README.md | 2 +- docs/shared_c.cache | 2 +- docs/tech/1.configuration/readme.md | 2 +- docs/tech/2.parser/entity.md | 2 +- docs/tech/2.parser/entityFilterCondition.md | 2 +- docs/tech/2.parser/readme.md | 2 +- docs/tech/2.parser/sourceLocator.md | 2 +- docs/tech/3.renderer/01_templates.md | 2 +- docs/tech/3.renderer/02_breadcrumbs.md | 2 +- docs/tech/3.renderer/03_documentStructure.md | 2 +- docs/tech/3.renderer/04_twigCustomFilters.md | 2 +- .../tech/3.renderer/05_twigCustomFunctions.md | 2 +- .../3.renderer/classes/BreadcrumbsHelper.md | 20 +++++++++---------- docs/tech/3.renderer/readme.md | 2 +- .../tech/3.renderer/templatesDynamicBlocks.md | 2 +- docs/tech/3.renderer/templatesLinking.md | 2 +- docs/tech/3.renderer/templatesVariables.md | 2 +- docs/tech/4.pluginSystem/readme.md | 2 +- docs/tech/classes/BreadcrumbsHelper.md | 20 +++++++++---------- docs/tech/map.md | 2 +- docs/tech/readme.md | 2 +- 21 files changed, 39 insertions(+), 39 deletions(-) diff --git a/docs/README.md b/docs/README.md index 3eb0e47c..99ec2743 100644 --- a/docs/README.md +++ b/docs/README.md @@ -95,4 +95,4 @@ To update this documentation, run the following command:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/shared_c.cache b/docs/shared_c.cache index 0422e53b..6bdf57da 100644 --- a/docs/shared_c.cache +++ b/docs/shared_c.cache @@ -1 +1 @@ -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 \ No newline at end of file +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 \ No newline at end of file diff --git a/docs/tech/1.configuration/readme.md b/docs/tech/1.configuration/readme.md index 9c92b52b..d9796223 100644 --- a/docs/tech/1.configuration/readme.md +++ b/docs/tech/1.configuration/readme.md @@ -222,4 +222,4 @@ The inheritance algorithm is as follows: scalar types can be overwritten by each

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/entity.md b/docs/tech/2.parser/entity.md index 41bc8f21..b3230099 100644 --- a/docs/tech/2.parser/entity.md +++ b/docs/tech/2.parser/entity.md @@ -123,4 +123,4 @@ These classes are a convenient wrapper for accessing data in templates:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/entityFilterCondition.md b/docs/tech/2.parser/entityFilterCondition.md index d114b8ad..6c18390d 100644 --- a/docs/tech/2.parser/entityFilterCondition.md +++ b/docs/tech/2.parser/entityFilterCondition.md @@ -78,4 +78,4 @@ Filter condition for working with entities PHP language handler:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/readme.md b/docs/tech/2.parser/readme.md index d7327733..9d462717 100644 --- a/docs/tech/2.parser/readme.md +++ b/docs/tech/2.parser/readme.md @@ -41,4 +41,4 @@ In this section, we show how the parser works and what components it consists of

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/2.parser/sourceLocator.md b/docs/tech/2.parser/sourceLocator.md index d4e63de1..c7cae9be 100644 --- a/docs/tech/2.parser/sourceLocator.md +++ b/docs/tech/2.parser/sourceLocator.md @@ -30,4 +30,4 @@ You can create your own source locators or use any existing ones. All source loc

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/01_templates.md b/docs/tech/3.renderer/01_templates.md index 59db50de..72ce1bb5 100644 --- a/docs/tech/3.renderer/01_templates.md +++ b/docs/tech/3.renderer/01_templates.md @@ -101,4 +101,4 @@ Result after starting the documentation generation process:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Fri Oct 13 18:40:45 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Fri Oct 13 18:40:45 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/02_breadcrumbs.md b/docs/tech/3.renderer/02_breadcrumbs.md index 9f833802..38a39bce 100644 --- a/docs/tech/3.renderer/02_breadcrumbs.md +++ b/docs/tech/3.renderer/02_breadcrumbs.md @@ -51,4 +51,4 @@ Here is an example of the result of the `generatePageBreadcrumbs` function:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/03_documentStructure.md b/docs/tech/3.renderer/03_documentStructure.md index 6421789c..f7a420ff 100644 --- a/docs/tech/3.renderer/03_documentStructure.md +++ b/docs/tech/3.renderer/03_documentStructure.md @@ -19,4 +19,4 @@ plugins:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Fri Oct 13 18:40:45 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Fri Oct 13 18:40:45 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/04_twigCustomFilters.md b/docs/tech/3.renderer/04_twigCustomFilters.md index 58edbb80..cb110aaa 100644 --- a/docs/tech/3.renderer/04_twigCustomFilters.md +++ b/docs/tech/3.renderer/04_twigCustomFilters.md @@ -263,4 +263,4 @@ Here is a list of filters available by default:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/05_twigCustomFunctions.md b/docs/tech/3.renderer/05_twigCustomFunctions.md index 70fe9cba..9a0db2a5 100644 --- a/docs/tech/3.renderer/05_twigCustomFunctions.md +++ b/docs/tech/3.renderer/05_twigCustomFunctions.md @@ -385,4 +385,4 @@ Here is a list of functions available by default:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md index a17fa5f3..3559f4cc 100644 --- a/docs/tech/3.renderer/classes/BreadcrumbsHelper.md +++ b/docs/tech/3.renderer/classes/BreadcrumbsHelper.md @@ -142,7 +142,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -176,7 +176,7 @@ public function getAllPageLinks(): array; ```php @@ -232,7 +232,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr ```php @@ -288,7 +288,7 @@ public function getBreadcrumbsForTemplates(string $filePatch, bool $fromCurrent ```php @@ -333,7 +333,7 @@ public function getNearestIndexFile(string $templateName): string; ```php @@ -384,7 +384,7 @@ public function getPageDataByKey(string $key): array|null; ```php @@ -435,7 +435,7 @@ public function getPageDocFileByKey(string $key): string|null; ```php @@ -486,7 +486,7 @@ public function getPageLinkByKey(string $key): string|null; ```php @@ -531,7 +531,7 @@ public function getTemplateLinkKey(string $templateName): string|null; ```php @@ -587,7 +587,7 @@ $breadcrumbsHelper->getTemplateTitle() == 'Some template title'; // is true ```php diff --git a/docs/tech/3.renderer/readme.md b/docs/tech/3.renderer/readme.md index ec8b7f38..800c1393 100644 --- a/docs/tech/3.renderer/readme.md +++ b/docs/tech/3.renderer/readme.md @@ -60,4 +60,4 @@ This process is presented in the form of a diagram below.

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesDynamicBlocks.md b/docs/tech/3.renderer/templatesDynamicBlocks.md index 38845d73..5f0ba622 100644 --- a/docs/tech/3.renderer/templatesDynamicBlocks.md +++ b/docs/tech/3.renderer/templatesDynamicBlocks.md @@ -26,4 +26,4 @@ You can use the built-in functions and filters or add your own, so you can imple

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesLinking.md b/docs/tech/3.renderer/templatesLinking.md index 3b23bd0a..acd69845 100644 --- a/docs/tech/3.renderer/templatesLinking.md +++ b/docs/tech/3.renderer/templatesLinking.md @@ -27,4 +27,4 @@ You can also implement your own functions for relinking if necessary.

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/3.renderer/templatesVariables.md b/docs/tech/3.renderer/templatesVariables.md index cfb642f8..cf73d7a0 100644 --- a/docs/tech/3.renderer/templatesVariables.md +++ b/docs/tech/3.renderer/templatesVariables.md @@ -11,4 +11,4 @@ There are several variables available in each processed template.

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/4.pluginSystem/readme.md b/docs/tech/4.pluginSystem/readme.md index 621cd655..01f7ca5b 100644 --- a/docs/tech/4.pluginSystem/readme.md +++ b/docs/tech/4.pluginSystem/readme.md @@ -190,4 +190,4 @@ plugins:

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Oct 28 11:03:31 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/classes/BreadcrumbsHelper.md b/docs/tech/classes/BreadcrumbsHelper.md index 4af2b767..f5c84ec7 100644 --- a/docs/tech/classes/BreadcrumbsHelper.md +++ b/docs/tech/classes/BreadcrumbsHelper.md @@ -142,7 +142,7 @@ public function __construct(\BumbleDocGen\Core\Configuration\Configuration $conf ```php @@ -176,7 +176,7 @@ public function getAllPageLinks(): array; ```php @@ -232,7 +232,7 @@ public function getBreadcrumbs(string $filePatch, bool $fromCurrent = true): arr ```php @@ -288,7 +288,7 @@ public function getBreadcrumbsForTemplates(string $filePatch, bool $fromCurrent ```php @@ -333,7 +333,7 @@ public function getNearestIndexFile(string $templateName): string; ```php @@ -384,7 +384,7 @@ public function getPageDataByKey(string $key): array|null; ```php @@ -435,7 +435,7 @@ public function getPageDocFileByKey(string $key): string|null; ```php @@ -486,7 +486,7 @@ public function getPageLinkByKey(string $key): string|null; ```php @@ -531,7 +531,7 @@ public function getTemplateLinkKey(string $templateName): string|null; ```php @@ -587,7 +587,7 @@ $breadcrumbsHelper->getTemplateTitle() == 'Some template title'; // is true ```php diff --git a/docs/tech/map.md b/docs/tech/map.md index 8cd8f70d..8f6177f1 100644 --- a/docs/tech/map.md +++ b/docs/tech/map.md @@ -257,4 +257,4 @@ Directory layout ( only documented files shown ):

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Sat Sep 2 21:01:47 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file diff --git a/docs/tech/readme.md b/docs/tech/readme.md index c8758b4b..79334796 100644 --- a/docs/tech/readme.md +++ b/docs/tech/readme.md @@ -44,4 +44,4 @@ After that, the process of parsing the project code according to the configurati

        -Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Thu Oct 5 17:42:06 2023 +0300
        Page content update date: Fri Nov 03 2023
        Made with Bumble Documentation Generator
        \ No newline at end of file +Last page committer: fshcherbanich <filipp.shcherbanich@team.bumble.com>
        Last modified date: Thu Oct 5 17:42:06 2023 +0300
        Page content update date: Mon Nov 06 2023
        Made with Bumble Documentation Generator \ No newline at end of file From 7c9f4ae0ae703245e51edd07c4f4bc8e56b7dfa8 Mon Sep 17 00:00:00 2001 From: fshcherbanich Date: Mon, 6 Nov 2023 14:07:03 +0300 Subject: [PATCH 11/11] Increasing subjectLength --- captainhook.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/captainhook.json b/captainhook.json index edee41bd..98faea5d 100644 --- a/captainhook.json +++ b/captainhook.json @@ -5,7 +5,7 @@ { "action": "\\CaptainHook\\App\\Hook\\Message\\Action\\Beams", "options": { - "subjectLength": 50, + "subjectLength": 100, "bodyLineLength": 200 } }