Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]eval do szablonów - czy dobry pomysł?
Evinek
post
Post #1





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

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


Przeglądałem różne skrypty for w poszukiwaniu dobrych rozwiązań. Padło na eval() z MyBB.
Zrobiłem taki kod:

#template.php (proszę nie krytykować, że to nie nadaje się na OOP ponieważ później tą klasę będę rozwijał)
  1. <?php
  2. class template{
  3. function parse($file){
  4. return file_get_contents('./html/'.$file.'.php');
  5. }
  6. }
  7. ?>

#index.php
  1. <?php
  2. include('./template.php');
  3. $template = new template;
  4. eval("\$test = \"".$template->parse('index')."\";");
  5. echo $test;
  6. ?>


Czy takie rozwiązanie jest pod względem optymalności i bezpieczeństwa dobre?
Jeśli są jakieś zagrożenia to jakie?

Jak testowałem 51 szablonów w jednym skrypcie, szablony:
  1. Test: {$ttt}<br />
  2. <ul>
  3. {$linki}
  4. </ul>
Użyte jeden raz
  1. <li>$links</li>
Użyte 50 razy

, to czas na localhost (z pendrive) dawał: około 0.05s.
a na ugu: 0.0009s.

Przy większych plikach pewnie czas się zwiększy dlatego pytam was w tej sprawie.
Pewnie będę musiał też cachować te szablony, tylko pytanie jak?
Np. szablon header będzie posiadał zmienną {$login} więc tak czy siak będzie musiało przejść przez eval. Macie na to rady?


Z góry dziękuje i pozdrawiam, Paweł.
Go to the top of the page
+Quote Post

Posty w temacie


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: 19.08.2025 - 23:55