Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Klasa z szablopnami zwaraca mase E_NOTICE. Jak je wyeliminowac?
Forum PHP.pl > Forum > PHP
kukix
Witam.

Analizuje sobie listę moich błędów E_NOTICE i widzę tutaj sporo błędów zwracanych w klasie szablonów. Chodzi o engine z webcity


Na stronie głównej wyrzuca mi tyle Notice'ów:
Cytat
Notice: Undefined index: TITLE in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 1

Notice: Undefined index: ALL_IN_ONE in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 16

Notice: Undefined index: DODANO_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 17

Notice: Undefined index: ZALOGOWANY_EMAIL in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 26

Notice: Undefined index: P_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36

Notice: Undefined index: Z_form_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36

Notice: Undefined index: D4_form_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36
`
Notice: Undefined index: M_form_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36

Notice: Undefined index: PM_form_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36

Notice: Undefined index: ID_form_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36

Notice: Undefined index: S_form_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36

Notice: Undefined index: S_var in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 36

Notice: Undefined index: MIN in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 137

Notice: Undefined index: MAX in /home/domains/public_html/functions/functions_templates.php(88) : eval()'d code on line 137


Po małej analizie okazało sie, że jeżeli w szablonie są użyte znaczniki np {ID_form} a w kodzie php nie jest dany znacznik zadeklarowany w taki sposób: $tpl -> assign_block('ID_form',$id); to wtedy wyrzuca ten notice.

Próbowałem poprawić ten mechanizm szablonów, żeby nie wyrzucał w takim przypadku Notic'ów jednak nie udało mi się tego zrobic. Zbyt małe mam mozliwości, żeby ingerować w tą klase.

Cały kod do wglądu tutaj: http://ideone.com/kiFrg

Będe bardzo wdzięczny za wszelkie wypowiedzi.
Crozin
1. Co to za durny pomysł by korzystać z artykułu napisanego pod/w czasach PHP4.
2. Co to za durny pomysł by korzystać z evala?
3. Co to za durny pomysł by korzystać z tak prymitywnego mechanizmu szablonów, który stwarza jedynie ograniczenia zamiast ułatwiać życie?
kukix
Cytat(Crozin @ 27.01.2012, 19:49:33 ) *
1. Co to za durny pomysł by korzystać z artykułu napisanego pod/w czasach PHP4.
2. Co to za durny pomysł by korzystać z evala?
3. Co to za durny pomysł by korzystać z tak prymitywnego mechanizmu szablonów, który stwarza jedynie ograniczenia zamiast ułatwiać życie?



Jestem zadowolony z tego mechanizmu szablonów. Przyzwyczaiłem się do niego i odpowiada mi ta funkcjonalność.

Czy jest szansa, żeby ten mechanizm szablonów udoskonalić?
Kshyhoo
Cytat
Dołączył: 1.09.2002

Zajmujesz się PHP tyle czasu a nie wiesz, czym są błędy E_NOTICE?
ShadowD
Skoro jesteś świadom używania czegoś napisanego dla php4 to wyłącz notatki i tyle.
kukix
Cytat(Kshyhoo @ 27.01.2012, 20:56:36 ) *
Zajmujesz się PHP tyle czasu a nie wiesz, czym są błędy E_NOTICE?



Konto należało do mojego brata..teraz korzystam z niego..

Poczytałem troszeczke o tym eval i rzeczywiście klasa z szablonem do wymiany.. Zawsze używałem ten system szablonów, myślałem, że jest ok, nie analizował jego budowy. Napisał go wyddaje mi sie, że dobry programista, dlatego nigdy nie kwestionowałem poprawności tego kodu.. aż do czasu przeczytania artykułu na nospor.pl..
waldemi
Też kedyś korzystałem z tego systemu szablonów ale dałem sobie z nim spokój. Ten system ma w kodzie ukryty przez autora błąd (zresztą sam autor o tym pisze w kursie) - konkretnie w instrukcji IF. Ponieważ sam nie dałem rady się z tym uporać, napisałem do autora z prośbą o pomoc. Odpisał że kurs był pisany już bardzo dawno i sam już nie pamięta o co w nim chodzi. Poradził mi żebym skorzystał z czegoś nowszego, np. OPT. Jednak ja przesiadłem się na Smarty 3 i wcale tego nie żałuję.
Uriziel01
No niestety ostatnio cała masa ludzi czyta poradniki/tutoriale pisane kilka lat wstecz i potem mają problemy bo połowa elementów generuje NOTICE lub DEPRECIATED. Moim zdaniem Smarty jest bardzo toporne, skorzystałem przy jednym projekcie ot tak dla ciekawości i kompletnie mnie nie przekonało, nie potrzebuje aż takich cudów w systemie szablonów, gdyż jak sama nazwa wskazuje jest to tylko system szablonów biggrin.gif Ja osobiście polecam na przykład RainTPL, jest bardzo lekki, prosty w implementacji i z pewnością wystarczający do typowych rozwiązań.
kukix
Cytat(Uriziel01 @ 27.01.2012, 22:57:22 ) *
No niestety ostatnio cała masa ludzi czyta poradniki/tutoriale pisane kilka lat wstecz i potem mają problemy bo połowa elementów generuje NOTICE lub DEPRECIATED. Moim zdaniem Smarty jest bardzo toporne, skorzystałem przy jednym projekcie ot tak dla ciekawości i kompletnie mnie nie przekonało, nie potrzebuje aż takich cudów w systemie szablonów, gdyż jak sama nazwa wskazuje jest to tylko system szablonów biggrin.gif Ja osobiście polecam na przykład RainTPL, jest bardzo lekki, prosty w implementacji i z pewnością wystarczający do typowych rozwiązań.



RainTPL.. chyba wkoncu coś dla mnie Lkingsmiley.png
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.