PHP Template, Includowanie pliku |
PHP Template, Includowanie pliku |
3.11.2012, 14:41:12
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? |
|
|
3.11.2012, 15:56:44
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) |
Olać tego typu rozwiązania (gotowe autorskie klasy XYZ) i zastosować SMARTY, Twig lub PHPTal
|
|
|
3.11.2012, 16:11:24
Post
#3
|
|
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:
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 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
3.11.2012, 16:51:03
Post
#4
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 1 Dołączył: 22.08.2012 Ostrzeżenie: (0%) |
@CuteOne: Ja napisałem swój system szablonów, tylko zaczerpnąłem z szablonu XYZ sposób na zmienianie {name} w Name
@zegarek84: Nie do końca o to mi chodziło, raczej o funkcję add_file która by dodawała do pliku przetworzoną zawartość pliku .php, no chyba że nie rozumiem idei działania ob_start etc. -- EDIT -- Zegarku zwracam honor, po dłuższym kombinowaniu wypróbowałem z buforowaniem i wszystko działa pięknie, dzięki wielkie za pomoc Ten post edytował MMySlime 3.11.2012, 17:42:36 |
|
|
3.11.2012, 18:50:34
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) |
@zegarek84: Nie do końca o to mi chodziło, raczej o funkcję add_file która by dodawała do pliku przetworzoną zawartość pliku .php, no chyba że nie rozumiem idei działania ob_start etc. pomijając ob_... to co do przetworzonej zawartości pliku np. w Zend z widoków była jakaś klasa, która na strumieniu odczytywała pliki .phtml (w zasadzie to są pliki .PHP) i np. zamieniała znaczniki <?= ... ?> na <?php echo ... ?> gdyby czasem na serwerze było wyłączone <?= ?> - nie chcę wprowadzać w błąd, to daaaawno temu było jak z grubsza przeglądałem źródła... na to liczyłem, że sprawdzisz, gdyż nie chciało mi się tłumaczyć jak to dokładnie działa... samo buforowanie ob_.... może też służyć dla przykładu celem kompresji zawartości przez samo PHP i wiele więcej gdyż można tam podpiąć callbacka chyba na ob_start - nie chce mi się do manuala zaglądać ;p... zastosowań może być wiele gdyż to buforowanie można zagnieżdżać - wiem brzmi to nie logicznie ale jednak... swoją drogą raz pisałem mini framwork ale tylko dlatego, że miałem zakaz stosowania jakiegokolwiek, a ponieważ to co miałem zrobić było już gotowe ale na zendzie to szybko se przeportowałem i na bardzo prostej zasadzie porobiłem kontrolery - a ten widok choć banalny to znacznie można go rozbudować i wykorzystać jako helpera widoku, jako layout itd.... fajnie jeszcze wygląda idea programowania zdarzeniowego z "odwróconym sterowaniem" tzn. gdy strona gotowa to ją wyświetlić a reszta może robić się dalej jak np. jakieś skomplikowane operacje na które nie koniecznie musimy czekać, jednak przy prostych stronkach to nie praktyczne gdyż komplikuje kod i sprawia, iż jest mniej czytelny... w każdym bądź razie uważam, iż warto dłubać gdyż w ten sposób można poznać wiele ciekawych mechanizmów w dowolnych językach programowania - język to tylko narzędzie... heh, jak znajdę czas to se poćwiczę z C++ boost::asio ;] -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
Wersja Lo-Fi | Aktualny czas: 17.04.2024 - 19:13 |