Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Problem]Parser
jozek
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 15.03.2009

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


Witam
Mam taki system szablonów:
klasa.php
  1. <?php
  2. ini_set('display_errors', true);
  3. class Erathia {
  4. private $table_users;
  5. public $file_string;
  6. public $root_dir;
  7. public $output; //zmienna
  8. public function __construct($table1){
  9. $this->table_users = $table1;
  10. }
  11. public function newLanguages($nazwa){
  12. if (!isset($_SESSION['jezyk'])) {
  13. $_SESSION['jezyk'] = "pl";
  14. }
  15. $lang_session = $_SESSION['jezyk'];
  16. require ("./languages/".$lang_session."/".$nazwa.".php"); //includuje dany jezyk
  17. }
  18. public function pointLang($name){
  19. if (isset($lang[$name])) {
  20. return $lang[$name];
  21. } else {
  22. echo 'Brak przypisanego langu do zmienej $lang['.$name.']';
  23. }
  24. }
  25. public function newTemplates($templateFile){
  26. /*    global $config;
  27.     $this->root_dir = './templates/'.$config['template'].'/';
  28.     $polaczenie = $this->root_dir.$name;
  29.     $this->file_string = file_get_contents($polaczenie);
  30.     return $name;
  31. */
  32. $this->output=file_get_contents('templates/1/'.$templateFile) or die('Error #001, plik: '.$templateFile.' nie zostal odnaleziony na serwerze! Prosze zglosic ten problem do administratora.');
  33.  
  34.    }
  35.    
  36.  
  37. public function pointTemplates($strings = array()) {
  38. /*        {
  39.                 foreach($strings as $tag => $replace)
  40.                 {
  41.                    $this->file_string = str_replace('{' . $tag . '}', $replace, $this->file_string);
  42.                 }
  43.  
  44.                 return true;
  45.         }
  46. */
  47. if(count($strings)>0){
  48.  
  49.                 foreach($strings as $tag=>$data){
  50.                        $this->output=str_replace('{'.$tag.'}',$data,$this->output);
  51.                 }
  52.              } else {
  53.                   die('Error #002: Nie znaleziono tresci do podmiany blokow - prosze skontaktowac sie z administratorem.');
  54.              }
  55.              
  56. }
  57. public function viewTemplates(){
  58.    return $this->output;
  59. }
  60.  
  61. }
  62. ?>


przyklad.php
  1. <?php
  2. include_once('klasa.php');
  3. $engine = new Erathia('players');
  4. $engine->newTemplates('przyklad.php');
  5.  
  6. $sql = mysql_connect('localhost', 'root', 'lol');
  7. mysql_select_db('black');
  8. $pytanie5 = 'SELECT id FROM `accounts` ';
  9. $idzapytania3 = mysql_query($pytanie5);
  10. $n=0;
  11. while ($wiersz = mysql_fetch_array($idzapytania3))
  12.   {
  13.       $newstitle[$n] = $wiersz[0];
  14.       $n++;
  15.   }
  16.  
  17. $engine->pointTemplates(array(
  18.                'witaj' => 'siemka'));            
  19. echo $engine->viewTemplates();
  20. ?>

I templates/1/przyklad.php :
  1. <?php
  2. Witam<br />
  3. {witaj}
  4. ?>

I ładnie działa.
Lecz co jeśli chciałbym pobrać rekordy z bazy i je wyświetlić?
Proszę o pomoc!
Bo piszę własny mini cms i brakuje pomysłu na system szybkiej wymiany szablonów (IMG:http://forum.php.pl/style_emoticons/default/dry.gif)
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%)
-----


Wyobraź sobie, że pokazuję Ci dwie identyczne niebieskie kredki i zadaję pytanie: która jest łatwiejsza w użyciu, wygodniejsza, najlepsza itd. Pewnie, że to jest pytanie, ale bez przesady. Zabierasz się za wszystko, jak pies do jeża i w ogóle - sparzyłeś się, a dalej pchasz rękę w palnik. Zacytuję Ci fragment pierwszego wpisu:

Cytat
I ładnie działa.
Lecz co jeśli chciałbym pobrać rekordy z bazy i je wyświetlić?


Widzisz? Jeszcze na dobre pracy nie zacząłeś, a już z takim prymitywnym systemem utknąłeś. Zamiast wreszcie zajrzeć pod te linki, poczytać i pomyśleć trzeźwo, wrzucasz cały czas wariacje na temat tego samego łudząc się, że właśnie ta jakimś magicznym sposobem rozwiąże wszystkie problemy świata i wymyślasz coraz to nowe powody, najczęściej mające zerowe odzwierciedlenie w rzeczywistości, by nie pójść za głosem rozsądku. Masz wszystko podane na tacy, ktoś już za Ciebie wszystkie te problemy rozwiązał, w sieci jest kupa tutoriali. Pewnie, że opanowanie zajmie trochę czasu, ale jeśli mówimy o poznaniu całości biblioteki. Takie rzeczy, o jakich mówisz, to z każdego chyba artykułu się nauczysz robić w kwadrans, a przynajmniej masz gwarancję, że za miesiąc nie będziesz musiał zmieniać znowu systemu szablonów, bo dotychczasowy nie będzie potrafił robić jakiejś nowej rzeczy, jaka Ci do głowy przyjdzie. Radzisz sobie jako tako z obiektówką, masz pewne pojęcie o programowaniu. Mówiąc krótko, przestań p.... tylko pomyśl i weź się do roboty, chyba że chcesz za dwadzieścia lat dalej zastanawiać się, która z niebieskich kredek jest lepsza. Trudne jest dlatego, że nawet nie starasz się spróbować i zrozumieć.
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: 14.10.2025 - 14:38