Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> referencje
dtb
post 27.01.2006, 15:47:29
Post #1





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


postanowilem [z nudow] napisac sobie cos w php z czego mogl byc w przyszlosci uzywac. wpadlem na pomysl - system szablonow! jednak natrafilem na pewien problem.

oto fragmet kodu:
  1. <?php
  2. function pte_parseVar (&$var, $key, &$pte)
  3. {
  4. while (preg_match('#\(([a-zA-Z0-9\.]+)\)#', $var, $x)) {
  5. $var = str_replace($x[0], $pte->getVarValue($x[1]), $var);
  6. }
  7. $var = &$pte->getVarValue($var);
  8. }
  9.  
  10. class pte
  11. {
  12. private $vars;
  13. (...)
  14. public function getVarValue ($name)
  15. {
  16. $name = explode('.', $name);
  17. $varName = NULL;
  18. foreach ($name as $v) {
  19. $varName .= '[''.$v.'']';
  20. }
  21. return eval('return $this->vars'.$varName.';');
  22. }
  23. (...)
  24. public function parse ($file)
  25. {
  26. (...)
  27. array_walk($tmp[2], 'pte_parseVar', $this);
  28. (...)
  29. }
  30. }
  31. ?>


chodzi o to, aby $tmp[2]['zm.0'] byl referencja zmiennej $this->vars['zm'][0]; itp. jednak zamiast referencji przekazana jest jedynie zawartosc tej zmiennej. gdy dodam operator & przed eval lub przed $this->vars'.$vaName to wyskakuje blad skladni. wie ktos jak to rozwiazac?


--------------------
Go to the top of the page
+Quote Post

Posty w temacie
- dtb   referencje   27.01.2006, 15:47:29
- - Wave   Spróbuj: [PHP] pobierz, plaintext <?phppublic f...   27.01.2006, 15:50:05
- - dtb   kiedy dodam & przed getVarValue to zwraca dzie...   27.01.2006, 19:42:16


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 Wersja Lo-Fi Aktualny czas: 14.07.2025 - 01:00