/** * get hiweb_tpl property in template context * * @param string $property_name property name * * @return \Smurty_Config_Source|\Smurty_Template_Compiled * @throws SmurtyException if $property_name is not valid */ public function __get($property_name) { switch ($property_name) { case 'source': if (empty($this->config_resource)) { throw new SmurtyException("Unable to parse resource name \"{$this->config_resource}\""); } $this->source = Smurty_Resource::config($this); return $this->source; case 'compiled': $this->compiled = $this->source->getCompiled($this); return $this->compiled; } throw new SmurtyException("config attribute '{$property_name}' does not exist."); }