Ejemplo n.º 1
0
 /**
  * Diese Methode lädt den Inhalt einer Skin-Datei in die Skin-Property der
  * Klasse. Dabei wird zuerst geschaut, ob es im aktuellen Template-Verzeichnis
  * eine entsprechende Datei gibt. Wenn nicht wird das Default-Skin geladen.
  * Die Skin eines Controls wird im Cache hinterlegt, um die Festplattten-
  * zugriffe zu minimieren. Dies kann zu Problemem führen, wenn im gleichen
  * Request zwei verschiedene Templates angesprochen werden. Aktuell ist dies
  * nicht vorgesehen.
  */
 protected function loadSkin()
 {
     // 1. Schritt -> Versuch aus Template zu lesen
     // 2. Schritt -> Default lesen
     if ($this->skin === null) {
         $this->skin = Cache::get($this->getCacheId(), Template::loadSkin($this));
         if ($this->skin === null && $this->defaultSkinFile !== '') {
             $this->skin = file_get_contents($this->defaultSkinFile);
         }
         Cache::set($this->getCacheId(), $this->skin);
     }
 }
 /**
  * @covers \NewFrontiers\Framework\Output\Template::loadSkin
  */
 public function testLoadSkin()
 {
     static::assertNull(Template::loadSkin(Template::load('test', true)));
     $skin = Template::loadSkin($this);
     static::assertEquals("html file contents 42", $skin);
 }