From b0d8c80500e1b796f2398c44f20b36173bfc4d6c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sun, 26 Jan 2025 18:59:24 +0100 Subject: [PATCH] Continued: - added returned type-hints --- .../compactor/class_XmlCompactorDecorator.php | 2 +- .../class_XmlRewriterTemplateDecorator.php | 23 +++++++++------- .../classes/parser/xml/class_XmlParser.php | 2 +- .../template/class_BaseTemplateEngine.php | 6 ++--- .../image/class_ImageTemplateEngine.php | 7 ++--- .../mail/class_MailTemplateEngine.php | 7 ++--- .../menu/class_MenuTemplateEngine.php | 15 ++++++----- .../xml/class_BaseXmlTemplateEngine.php | 27 ++++++++----------- .../interfaces/parser/class_Parseable.php | 2 +- .../template/class_CompileableTemplate.php | 4 +-- .../xml/class_CompileableXmlTemplate.php | 8 +++--- 11 files changed, 52 insertions(+), 51 deletions(-) diff --git a/framework/main/classes/decorator/xml/compactor/class_XmlCompactorDecorator.php b/framework/main/classes/decorator/xml/compactor/class_XmlCompactorDecorator.php index 6d7b0165..b293e574 100644 --- a/framework/main/classes/decorator/xml/compactor/class_XmlCompactorDecorator.php +++ b/framework/main/classes/decorator/xml/compactor/class_XmlCompactorDecorator.php @@ -94,7 +94,7 @@ class XmlCompactorDecorator extends BaseDecorator implements Parseable { * @return void * @throws XmlCompactorDecoratorException If an XML error was found */ - public function parseXmlContent (string $content) { + public function parseXmlContent (string $content): void { // Remove all comments for better compacting $content = $this->getParserInstance()->getTemplateInstance()->compactContent($content); diff --git a/framework/main/classes/decorator/xml/template/class_XmlRewriterTemplateDecorator.php b/framework/main/classes/decorator/xml/template/class_XmlRewriterTemplateDecorator.php index 50ff116e..d2666c52 100644 --- a/framework/main/classes/decorator/xml/template/class_XmlRewriterTemplateDecorator.php +++ b/framework/main/classes/decorator/xml/template/class_XmlRewriterTemplateDecorator.php @@ -8,6 +8,9 @@ use Org\Mxchange\CoreFramework\Response\Responseable; use Org\Mxchange\CoreFramework\Template\Xml\CompileableXmlTemplate; use Org\Mxchange\CoreFramework\Traits\Template\CompileableTemplateTrait; +// Import SPL stuff +use \XMLParser; + /** * A decorator for XML template engines which rewrites the XML for compacting * it. @@ -334,7 +337,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @return void * @throws XmlParserException If an XML error was found */ - public function renderXmlContent (string $content = '') { + public function renderXmlContent (string $content = ''): void { // Call the inner class' method $this->getTemplateInstance()->renderXmlContent($content); } @@ -345,7 +348,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @param $languageSupport New language support setting * @return void */ - public function enableLanguageSupport (bool $languageSupport = true) { + public function enableLanguageSupport (bool $languageSupport = true): void { // Call the inner class' method $this->getTemplateInstance()->enableLanguageSupport($languageSupport); } @@ -355,7 +358,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * * @return $languageSupport Whether language support is enabled or disabled */ - public function isLanguageSupportEnabled () { + public function isLanguageSupportEnabled (): bool { // Call the inner class' method return $this->getTemplateInstance()->isLanguageSupportEnabled(); } @@ -366,7 +369,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @param $xmlCompacting New XML compacting setting * @return void */ - public function enableXmlCompacting (bool $xmlCompacting = true) { + public function enableXmlCompacting (bool $xmlCompacting = true): void { // Call the inner class' method $this->getTemplateInstance()->enableXmlCompacting($xmlCompacting); } @@ -376,7 +379,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * * @return $xmlCompacting Whether XML compacting is enabled or disabled */ - public function isXmlCompactingEnabled () { + public function isXmlCompactingEnabled (): bool { // Call the inner class' method return $this->getTemplateInstance()->isXmlCompactingEnabled(); } @@ -390,7 +393,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @return void * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - public function startElement ($resource, string $element, array $attributes) { + public function startElement (XMLParser $resource, string $element, array $attributes): void { // Call the inner class' method $this->getTemplateInstance()->startElement($resource, $element, $attributes); } @@ -403,7 +406,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public function finishElement ($resource, string $nodeName) { + public function finishElement (XMLParser $resource, string $nodeName): void { // Call the inner class' method $this->getTemplateInstance()->finishElement($resource, $nodeName); } @@ -416,7 +419,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @return void * @todo Find something useful with this! */ - public function characterHandler ($resource, string $characters) { + public function characterHandler (XMLParser $resource, string $characters): void { // Call the inner class' method but trim the characters before $this->getTemplateInstance()->characterHandler($resource, trim($characters)); } @@ -427,7 +430,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @param $uncompactedContent The uncompacted content * @return $compactedContent The compacted content */ - public function compactContent (string $uncompactedContent) { + public function compactContent (string $uncompactedContent): string { // Compact it ... $compactedContent = $this->getTemplateInstance()->compactContent($uncompactedContent); @@ -445,7 +448,7 @@ class XmlRewriterTemplateDecorator extends BaseDecorator implements CompileableX * @param $variables An array with variables to be assigned * @return void */ - public function assignMultipleVariables (array $variables) { + public function assignMultipleVariables (array $variables): void { // Call the inner class' method but trim the characters before $this->getTemplateInstance()->assignMultipleVariables($variables); } diff --git a/framework/main/classes/parser/xml/class_XmlParser.php b/framework/main/classes/parser/xml/class_XmlParser.php index 7b09884e..9565d7b4 100644 --- a/framework/main/classes/parser/xml/class_XmlParser.php +++ b/framework/main/classes/parser/xml/class_XmlParser.php @@ -69,7 +69,7 @@ class XmlParser extends BaseParser implements Parseable { * @return void * @throws XmlParserException If an XML error was found */ - public function parseXmlContent (string $content) { + public function parseXmlContent (string $content): void { // Convert all to UTF8 //* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput(sprintf('XML-PARSER: content()=%d - CALLED!', strlen($content))); if (empty($content)) { diff --git a/framework/main/classes/template/class_BaseTemplateEngine.php b/framework/main/classes/template/class_BaseTemplateEngine.php index f428be61..c29e0644 100644 --- a/framework/main/classes/template/class_BaseTemplateEngine.php +++ b/framework/main/classes/template/class_BaseTemplateEngine.php @@ -1818,7 +1818,7 @@ abstract class BaseTemplateEngine extends BaseFrameworkSystem { * @param $languageSupport New language support setting * @return void */ - public final function enableLanguageSupport (bool $languageSupport = true) { + public final function enableLanguageSupport (bool $languageSupport = true): void { $this->languageSupport = $languageSupport; } @@ -1827,7 +1827,7 @@ abstract class BaseTemplateEngine extends BaseFrameworkSystem { * * @return $languageSupport Whether language support is enabled or disabled */ - public final function isLanguageSupportEnabled () { + public final function isLanguageSupportEnabled (): bool { return $this->languageSupport; } @@ -1837,7 +1837,7 @@ abstract class BaseTemplateEngine extends BaseFrameworkSystem { * @param $uncompactedContent The uncompacted content * @return $compactedContent The compacted content */ - public function compactContent (string $uncompactedContent) { + public function compactContent (string $uncompactedContent): string { // Validate parameter if (empty($uncompactedContent)) { // Throw an exception diff --git a/framework/main/classes/template/image/class_ImageTemplateEngine.php b/framework/main/classes/template/image/class_ImageTemplateEngine.php index 31a011da..7536d2e6 100644 --- a/framework/main/classes/template/image/class_ImageTemplateEngine.php +++ b/framework/main/classes/template/image/class_ImageTemplateEngine.php @@ -19,6 +19,7 @@ use Org\Mxchange\CoreFramework\Utils\Strings\StringUtils; // Import SPL stuff use \SplFileInfo; use \UnexpectedValueException; +use \XMLParser; /** * The own template engine for loading caching and sending out images @@ -196,7 +197,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl * @return void * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - public function startElement ($resource, string $element, array $attributes) { + public function startElement (XMLParser $resource, string $element, array $attributes): void { // Initial method name which will never be called... $methodName = 'initImage'; @@ -229,7 +230,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public function finishElement ($resource, string $nodeName) { + public function finishElement (XMLParser $resource, string $nodeName): void { // Does this match with current main node? //* DEBUG: */ echo "END: >".$nodeName."<
\n"; if (($nodeName != $this->getCurrMainNode()) && (in_array($nodeName, $this->getMainNodes()))) { @@ -255,7 +256,7 @@ class ImageTemplateEngine extends BaseTemplateEngine implements CompileableTempl * @return void * @todo Find something usefull with this! */ - public function characterHandler ($resource, string $characters) { + public function characterHandler (XMLParser $resource, string $characters): void { // Trim all spaces away $characters = trim($characters); diff --git a/framework/main/classes/template/mail/class_MailTemplateEngine.php b/framework/main/classes/template/mail/class_MailTemplateEngine.php index a54f98d9..7c536b7e 100644 --- a/framework/main/classes/template/mail/class_MailTemplateEngine.php +++ b/framework/main/classes/template/mail/class_MailTemplateEngine.php @@ -16,6 +16,7 @@ use Org\Mxchange\CoreFramework\Utils\Strings\StringUtils; // Import SPL stuff use \UnexpectedValueException; +use \XMLParser; /** * The own template engine for loading caching and sending out images @@ -166,7 +167,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - public function startElement ($resource, string $element, array $attributes) { + public function startElement (XMLParser $resource, string $element, array $attributes): void { // Initial method name which will never be called... $methodName = 'initEmail'; @@ -199,7 +200,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public function finishElement ($resource, string $nodeName) { + public function finishElement (XMLParser $resource, string $nodeName): void { // Does this match with current main node? //* DEBUG: */ echo "END: >".$nodeName."<
\n"; if (($nodeName != $this->getCurrMainNode()) && (in_array($nodeName, $this->getMainNodes()))) { @@ -224,7 +225,7 @@ class MailTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @param $characters Characters to handle * @return void */ - public function characterHandler ($resource, string $characters) { + public function characterHandler (XMLParser $resource, string $characters): void { // Trim all spaces away $characters = trim($characters); diff --git a/framework/main/classes/template/menu/class_MenuTemplateEngine.php b/framework/main/classes/template/menu/class_MenuTemplateEngine.php index 53febfd6..1908894c 100644 --- a/framework/main/classes/template/menu/class_MenuTemplateEngine.php +++ b/framework/main/classes/template/menu/class_MenuTemplateEngine.php @@ -18,6 +18,7 @@ use Org\Mxchange\CoreFramework\Utils\Strings\StringUtils; // Import SPL stuff use \SplFileInfo; use \UnexpectedValueException; +use \XMLParser; /** * A Menu template engine class @@ -281,7 +282,7 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - public function startElement ($resource, string $element, array $attributes) { + public function startElement (XMLParser $resource, string $element, array $attributes): void { // Initial method name which will never be called... $methodName = 'initMenu'; @@ -317,12 +318,12 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public function finishElement ($resource, string $nodeName) { + public function finishElement (XMLParser $resource, string $nodeName): void { // Does this match with current main node? //* DEBUG: */ echo "END: >".$nodeName."<
\n"; if (($nodeName != $this->getCurrMainNode()) && (in_array($nodeName, $this->getMainNodes()))) { // Did not match! - throw new XmlNodeMismatchException (array($this, $nodeName, $this->getCurrMainNode()), Parseable::EXCEPTION_XML_NODE_MISMATCH); + throw new XmlNodeMismatchException ([$this, $nodeName, $this->getCurrMainNode()], Parseable::EXCEPTION_XML_NODE_MISMATCH); } // Construct method name @@ -341,7 +342,7 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @todo Find something useful with this! */ - public function characterHandler ($resource, string $characters) { + public function characterHandler (XMLParser $resource, string $characters): void { // Trim all spaces away $characters = trim($characters); @@ -363,7 +364,7 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @param $templateDependency A template to load to satisfy dependencies * @return void */ - private function handleTemplateDependency (string $node, string $templateDependency) { + private function handleTemplateDependency (string $node, string $templateDependency): void { // Is the template dependency set? if ((!empty($templateDependency)) && (!isset($this->dependencyContent[$node]))) { // Get a temporay menu template instance @@ -387,7 +388,7 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla * @return void * @todo Add cache creation here */ - private function initMenu (string $templateDependency = '') { + private function initMenu (string $templateDependency = ''): void { // Get web template engine $this->setTemplateInstance(ObjectFactory::createObjectByConfiguredName('html_template_class', array(ApplicationHelper::getSelfInstance()))); @@ -885,7 +886,7 @@ class MenuTemplateEngine extends BaseTemplateEngine implements CompileableTempla * * @return $fileInstance Full-qualified file name of the menu cache */ - public function getMenuCacheFile () { + public function getMenuCacheFile (): SplFileInfo { // Get the application instance from registry $applicationInstance = ApplicationHelper::getSelfInstance(); diff --git a/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php b/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php index 7d344ac7..5315ef71 100644 --- a/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php +++ b/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php @@ -17,6 +17,7 @@ use Org\Mxchange\CoreFramework\Utils\Strings\StringUtils; // Import SPL stuff use \InvalidArgumentException; +use \XMLParser; /** * A generic XML template engine class @@ -314,7 +315,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @return void * @throws InvalidArgumentException If a parameter has an invalid value */ - protected function handleTemplateDependency (string $node, string $templateDependency) { + protected function handleTemplateDependency (string $node, string $templateDependency): void { // Check parameter /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-XML-TEMPLATE-ENGINE: node=%s,templateDependency=%s - CALLED!', $node, $templateDependency)); if (empty($node)) { @@ -361,13 +362,10 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @throws InvalidArgumentException If a parameter has an invalid value * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - public final function startElement ($resource, string $element, array $attributes) { + public final function startElement ($resource, string $element, array $attributes): void { // Check parameters - /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-XML-TEMPLATE-ENGINE: resource[%s]=%s,element=%s,attributes()=%d - CALLED!', gettype($resource), $resource, $element, count($attributes))); - if (!is_resource($resource)) { - // Throw IAE - throw new InvalidArgumentException(sprintf('Parameter resource has unexpected type %s', gettype($resource)), FrameworkInterface::EXCEPTION_INVALID_ARGUMENT); - } elseif (empty($element)) { + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-XML-TEMPLATE-ENGINE: resource[%s]=%s,element=%s,attributes()=%d - CALLED!', gettype($resource), get_class($resource), $element, count($attributes))); + if (empty($element)) { // Throw IAE throw new InvalidArgumentException('Parameter "element" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT); } @@ -411,13 +409,10 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public final function finishElement ($resource, string $nodeName) { + public final function finishElement (XMLParser $resource, string $nodeName): void { // Check parameters - /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-XML-TEMPLATE-ENGINE: resource[%s]=%s,nodeName=%s - CALLED!', gettype($resource), $resource, $nodeName)); - if (!is_resource($resource)) { - // Throw IAE - throw new InvalidArgumentException(sprintf('Parameter resource has unexpected type %s', gettype($resource)), FrameworkInterface::EXCEPTION_INVALID_ARGUMENT); - } elseif (empty($nodeName)) { + /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-XML-TEMPLATE-ENGINE: resource[%s]=%s,nodeName=%s - CALLED!', gettype($resource), get_class($resource), $nodeName)); + if (empty($nodeName)) { // Throw IAE throw new InvalidArgumentException('Parameter "nodeName" is empty', FrameworkInterface::EXCEPTION_INVALID_ARGUMENT); } @@ -450,7 +445,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @return void * @throws InvalidArgumentException If a parameter has an invalid value */ - public function renderXmlContent (string $content = '') { + public function renderXmlContent (string $content = ''): void { // Is the content set? /* NOISY-DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->traceMessage(sprintf('BASE-XML-TEMPLATE-ENGINE: content[%s]()=%d - CALLED!', gettype($content), strlen($content))); if (empty($content)) { @@ -485,7 +480,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @param $xmlCompacting New XML compacting setting * @return void */ - public final function enableXmlCompacting (bool $xmlCompacting = true) { + public final function enableXmlCompacting (bool $xmlCompacting = true): void { $this->xmlCompacting = $xmlCompacting; } @@ -494,7 +489,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * * @return $xmlCompacting Whether XML compacting is enabled or disabled */ - public final function isXmlCompactingEnabled () { + public final function isXmlCompactingEnabled (): bool { return $this->xmlCompacting; } diff --git a/framework/main/interfaces/parser/class_Parseable.php b/framework/main/interfaces/parser/class_Parseable.php index 8af81f78..608d7229 100644 --- a/framework/main/interfaces/parser/class_Parseable.php +++ b/framework/main/interfaces/parser/class_Parseable.php @@ -40,6 +40,6 @@ interface Parseable extends FrameworkInterface { * @return void * @throws XmlParserException If an XML error was found */ - function parseXmlContent (string $content); + function parseXmlContent (string $content): void; } diff --git a/framework/main/interfaces/template/class_CompileableTemplate.php b/framework/main/interfaces/template/class_CompileableTemplate.php index eae73258..c0350dea 100644 --- a/framework/main/interfaces/template/class_CompileableTemplate.php +++ b/framework/main/interfaces/template/class_CompileableTemplate.php @@ -165,14 +165,14 @@ interface CompileableTemplate extends FrameworkInterface { * @param $languageSupport New language support setting * @return void */ - function enableLanguageSupport (bool $languageSupport = true); + function enableLanguageSupport (bool $languageSupport = true): void; /** * Checks whether language support is enabled * * @return $languageSupport Whether language support is enabled or disabled */ - function isLanguageSupportEnabled (); + function isLanguageSupportEnabled (): bool; /** * Getter for given variable group diff --git a/framework/main/interfaces/template/xml/class_CompileableXmlTemplate.php b/framework/main/interfaces/template/xml/class_CompileableXmlTemplate.php index fc05362b..4d33ffee 100644 --- a/framework/main/interfaces/template/xml/class_CompileableXmlTemplate.php +++ b/framework/main/interfaces/template/xml/class_CompileableXmlTemplate.php @@ -36,7 +36,7 @@ interface CompileableXmlTemplate extends CompileableTemplate { * @return void * @throws XmlParserException If an XML error was found */ - function renderXmlContent (string $content = ''); + function renderXmlContent (string $content = ''): void; /** * Enables or disables XML compacting @@ -44,14 +44,14 @@ interface CompileableXmlTemplate extends CompileableTemplate { * @param $xmlCompacting New XML compacting setting * @return void */ - function enableXmlCompacting (bool $xmlCompacting = true); + function enableXmlCompacting (bool $xmlCompacting = true): void; /** * Checks whether XML compacting is enabled * * @return $xmlCompacting Whether XML compacting is enabled or disabled */ - function isXmlCompactingEnabled (); + function isXmlCompactingEnabled (): bool; /** * Removes all comments, tabs and new-line charcters to compact the content @@ -59,6 +59,6 @@ interface CompileableXmlTemplate extends CompileableTemplate { * @param $uncompactedContent The uncompacted content * @return $compactedContent The compacted content */ - function compactContent (string $uncompactedContent); + function compactContent (string $uncompactedContent): string; } -- 2.39.5