Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny]SMARTY kompilacja
Forum PHP.pl > Forum > PHP > Frameworki
sebek222
Witam, aktualnie pracuje z projektem w który wykorzystuje smarty do szablonów, nie mam zbyt wielkiego doświadczenia z tą biblioteką, mam następujący problem:

Jak nadpiszę plik tpl, nie muszę w nim nawet nic zmieniać, to strona przestaje działać, nie wiem w czym jest problem, czy smarty wymaga jakiegoś przekompilowania kodu na nowo ? Czy moze jest to jakieś zabezpieczenie md5 plików ?

Proszę o pomoc, pozdrawiam.
bigZbig
Domyślnie po każdej zmianie w pliku (wystarczy zmiana daty modyfikacji) szablon smarty jest "compilowany" do postaci zwykłego php i w takiej formie zapisywany w katalogu "templates_c". Położenie tego katalogu zależy od konfiguracji w danym projekcie. Być może smarty nie może zapisywać w tym katalogu i dlatego strona się sypie. Warto by włączyć wyświetlanie błędów i jeżeli moje przypuszczenie się sprawdzi to wystarczy zmienić uprawnienia dotyczące zapisu dla wyżej wspomnianego katalogu.
sazian
warto by zrezygnować ze smarka
zegarek84
sorki za offtopick ale trochę chciałbym się przychylić ku postowi @sazian i jednocześnie trochę nie mogę zrozumieć powstawanie systemów szablonów w PHP skoro właśnie samo PHP jest systemem szablonów - dobry dowód i przykład choćby ZF... a tam gdzie z niego musiałem zrezygnować chcący oddzielić logikę od widoku nie wiele trzeba dopisać (zaledwie ob_start, include, ob_get_contents i ob_end_clean czy w ten deseń) i już ma się oddzieloną logikę od widoków... po co tworzyć koło na nowo w PHP?? co innego jak powstają projekty typu POCO gdzie jest adopsowana w widoku składnia jsp/php a co innego nie potrzebne nakładki...
bigZbig
Po co Smarty, po co Twig w Symfony, a po co wszelkiego rodzaju ORM-y skoro jest PDO, a po co PDO skoro było już rozszerzenie do php Mysql a nawet Mysqli?

Ja twierdzę, że składnia Smarty jest po prostu wygodniejsza od zwykłego PHP, ale to oczywiście dla tych, którzy już znają Smarty, poza tym system szablonów jest czymś więcej niż zwykłym zastępowaniem zmiennych. Przykładowo Smarty czy Twig oferują choćby możliwośc nadpisywania bloków kodu. Nawet Zend View mimo, że wykorzystuje natywną składnię php jest wzbogacony o funkcjonalności typu cache czy encapsulacja zmiennych.

Niektórzy uważają, że system szablonów powinien ograniczać możliwości użycia dowolnego kodu PHP wewnątrz szablonów po to aby zapobiec mieszaniu wartstwy logiki z warstwą widoku. Można to załatwić oczywiście konwencją, ale metody publiczne czy prywatne też można było załatwić w ten sposób a mimo to twórczy PHP zdecydowali się na ich wprowadzenie.

Ja osobiście jestem większym entuzjastą wszelkiego rodzaju szablonów i widzę większy sens w ich używaniu niż jakiegokolwiek ORM-a, ale to już temat na inną dyskusję.

@sazian - rozumiem, że Twoja rada dla ludzi próbujących ratować swoje małżeństwo brzmiała by "rozwód" - czasami nie tak łatwo zrezygnować z systemu szabonów zwłaszcza w rozwijanym od lat projekcie, którego nie jesteśmy pierwszymi autorami.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.