Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Własny system szablonów.
DirectPL
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 2
Dołączył: 5.09.2008

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


Witam.
Jestem początkującym programistą PHP. Obecnie pracuje nad pierwszym większym skryptem - sklepu. Skrypt oparłem o programowanie obiektowe.

Obecnie jest na etapie tworzenia szablonu. Nie interesują mnie gotowe rozwiązania.

Jaki jest najprostszy sposób na oddzielenie kodu php od htmla?

Mianowicie. Jakim sposobem można zrobić stronę, która po wywołaniu pliku index.php:
1) ładuje skrypt któremu podaje odpowiednie argumenty.
2) skrypt ładuje sobie szablon w i zależności od obszaru ładuje tam dane.
3) wyświetla stronę.

Stronę www.sk2.pl/odpowiedz znam, ale nie wiem czego dokładnie szukać.

Chcę się dowiedzieć jak to można stworzyć i jakich materiałów mam dokładnie szukać.

Pozdrawiam,
DirectPL
Go to the top of the page
+Quote Post
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


W systemach szablonów chodzi bardziej, by odseparować obróbkę danych od sposobu ich wyświetlania. W wielu obecnych frameworkach szablony pisze się właśnie w PHP. Skoro chcesz sposób najprostszy, to skorzystaj z gotowca, a nie bierz się za pisanie czegoś własnego, szczególnie z autorską składnią szablonów. Z doświadczenia powiem Ci, że wygląda to tak:

1. Jak będziesz pisać własny system ot tak, najprawdopodobniej skończysz na zrobieniu kalki niektórych struktur kontrolnych z PHP i najprostszego osadzania zmiennych. W tym kierunku iść nie ma sensu, tylko sobie zamykasz możliwości i już lepiej będzie, jak szablony będziesz pisać w czystym PHP.
2. Jeśli zaś pokusisz się o wymyślenie języka, który w przeciwieństwie do PHP, jest dedykowany do prostej i eleganckiej obróbki (X)HTML-a i osadzania w nim danych ze skryptu, to o swoim sklepie musisz na długi czas zapomnieć smile.gif. Napisanie kompilatora prawdopodobnie jest trudniejszym zadaniem.

Z gotowych rozwiązań:
1. Nie bierz się za Smarty'ego. Projekt jest przestarzały i obecnie w zasadzie w ogóle się nie rozwija. Ponadto moim zdaniem sporo elementów języka jest tak zaprojektowanych, że zamiast ułatwiać, utrudniają życie. Wystarczy np. popatrzeć, ilu ludzi ma problemy ze zrobieniem zagnieżdżonych list, a to przecież jest jedna z bardziej elementarnych rzeczy, które się w szablonach osadza.
2. Z rozwiązań bazujących na czystym PHP możesz sprawdzić Savant.
3. Poleciłbym Ci mój system, Open Power Template, lecz nowa wersja wciąż znajduje się w fazie rozwojowej i używanie jej do czegokolwiek innego, niż testy, to wielkie ryzyko. Stara wersja natomiast ma trochę błędów projektowych i niedorzeczności.
4. Sprawdź sobie PHP-TAL.


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
DirectPL
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 2
Dołączył: 5.09.2008

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


Dzięki za odpowiedź.

Ostatnio nad tym myślałem i zrobię to za pomocą oddzielnej klasy, której funkcje będę wywoływał w themie.

Myślę, że będę miał wstępną wersję kodu na początku listopada ;-)
Go to the top of the page
+Quote Post
mrok
post
Post #4





Grupa: Zarejestrowani
Postów: 258
Pomógł: 17
Dołączył: 22.05.2007

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


Cytat
1. Nie bierz się za Smarty'ego. Projekt jest przestarzały i obecnie w zasadzie w ogóle się nie rozwija

to polecam zajrzec na strone http://www.smarty.net/ i zobaczyc jak sie nie rozwija winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
Zyx
post
Post #5





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Ooo, faktycznie jest to postęp, ale zauważ, że ta wiadomość ma dopiero 4 dni smile.gif. Natomiast widząc od 2003 roku głównie newsy "Smarty 2.6.x" released z poprawkami jednego, dwóch błędów, ciężko mi to było nazwać dynamicznym rozwojem, zwłaszcza że mimo upływu 4 lat ten projekt wciąż nie został przeportowany na PHP5.

Z dostępnych materiałów wynika, że od strony filozofii użycia nie będzie w tym specjalnej rewolucji - dalej te same klamerki, z tymi samymi kopiami struktur kontrolnych i wyrażeń PHP, a z głównych zmian składniowych dochodzi możliwość pisania szablonów w czystym PHP oraz obecność parsera leksykalnego do kontroli składni wyrażeń (notabene rzecz, którą OPT posiada od trzech lat).


--------------------
Specjalista ds. głupich i beznadziejnych, Zyx
Nowości wydawnicze: Open Power Collector 3.0.1.0 | Open Power Autoloader 3.0.3.0
Go to the top of the page
+Quote Post
php programmer
post
Post #6





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


najprościej, tworzyc pliki html np
  1. <b>{tytul}</b>
  2. <br>
  3. {tresc}


a w php
  1. <?php
  2. $tablica['{tytul}'] = 'Jakis tytuł';
  3. $tablica['{tresc}'] = 'Bla blabla';
  4.  
  5. $html = file_get_contents('twoj_html');
  6. foreach ($tablica as $nazwa=>$wartosc){
  7. $html = str_replace($nazwa,$wartosc,$html);
  8. }
  9.  
  10. echo $html;
  11. ?>


Ten post edytował php programmer 21.10.2008, 12:26:29
Go to the top of the page
+Quote Post

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: 22.08.2025 - 11:26