Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Parser, za każdym razem ładuje na początku te same pliki
gorky_park
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 8.07.2007

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


Do rzeczy, kod parsera:
  1. <?php
  2. DEFINE ('D_TPL', 'template/');
  3.    
  4.    class Parser {
  5.        
  6.        public $UnparsedHtmlCode = array();
  7.        public $ParsedTpl = array();
  8.        public $TplBlocks = array();
  9.        public $LastLoadedTpl;
  10.        
  11.        public function LoadTemplate($file) {
  12.            if(!file_exists(D_TPL.$file.'.tpl')) {
  13.                echo "Couldn't load followed file to parse:<b> ".D_TPL.$file.'.tpl'."</b>< br/>";
  14.            }
  15.            else {
  16.                $FileHandle = fopen(D_TPL.$file.'.tpl', "r");
  17.                    flock($FileHandle, 2);
  18.                            $this -> UnparsedHtmlCode[] = fread($FileHandle, filesize(D_TPL.$file.'.tpl'));
  19.                    flock($FileHandle, 3);
  20.            }
  21.        foreach($this -> UnparsedHtmlCode AS $HtmlCode) {
  22.            echo $HtmlCode;
  23.        }
  24.        }
  25.            
  26.  
  27.    }
  28. ?>

w ten sposob go uruchamiam:
  1. <?php
  2. $objParse = new Parser();
  3.    $objParse -> LoadTemplate('head');
  4.    $objParse -> LoadTemplate('single_entry');
  5.    $objParse -> LoadTemplate('tail');
  6. ?>


problem polega w tym, że funkcja w pierwszym kroku ładuje plik "head", potem "head" oraz "single_entry" a w kroku ostatnim "head", "single_entry", "tail". Co otrzymuje w rezultacie? "Wypluty" kod html z 3 x powtorzonym kodem "head", 2 x "single_entry" i jeden raz "tail".

Pytanie: co poprawić, aby tablica UnparsedHtmlCode zawierała finalnie załadowane dane pliki tyle razy, ile nastepuje wywołanie metody dla konkretnego pliku .tpl?
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 18:49