Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Surowe szablony, zapraszam do dyskusji
R4D3K
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 12
Dołączył: 16.03.2007

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


Witam, chciałbym wszystkich zainteresowanych koderów zaprosić do dyskusji oraz uchylenia rąbka swojego fachu. Otóż odkąd zacząłem programować według wzorca MVC zacząłem myśleć o systemie szablonów. Na początku stworzyłem własną klasę, bazująca na wyrażeniach regularnych pcre, która parsowała dokument html w poszukiwaniu zmiennych,bloków itp i je podmieniała. Później wpadłem na odkrywczy fakt że po co odkrywać koło na nowo i zacząłem stosować smarty, w między czasie liznąłem trochę OPT. Jednak pewnego pięknego dnia natrafiłem na artykuł Pana W.Gajdy:
http://www.internetmaker.pl/artykul/2920,1...rezentacji.html
, otworzyłem swoje szablony i rzeczywiście okazało się, że powrót do "czystego PHP" to jest to !
Tylko według tej koncepcji znacznie uprościłem swój kod:
  1. <?php
  2. class main {
  3.    protected $model;
  4.    protected $zalogowany;
  5.    protected $leftcolumn;
  6.    protected $rightcolumn;
  7.    protected $cache_time=3600;
  8.    private $przykladowy_tekst;
  9.  
  10.    public function __construct() {
  11.  
  12.    }
  13.  
  14.    public function cache($template) {
  15.        if ((file_exists('./template_c/'.$template))&&(fileatime('./template_c/'.$template)>(time()-$this->cache_time))) {
  16.            $page=file_get_contents('./template_c/'.$template);
  17.        }
  18.        else {
  19.            ob_start();
  20.            include('./template/'.$template);
  21.            $page=ob_get_contents();
  22.            file_put_contents('./template_c/'.$template, $page);
  23.            ob_clean();
  24.        }
  25.        return $page;
  26.    }
  27.  
  28.    public function action() {
  29.        $this->przykladowy_tekst='Witaj świecie !';
  30.        echo $this->cache('main.php');
  31.    }
  32. }
  33. ?>

i właśnie tutaj stanąłem, bo nie wiem jak i czy wogle dalej dobrze myślę...otóż:
1.) jak tutaj zrobić dynamicznie ładowaną treść ? dać w sekcji <?php include($x); ?> i w zależności od danego żądania odpowiednio nadawać wartość $x ?
2.) Czy obsługę tak prostego systemu szablonów pisać w osobnej klasie i przesyłać dane metodą assign jak w smartym ? czy lepiej od razu zrobić to w kontrolerze 1-2 metody które ładują szablon cachują i tyle,a sam system szablonów to po prostu zapisane pliki .php z kodem HTML i wstawkami jak w tym artykule ?

Prosiłbym o jakiś przykładowy kod jeśli ktoś zechce się z nim podzielić

Ten post edytował R4D3K 13.07.2009, 21:37:58
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 22:37