Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pobranie nazwa zmiennej
Forum PHP.pl > Forum > Przedszkole
ennics
elo,

mam taki zgryz...
  1. <?php
  2.  
  3.  
  4. $zmienna = 'wartość';
  5.  
  6. function show($val) {
  7. print "$val : $val";
  8. }
  9.  
  10. show($zmienna);
  11.  
  12. ?>

wywołanie show($zmienna); pokaże mi
Kod
$val : wartość

czy jest taka możliwość, zeby pokazało mi:
Kod
zmienna : wartość

czyli nazwę zmiennej którą przekazałem do funkcji ?
hwao
  1. <?php
  2. function show($val) {
  3. print "{$val} : {$val}";
  4. }
  5. ?>


Jezeli chcesz tak dokladnie to musisz... debug_backtrace" title="Zobacz w manualu php" target="_manual()
ennics
dzięki za odp. niestety nie działa:
zawraca
Kod
wartość : wartość
próbowałem z debug_backtrace() na wszystkie sposoby ale nic nie wskórałem...
nospor
Chyba sie nie da.
No ale i tak zawsze bedziesz wiedzial jaką zmienna wyswieltasz, to mozesz od razu podac jej nazwe lub cos innego czym ja zidentyfikujesz
  1. <?php
  2. function show($val, $name) {
  3. print "$name : $val";
  4. }
  5. $ala = 2;
  6. show($ala, 'ala lub jakies inne slowo');
  7.  
  8. ?>
ennics
@nospor, no właśnie to chciałem ominąć smile.gif
na przykładzie smarty:
  1. <?php
  2.  
  3.  
  4. class TPL extends Smarty 
  5. {
  6.     public function __construct()
  7.     {
  8.         $this -> Smarty();
  9.         $this -> template_dir = TPLDIR . 'html';
  10.         $this -> config_dir   = TPLDIR . 'config';
  11.         $this -> compile_dir  = TPLDIR . 'cache/tpl_c';
  12.         $this -> cache_dir    = TPLDIR . 'cache/smarty_c';
  13.     }
  14.  
  15.     public function __get($val)
  16.     {
  17.         if (is_array($val)) {
  18.             $this -> assign_by_ref($val_name, $val); // $val_name = zmienna
  19.         } else {
  20.             $this -> assign($val_name, $val); // $val_name = zmienna
  21.         }
  22.     }
  23.  
  24. }
  25.  
  26. $app = new init();
  27.  
  28. $zmienna = 'wartość';
  29. $app -> tpl -> $zmienna;
  30.  
  31.  
  32. ?>

wtedy do smarty przypisuje assign('zmienna', $zmienna);
hmm. musi być jakiś sposób... może rozszerzenie w C++ ? biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.