Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Szablony - oddzielenie PHP od HTML
Evinek
post
Post #1





Grupa: Zarejestrowani
Postów: 280
Pomógł: 46
Dołączył: 23.03.2010

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


Witam.

Otóż ciągle głowię się, czytam i nic nie mogę wymyślić aby było dobrze. Zawsze gdy chce stworzyć jakiś CMS to boje się, że gdy będę zmieniał szablon będę grzebał we wszystkich plikach bo tam było na przykład menu robione (w pętli) a tam to itp.

Na początku myślałem o systemie szablonów - własny, tylko podstawowe funkcje. Okazało się jednak, że wolę pisać czysto w PHP niż tworzyć drugi język do obsługi szablonów.
Później doszło MVC - rozumiem o co chodzi lecz z praktyką już trudniej.

Więc do was pytanie, jak wy robicie takie strony? Poprzez Smarty? czy może jakiś własny sposób.

Zależy mi aby oddzielić PHP od HTML. Czyli: najpierw zapytania, logowanie itp. a na koniec tworzenie szablonu (sklejanie) i wyświetlenie tylko jak to zrobić.
Macie jakieś rady?
Męczy mnie też dzielenie plików na 15 innych. Menu, header(w header: menu), stopka.
Proszę o pomoc bo już nie wytrzymuje z tym...

Pewnie nie jasno coś napisałem. Jak coś proszę pisać.

Pozdrawiam Paweł.

Ten post edytował Evinek 19.02.2012, 15:07:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat
Zależało mi na oddzieleniu właśnie php od html, bo np. webmaster znać go nie musi.


Nie obraź się, ale ten argument jest z d.upy wyjęty (IMG:style_emoticons/default/wink.gif) już to komuś tłumaczyłem, ale mogę przypomnieć. Co z tego że webmaster php znać nie musi, skoro smarty, twig, phptal, opt i inne narzucają jakąś swoją składnie? Lepiej żeby właśnie znał php i szablony były robione w php, dzięki temu nie będzie musiał się uczyć jakichś nowych rzeczy, bo w nowej wersji templatek coś się zmieniło. Dlatego ten argument jest beznadziejny. Lepiej znać jedno php, niż dziesiątki składni różnych szablonów, które znacznie różnią się od siebie..

Co do tematu. Jak chcesz bawić się w zmianę różnych szablonów "jednym przyciskiem", to IMO musisz zdefiniować jakieś podstawowe elementy, czy podstawowe styli w css. Co z kolei moim zdaniem jest niepotrzebne i robi straszny śmietnik, czego przykładem jest wordpress i masę zbędnych styli które narzuca, wraz ze swoimi wtyczkami.

Można też zrobić by to na takiej zasadzie, że nie ma jakichś narzuconych styli w css, jak i nie ma narzuconej struktury. Problemem było by to że każdy szablon, musiałby zawierać takie same pliki, dla poszczególnych podstron, czy innych elementów. I raczej sporo kodu html by ci się powielało, ale to jest kod html, i raczej można by przymknąć na to oko. A dzięki temu z każdą zmianą szablonu, mógłbyś zmieniać nie tylko grafikę czy style, ale całą strukturę dokumentu html, gdzie strona mogłaby wyglądać o 180 stopni inaczej niż w przypadku poprzedniego szablonu, czego nie da się osiągnąć w pierwszym sposobie, ponieważ masz już jakieś narzucone style, czy strukturę html.

Osobiście wykorzystuje drugi sposób, tzn mam zaimplementowany, ale póki co nie miałem jeszcze potrzeby zmiany szablonu "jednym przyciskiem". Także jakaś opcja jest, ale nie jest jakoś specjalnie intensywnie wykorzystywana.
Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(by_ikar @ 20.02.2012, 11:01:08 ) *
Nie obraź się, ale ten argument jest z d.upy wyjęty (IMG:style_emoticons/default/wink.gif) już to komuś tłumaczyłem, ale mogę przypomnieć. Co z tego że webmaster php znać nie musi, skoro smarty, twig, phptal, opt i inne narzucają jakąś swoją składnie? Lepiej żeby właśnie znał php i szablony były robione w php, dzięki temu nie będzie musiał się uczyć jakichś nowych rzeczy, bo w nowej wersji templatek coś się zmieniło. Dlatego ten argument jest beznadziejny. Lepiej znać jedno php, niż dziesiątki składni różnych szablonów, które znacznie różnią się od siebie..


