Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP Template, Includowanie pliku
MMySlime
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 1
Dołączył: 22.08.2012

Ostrzeżenie: (0%)
-----


Witajcie,
ogólnie mówiąc mam problem myślowy.
System jest zrobiony na podstawie klasy użytkownika shinuexx: [klasa] Własna klasa do obsługi szablonów
Mam na myśli podmienianie {varów} na gotowy tekst (chyba dobrze to wyjaśniłem)
Jak by tu zrobić aby do mojego systemu szablonów dołączyć includowanie pliku?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zegarek84
post
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


np. w ten sposób:
  1. <?php
  2. namespace Z;
  3.  
  4. /**
  5.  * Description of \Z\View
  6.  *
  7.  * @author zegarek84
  8.  */
  9. class View {
  10. public $sPathFile='';
  11. public $aVar;
  12.  
  13. public function __construct() {
  14. }
  15. public function setTemplateFile($sPathFile) {
  16. $this->sPathFile = $sPathFile;
  17. }
  18. public function set($key, $var){
  19. $this->aVar[$key] = $var;
  20. }
  21. public function get($key){
  22. if(array_key_exists($key, $this->aVar))
  23. return $this->aVar[$key];
  24. return NULL;
  25. }
  26.  
  27. public function render(){
  28. if(!$this->sPathFile)
  29. return '';
  30. include $this->sPathFile;
  31. return $s;
  32. }
  33. }

to jest najprostszy przykład - zawsze możesz przejrzeć źródła jakiego kolwiek framworka - tutaj jest wykorzystany fakt, iż sam PHP jest świetnym systemem szablonów...
zawsze to możesz rozszerzyć... w inkludowanym pliku pobierasz wartość przez $this->get('zmienna'), jeśli nie istnieje zwróci Ci NULL, a NULL przy echo to pusty ciąg więc nie będzie błędów... niby można wyeksportować tablicę do zwykłych zmiennych w danym kontekście ale nie polecam tego...

Ten post edytował zegarek84 3.11.2012, 16:13:29
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 22:59