Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parser szablonów
seba_bwo
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 3
Dołączył: 7.03.2009

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


Proszę o ocenę oraz o to jak mogę ulepszyć moje "dziecko", komentarze powinny wystarczyć.
  1. <?php
  2. #sprawdzane warunków:
  3. # {if zalogowany}Lol{/if} => if($zalogowany){return "Lol";}
  4. preg_match_all("@{if (!|)(.*)}(.*){/if}@Usi",$strona,  $out);
  5. foreach($out[2] as $in=>$val)
  6. {
  7.     if($out[1][$in]=='!')
  8.     {
  9.         #zamiana spełnionej negacji na wartość pola
  10.         if(!$val){$strona=str_replace($out[0][$in], $out[3][$in], $strona);}
  11.     }
  12.     else
  13.     {
  14.         #zamiana warunku na wartość pola
  15.         if($val){$strona=str_replace($out[0][$in], $out[3][$in], $strona);}
  16.     }
  17. }
  18.  
  19. #usuwanie warunków nie spełnionych
  20. $strona=preg_replace('@{if (!|)(.*)}(.*){/if}@Usi', '', $strona);
  21.  
  22.  
  23. # zamiana {var zmienna} na $zmienna
  24. preg_match_all("@{var (.*)}@Usi",$strona,  $out);
  25. foreach($out[0] as $in=>$val)
  26. {
  27.     $name=$out[1][$in];
  28.     $strona=str_replace($val,$name, $strona);
  29. }
  30. #
  31.  
  32. # wstawienie pętli dla tablicy XYZ w miejscuy {loop XYZ} >tu akcja< {/loop}
  33. # {1} w html odpowiada elementowi $XYZ[1]
  34. # indexy puki co tylko numeryczne
  35. preg_match_all("@{loop (.*)}(.*){/loop}@Usi",$strona,  $out);
  36. foreach($out[1] as $in=>$val)
  37. {
  38.     #tymczasowa zmienna
  39.     $redesign="af_$val";
  40.    
  41.     #tablica z mozliwosciami podmiany (nie udawało mi się bez tej tablicy :( )
  42.     $a=array('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}');
  43.         foreach($val as $value)
  44.         {
  45.             #zamiana elementów z tablicy $a na elementy z zapętlanej tablicy
  46.             $redesign.=str_replace($a, $value, $out[2][$in]);    
  47.         }
  48.        
  49.     #zamiana pętli html na wygenerowany kod
  50.     $strona= str_replace($out[0][$in], $redesign, $strona);
  51. }
  52. ?>


Ten post edytował seba_bwo 4.04.2009, 10:04:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pejott
post
Post #2





Grupa: Zarejestrowani
Postów: 81
Pomógł: 4
Dołączył: 15.02.2009

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


Po co wynajdować koło na nowo ?
Jest smarty, jest OPT, mimo że nie przepadam za tego typu systemami szablonów, to jeśli potrzebujesz to lepiej z nich skorzystać.

Ja stosuje natywne PHP w template'ach i uważam, że to chyba najlepsze wyjście.
Jeśli już będziesz wybierał, to ja bym postawił na OPT.

Ten post edytował pejott 5.04.2009, 11:26:46
Go to the top of the page
+Quote Post
seba_bwo
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 3
Dołączył: 7.03.2009

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


Cytat(pejott @ 5.04.2009, 12:24:49 ) *
Po co wynajdować koło na nowo ?
Jest smarty, jest OPT, mimo że nie przepadam za tego typu systemami szablonów, to jeśli potrzebujesz to lepiej z nich skorzystać.

Ja stosuje natywne PHP w template'ach i uważam, że to chyba najlepsze wyjście.
Jeśli już będziesz wybierał, to ja bym postawił na OPT.


Jeżeli pisanie autorskiego systemu szablonów uważasz za zbędną pracę (wynajdowanie koła na nowo) to pewnie to samo myślisz o pisaniu autorskich systemów CMS i innych w tym stylu. Dlatego uważam twoją wypowiedź za zbędną. Czytałem już wcześniej stronę zyx'a a co do oceny to prosiłbym bardziej od strony technicznej.
Go to the top of the page
+Quote Post
pejott
post
Post #4





Grupa: Zarejestrowani
Postów: 81
Pomógł: 4
Dołączył: 15.02.2009

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


Cytat(seba_bwo @ 5.04.2009, 14:29:15 ) *
Dlatego uważam twoją wypowiedź za zbędną


Twój temat tak samo, zresztą chciałem pomóc, więc nie mów co jest niepotrzebne, k ? ;/

Za rok, dwa, zmienisz zdanie, jak będziesz miał spory, autorski projekt. Chyba nie będziesz pisał wszystkiego od zera ?
Teraz się uczysz, okay. Ale nie krytykuj ludzi, tylko dlatego, że mają inne podejście do pracy.
Dla mnie liczy się koszt i czas produkcji.

Pozdrawiam.
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: 22.08.2025 - 16:07