Tylko że ja nie narzucam jakiejś pro składni z kosmosu, a jedynie proste znaczniki {nav}, {aside}, {footer} i programista php decyduje o tym co ma się pod nimi znajdować, webmaster dba jedynie o wygląd/prezentacje a nie mechanizm działania.
Go to the top of the page
+Quote Post
sazian
post
Post #4





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Cytat(!*! @ 20.02.2012, 13:36:14 ) *
Tylko że ja nie narzucam jakiejś pro składni z kosmosu, a jedynie proste znaczniki {nav}, {aside}, {footer} i programista php decyduje o tym co ma się pod nimi znajdować, webmaster dba jedynie o wygląd/prezentacje a nie mechanizm działania.

równie dobrze można dać <?=$nav;?> <?=$aside;?> <?=$footer;?>
i nie muszę stosować dodatkowych funkcji

co do klasy, ja napisałem własną
najważniejsza część
  1. public function render()
  2. {
  3. $result = '';
  4.  
  5. if(!empty($this->args))
  6. {
  7. extract($this->args);
  8. }
  9. include $file;
  10. $result = ob_get_contents();
  11. if($return)
  12. {
  13. return $result;
  14. }
  15.  
  16. }


wystarczy rozbódować wedle własnych potrzeb
Go to the top of the page
+Quote Post

Posty w temacie
- Evinek   Szablony - oddzielenie PHP od HTML   19.02.2012, 15:06:48
- - i-skrypty.pl   ja korzystam ze smarty i nie narzekam. Jeśli chodz...   19.02.2012, 15:27:46
- - bzeebzee   Proponuje ci zapoznanie się z którymś z framework...   19.02.2012, 16:56:44
- - rafio   Cytat(Evinek @ 19.02.2012, 15:06:48 )...   19.02.2012, 17:48:17
- - ShadowD   Ja polecam framework - sam miałem kilka interpreta...   20.02.2012, 00:15:19
- - !*!   W swoim FW, opartym o MVC zrobiłem mini system sza...   20.02.2012, 09:32:12
- - by_ikar   CytatZależało mi na oddzieleniu właśnie php od htm...   20.02.2012, 11:01:08
|- - !*!   Cytat(by_ikar @ 20.02.2012, 11:01:08 ...   20.02.2012, 13:36:14
|- - sazian   Cytat(!*! @ 20.02.2012, 13:36...   20.02.2012, 20:46:19
|- - by_ikar   Cytat(!*! @ 20.02.2012, 13:36...   21.02.2012, 08:46:10
- - Evinek   A macie może jakiś przykładowy kod? Klasę czy coś?...   20.02.2012, 14:59:55
- - wiewiorek   Szablony nic nie dają i niczego nie ułatwiają.   20.02.2012, 15:24:12
- - !*!   CytatA jak radzisz sobie z tablicami przekazanymi ...   21.02.2012, 10:48:31
- - by_ikar   Cytat{nav[index]} lub samo {nav} może być już elem...   22.02.2012, 12:45:44
- - !*!   by_ikar - każdy z Nas będzie miał swoje argumenty ...   22.02.2012, 14:08:45
- - by_ikar   CytatZałóżmy że robisz serwis ala jogger.pl, każdy...   22.02.2012, 15:56:01
- - !*!   Albo rybki, albo akwarium, nie uważam żeby miało t...   24.02.2012, 14:24:47
- - by_ikar   Z tym is_mvc to trochę poleciałeś po bandzie.. MVC...   25.02.2012, 15:58:39


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: 5.10.2025 - 05:22