]> git.mxchange.org Git - core.git/blobdiff - framework/main/classes/template/console/class_ConsoleTemplateEngine.php
Continued:
[core.git] / framework / main / classes / template / console / class_ConsoleTemplateEngine.php
index 09aadd22bf6fb54ae88f55b1e66516ee625114bd..f4f515e9f0286f4643d4149aa8acbc2e1a3f6508 100644 (file)
@@ -1,10 +1,15 @@
 <?php
 // Own namespace
-namespace CoreFramework\Template\Engine;
+namespace Org\Mxchange\CoreFramework\Template\Engine;
 
 // Import framework stuff
-use CoreFramework\Registry\Registry;
-use CoreFramework\Template\CompileableTemplate;
+use Org\Mxchange\CoreFramework\Filesystem\InvalidDirectoryException;
+use Org\Mxchange\CoreFramework\Registry\Registry;
+use Org\Mxchange\CoreFramework\Template\CompileableTemplate;
+use Org\Mxchange\CoreFramework\Template\Engine\BaseTemplateEngine;
+
+// Import SPL stuff
+use \UnexpectedValueException;
 
 /**
  * A Console template engine class
@@ -44,9 +49,8 @@ class ConsoleTemplateEngine extends BaseTemplateEngine implements CompileableTem
         * Creates an instance of the class TemplateEngine and prepares it for usage
         *
         * @return      $templateInstance               An instance of TemplateEngine
-        * @throws      BasePathIsEmptyException                If the provided $templateBasePath is empty
-        * @throws      InvalidBasePathStringException  If $templateBasePath is no string
-        * @throws      BasePathIsNoDirectoryException  If $templateBasePath is no
+        * @throws      UnexpectedValueException                If the provided $templateBasePath is empty or no string
+        * @throws      InvalidDirectoryException       If $templateBasePath is no
         *                                                                                      directory or not found
         * @throws      BasePathReadProtectedException  If $templateBasePath is
         *                                                                                      read-protected
@@ -59,18 +63,18 @@ class ConsoleTemplateEngine extends BaseTemplateEngine implements CompileableTem
                $applicationInstance = Registry::getRegistry()->getInstance('app');
 
                // Determine base path
-               $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getRequestInstance()->getRequestElement('app') . '/';
+               $templateBasePath = $templateInstance->getConfigInstance()->getConfigEntry('application_base_path') . $applicationInstance->getAppShortName(). '/';
 
                // Is the base path valid?
                if (empty($templateBasePath)) {
                        // Base path is empty
-                       throw new BasePathIsEmptyException($templateInstance, self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
+                       throw new UnexpectedValueException(sprintf('[%s:%d] Variable templateBasePath is empty.', $templateInstance->__toString(), __LINE__), self::EXCEPTION_UNEXPECTED_EMPTY_STRING);
                } elseif (!is_string($templateBasePath)) {
                        // Is not a string
-                       throw new InvalidBasePathStringException(array($templateInstance, $templateBasePath), self::EXCEPTION_INVALID_STRING);
+                       throw new UnexpectedValueException(sprintf('[%s:%d] %s is not a string with a base path.', $templateInstance->__toString(), __LINE__, $templateBasePath), self::EXCEPTION_INVALID_STRING);
                } elseif (!is_dir($templateBasePath)) {
                        // Is not a path
-                       throw new BasePathIsNoDirectoryException(array($templateInstance, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME);
+                       throw new InvalidDirectoryException(array($templateInstance, $templateBasePath), self::EXCEPTION_INVALID_PATH_NAME);
                } elseif (!is_readable($templateBasePath)) {
                        // Is not readable
                        throw new BasePathReadProtectedException(array($templateInstance, $templateBasePath), self::EXCEPTION_READ_PROTECED_PATH);
@@ -84,7 +88,10 @@ class ConsoleTemplateEngine extends BaseTemplateEngine implements CompileableTem
                $templateInstance->setCodeTemplateExtension($templateInstance->getConfigInstance()->getConfigEntry('code_template_extension'));
 
                // Absolute output path for compiled templates
-               $templateInstance->setCompileOutputPath($templateInstance->getConfigInstance()->getConfigEntry('base_path') . $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path'));
+               $templateInstance->setCompileOutputPath(sprintf('%s%s/',
+                       $templateBasePath,
+                       $templateInstance->getConfigInstance()->getConfigEntry('compile_output_path')
+               ));
 
                // Return the prepared instance
                return $templateInstance;