Example #1
0
 /**
  * Parse name to determine template folder and filename.
  */
 protected function parse()
 {
     $parts = explode('::', $this->name);
     if (count($parts) === 1) {
         if (is_null($this->engine->getDirectory())) {
             $this->throwParseException('The default directory has not been defined.');
         }
         if ($parts[0] === '') {
             $this->throwParseException('The template name cannot be empty.');
         }
         $this->file = $parts[0];
     } elseif (count($parts) === 2) {
         if ($parts[0] === '') {
             $this->throwParseException('The folder name cannot be empty.');
         }
         if ($parts[1] === '') {
             $this->throwParseException('The template name cannot be empty.');
         }
         if (!$this->engine->getFolders()->exists($parts[0])) {
             $this->throwParseException('The folder "' . $parts[0] . '" does not exist.');
         }
         $this->folder = $this->engine->getFolders()->get($parts[0]);
         $this->file = $parts[1];
     } else {
         $this->throwParseException('Do not use the folder namespace seperator "::" more than once.');
     }
 }
Example #2
0
 /**
  * Get the default templates directory.
  * @return string
  */
 protected function getDefaultDirectory()
 {
     $directory = $this->engine->getDirectory();
     if (is_null($directory)) {
         throw new LogicException('The template name "' . $this->name . '" is not valid. ' . 'The default directory has not been defined.');
     }
     return $directory;
 }
 /**
  * Create and return a TemplatePath representing the default Plates directory.
  *
  * @return TemplatePath
  */
 private function getDefaultPath()
 {
     return new TemplatePath($this->template->getDirectory());
 }