Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Klasa, system styli
Forum PHP.pl > Forum > Przedszkole
stroju
mam taką klasę:
  1. <?php
  2. class temp
  3. {
  4.     var $file = '';
  5.    
  6.     function tpl_get_file($name)
  7.     {
  8.          global $config_ss, $root_path;
  9.          
  10.          $path = $root_path.'style/'.($config_ss['styl']).'/'.$name.'.html';
  11.          $this->file = file_get_contents($path);
  12.          return $this->file;
  13.     }
  14.    
  15.     function tpl_set_array($array)
  16.     {
  17.          foreach($array as $key => $war)
  18.          {
  19.               $this->files = str_replace('{'.$key.'}', $war, $this->file);
  20.          }
  21.          return $this->files;
  22.     }
  23.  
  24.  
  25.  
  26. }
  27. ?>


i kod który wyświetla mi plik:
  1. <?php
  2. $temp->tpl_get_file('show_profile');
  3.  
  4. echo $temp->tpl_set_array(array('STATUS' => 'dd',
  5. 'AVATAR' => 's'));
  6. ?>


i problem mam w tym że z tablicy $array w pliku podmieniana jest tylko ostatnia wartość, w tym wypadku 'AVATAR', choć jest tego więcej i tylko tę ostatnią zmienia...
w czym robię błąd??
JarCzeS
  1. <?php
  2. function tpl_set_array($array)
  3.     {
  4.          foreach($array as $key => $war)
  5.          {
  6.               $this->files[] = str_replace('{'.$key.'}', $war, $this->file);
  7.          }
  8.          return $this->files;
  9.     }
  10. ?>

tpl_set_array nadpisuje caly czas wartosc zmiennej files, wyniki str_replace musisz do tablicy zapisywac i zwracac cala tablice
stroju
no już mam, trochę inaczej ale mam rozwiązanie:
  1. <?php
  2. function tpl_set_array($array)
  3.     {
  4.          $this->files = $this->file;
  5.          foreach($array as $key => $war)
  6.          {
  7.               $this->files = str_replace('{'.$key.'}', $war, $this->files);
  8.          }
  9.          return $this->files;
  10.     }
  11. ?>


dzięki temu pracuje ciągle na jednej zmiennej, i w niej podmienia, bo w tablicy zwracałoby ciągle nową tabelkę, a tak ciągle pracuje na jednym pliku
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.