X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=framework%2Fmain%2Fclasses%2Ftemplate%2Fxml%2Fclass_BaseXmlTemplateEngine.php;h=cbbf4a736a026a290ef65fe393ab7d1330c0d66a;hb=08a0c865dd2c8ee0b6dbf96f4f07e9ee0ce0f02b;hp=e86763777e99529537ef3cd5f4befdcb68b48a1a;hpb=74b4f2c1770c622cbdbb1f84ac27771da18a0427;p=core.git diff --git a/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php b/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php index e8676377..cbbf4a73 100644 --- a/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php +++ b/framework/main/classes/template/xml/class_BaseXmlTemplateEngine.php @@ -4,15 +4,16 @@ namespace Org\Mxchange\CoreFramework\Template\Engine\Xml; // Import framework stuff use Org\Mxchange\CoreFramework\Bootstrap\FrameworkBootstrap; -use Org\Mxchange\CoreFramework\Factory\ObjectFactory; +use Org\Mxchange\CoreFramework\Factory\Object\ObjectFactory; use Org\Mxchange\CoreFramework\Factory\Template\XmlTemplateEngineFactory; +use Org\Mxchange\CoreFramework\Helper\Application\ApplicationHelper; use Org\Mxchange\CoreFramework\Registry\GenericRegistry; use Org\Mxchange\CoreFramework\Template\CompileableTemplate; use Org\Mxchange\CoreFramework\Template\Engine\BaseTemplateEngine; use Org\Mxchange\CoreFramework\Template\Xml\CompileableXmlTemplate; -use Org\Mxchange\CoreFramework\Traits\Stacker\StackableTrait; +use Org\Mxchange\CoreFramework\Traits\Stack\StackableTrait; use Org\Mxchange\CoreFramework\Traits\Template\CompileableTemplateTrait; -use Org\Mxchange\CoreFramework\Utils\String\StringUtils; +use Org\Mxchange\CoreFramework\Utils\Strings\StringUtils; // Import SPL stuff use \InvalidArgumentException; @@ -85,6 +86,11 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi */ private $xmlCompacting = false; + /** + * Method name for XML template type + */ + private $initMethodName = 'invalid'; + /** * Protected constructor * @@ -113,9 +119,10 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi // Set XML template type and prefix $this->xmlTemplateType = $xmlTemplateType; $this->typePrefix = $typePrefix; + $this->initMethodName = sprintf('init%s', StringUtils::convertToClassName($this->xmlTemplateType)); // Get template instance - $applicationInstance = GenericRegistry::getRegistry()->getInstance('application'); + $applicationInstance = ApplicationHelper::getSelfInstance(); // Determine base path $templateBasePath = FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('application_base_path') . FrameworkBootstrap::getRequestInstance()->getRequestElement('app') . '/'; @@ -124,9 +131,6 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi if (empty($templateBasePath)) { // Base path is empty throw new BasePathIsEmptyException($this, self::EXCEPTION_UNEXPECTED_EMPTY_STRING); - } elseif (!is_string($templateBasePath)) { - // Is not a string - throw new InvalidBasePathStringException(array($this, $templateBasePath), self::EXCEPTION_INVALID_STRING); } elseif (!is_dir($templateBasePath)) { // Is not a path throw new BasePathIsNoDirectoryException(array($this, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME); @@ -175,7 +179,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi if (empty($templateName)) { // Set generic template name $templateName = $this->typePrefix . '_' . $this->xmlTemplateType . '_template_type'; - } // END - if + } // Set template type $this->setTemplateType(FrameworkBootstrap::getConfigurationInstance()->getConfigEntry($templateName)); @@ -199,8 +203,8 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @param $element Element name to set as current main node * @return $currMainNode Current main node */ - private final function setCurrMainNode ($element) { - $this->curr['main_node'] = (string) $element; + private final function setCurrMainNode (string $element) { + $this->curr['main_node'] = $element; } /** @@ -262,7 +266,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi if (is_null($value)) { // Bah, needs fixing. $this->debugInstance(sprintf('[%s:%d]: key=%s returns NULL', __METHOD__, __LINE__, $key)); - } // END - if + } // Return value return $value; @@ -275,7 +279,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @param $templateDependency A template to load to satisfy dependencies * @return void */ - protected function handleTemplateDependency ($node, $templateDependency) { + protected function handleTemplateDependency (string $node, string $templateDependency) { // Check that the XML node is not empty assert(!empty($node)); @@ -292,7 +296,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi // Save the parsed raw content in our dependency array $this->dependencyContent[$node] = $templateInstance->getRawTemplateData(); - } // END - if + } } /** @@ -304,9 +308,9 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @return void * @throws InvalidXmlNodeException If an unknown/invalid XML node name was found */ - public final function startElement ($resource, $element, array $attributes) { + public final function startElement ($resource, string $element, array $attributes) { // Initial method name which will never be called... - $methodName = 'init' . StringUtils::convertToClassName($this->xmlTemplateType); + $methodName = $this->initMethodName; // Make the element name lower-case $element = strtolower($element); @@ -339,7 +343,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public final function finishElement ($resource, $nodeName) { + public final function finishElement ($resource, string $nodeName) { // Make all lower-case $nodeName = strtolower($nodeName); @@ -348,7 +352,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi if (($nodeName != $this->getCurrMainNode()) && (in_array($nodeName, $this->getMainNodes()))) { // Did not match! throw new XmlNodeMismatchException (array($this, $nodeName, $this->getCurrMainNode()), XmlParser::EXCEPTION_XML_NODE_MISMATCH); - } // END - if + } // Construct method name $methodName = 'finish' . StringUtils::convertToClassName($nodeName); @@ -373,7 +377,7 @@ abstract class BaseXmlTemplateEngine extends BaseTemplateEngine implements Compi } // Get a XmlParser instance - $parserInstance = ObjectFactory::createObjectByConfiguredName('xml_parser_class', array($this)); + $parserInstance = ObjectFactory::createObjectByConfiguredName('xml_parser_class', [$this]); // Check if XML compacting is enabled if ($this->isXmlCompactingEnabled()) {