filename = $filename; $this->module = $module; $this->theme = $theme; $this->isBase = $isBase; } /** * Retrieve full filename * * @return string */ public function getFilename() { return $this->filename; } /** * Retrieve name of a file without a directory path * * @return string */ public function getName() { return basename($this->filename); } /** * Retrieve fully-qualified name of a module a file belongs to * * @return string */ public function getModule() { return $this->module; } /** * Retrieve instance of a theme a file belongs to * * @return ThemeInterface|null */ public function getTheme() { return $this->theme; } /** * Whether file is a base one * * @return bool */ public function isBase() { return $this->theme === null; } /** * Calculate unique identifier for a view file * * @return string */ public function getFileIdentifier() { if (null === $this->identifier) { $theme = $this->getTheme() ? ('|theme:' . $this->theme->getFullPath()) : ''; $this->identifier = ($this->isBase ? 'base' : '') . $theme . '|module:' . $this->getModule() . '|file:' . $this->getName(); } return $this->identifier; } }