Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]szablon z pliku php
sazian
post
Post #1





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

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


wpadłem na pewien sposób tworzenia szablonów i chciałbym wiedzieć co o tym myślicie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
oczywiście to co tu prezentuję to wersja "robocza" tylko taki zarys (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

plik główny
  1. <?php
  2. class tpl {
  3.    public $strona;
  4.    public function __construct($file,$parm=array()){
  5. foreach($parm as $key =>$value)
  6. $$key=$value;
  7. include('template/'.$file.'.php');
  8. $this->strona= $result;
  9.    }
  10. }
  11. $tpl = new tpl('head',array('tytul'=>'to jest typyl strony z szablonu','tresc'=>'a to jest tresc strony z szablonu'));
  12. echo $tpl->strona;
  13. ?>
szablon (template/head.php)
  1. <?php
  2. $result= <<<HTML
  3. <html>
  4. <head>
  5.  
  6. <title> $tytul </title>
  7. </head>
  8.  
  9.     <body>
  10.   $tresc
  11.     </body>
  12.  
  13. </html>
  14. HTML;
  15.  
  16. ?>
mam nadzieję że wszystko jest jasne
Powód edycji: [erix] przeniosłem
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


Bardzo dziwnych twierdzeń się doczytałeś. Czytaj to, co jest napisane, a nie dorabiasz jakieś dziwne teorie, bo nic takiego nie napisałem. Po prostu wiem, jak działają systemy szablonów i w tych wydajnych żadna tego typu alokacja nie zachodzi sama z siebie, bo niby co tam by miało być trzymane? Cały "algorytm", jaki jest tam wykonywany to:

Kod
$dane['foo'] = 'tralala';
$dane['bar'] = 'xyz';
// itd...

require('./templates/szablon.php');


A w systemach z dodatkowym językiem require jest dodatkowo obudowany jednym ifem, który sprawdza czy szablon nie uległ modyfikacji i w razie potrzeby dopiero ładuje kompilator, który może już alokować dużo pamięci i mieć skomplikowane algorytmy. Oczywiście, jest kwestia obsługi błędów, sposobu jej realizacji, ale tu też nie ma specjalnie skomplikowanych rzeczy - trochę dodatkowych warunków i ewentualnie doładowywanie i wykonywanie bardziej skomplikowanego kodu, gdy wystąpi błąd. Kombinowanie z innym rozstawieniem warunków, szukanie podwójnie wykonywanych testów... - to już są małe detale. De facto wszystko redukuje się do stopnia złożoności interfejsu i właśnie objętości podstawowego kodu, który trzeba załadować. PHP też potrzebuje czasu na jego przeparsowanie, a jeśli podczas wykonywania nie ma właściwie nic, co mogłoby kod spowalniać, czas parsowania zaczyna być decydujący. I żeby nie było, kiedyś, bawiąc się w benchmarki, dołączyłem do nich dla zabawy minimalistyczny system szablonów, ale z identyczną zasadą działania, upakowany na paru kilobajtach kodu. I różnica na jego korzyść była wyraźnie widoczna...

Tak więc nie ma tu żadnych herezji - za bardzo uogólniłeś, by się do czegoś przyczepić. Te "wydajne" systemy szablonów mają taką, a nie inną specyfikę, że za bardzo tam nie ma czego przyspieszać i właściwie wydajność sprowadza się do tego, ile rzeczy musi być załadowanych i z jakich elementów PHP skrypt korzysta... a na złość cioci mnóstwo osób twierdzi, że to właśnie dzięki wywaleniu pętli, warunków itd. system szablonów staje się szybszy.

Ten post edytował Zyx 16.04.2009, 09:37:55
Go to the top of the page
+Quote Post

Posty w temacie
- sazian   [PHP]szablon z pliku php   14.04.2009, 16:24:03
- - Moli   Hmmm a po co to ? Strasznie tandetny pomysl, stras...   14.04.2009, 17:31:19
- - Zyx   Ja też wpadłem na pewien pomysł tworzenia szablonó...   14.04.2009, 17:44:48
- - sazian   w założeniach miał to być jak najprostszy "sy...   14.04.2009, 18:05:53
- - l0ud   Twój kod nie nada się do niczego - nie wstawisz p...   14.04.2009, 18:32:47
|- - sazian   Cytat(l0ud @ 14.04.2009, 19:32:47 ) T...   14.04.2009, 19:00:11
- - guitarnet.pl   http://www.massassi.com/php/articles/template_engi...   14.04.2009, 19:08:49
- - l0ud   sazian, zrobiłeś jedną pętlę i już wygląda paskudn...   14.04.2009, 20:03:26
- - sazian   no fakt wygląda paskudnie ale działa teraz gdy t...   14.04.2009, 20:08:37
- - guitarnet.pl   @l0ud kolega guitarnet.pl nie nazywa sie Brian Loz...   14.04.2009, 20:17:46
- - l0ud   Oj, chyba nie zrozumiałeś mojego posta ...   14.04.2009, 20:54:26
- - guitarnet.pl   zrozumialem ze "kolega guitarnet.pl" zap...   14.04.2009, 21:01:27
- - Zyx   Tak, są zastrzeżenia. Prosiłem, byś się przyjrzał ...   15.04.2009, 14:03:22
- - guitarnet.pl   twierdzisz ze 15kB skrypt nie moze zarezerwowac 50...   15.04.2009, 15:49:32
- - Zyx   Bardzo dziwnych twierdzeń się doczyta...   16.04.2009, 09:35:48
- - guitarnet.pl   Cytattak naprawdę jedyne usprawnienie wydajności, ...   16.04.2009, 13:35:05
- - Cysiaczek   Panowie - to nie miejsce na dyskusje. Są od tego t...   16.04.2009, 13:47:46
- - Kildyt   Kombinujecie jak koń pod górkę. IMHO zwykły includ...   16.04.2009, 21:01:15


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: 28.12.2025 - 09:12