Autor | Zpráva | ||
---|---|---|---|
Tori Profil |
#1 · Zasláno: 23. 4. 2013, 11:05:37
Docela by mě zajímalo, co se děje uvnitř PHP při některých příkazech, jakým způsobem se co překládá (příklad). Jak na to?
Rozšíření vld by toto mělo umět, ale nepodařilo se mi ho rozběhnout (trochu mi u toho chybí README a popis CLI parametrů; a kdyby bylo potřeba něco restartovat tak to snad napíšou, doufam). Děkuju za případné rady. |
||
juriad Profil |
#2 · Zasláno: 23. 4. 2013, 11:24:29
Na stránkách píší: If you can't make it work then this tool is not for you. http://derickrethans.nl/projects.html#vld Dole je popis jak to nainstalovat.
Mě to pro stránku: <?php phpinfo(); |
||
Tori Profil |
juriad:
No ano, kód se provede a zobrazí se výstup. To je totéž, jako když spustím php -r "phpinfo();"
Mně šlo ale o to, aby když budu mít skript např.: <?php echo '1'; echo '2'; echo '3'; var buffer = '1'; buffer += '2'; buffer += '3'; print buffer; buffer = null; Tu citovanou větu jsem taky četla, ale radši necitovala, abych ji nemusela i okomentovat. |
||
juriad Profil |
#4 · Zasláno: 23. 4. 2013, 12:03:10
Zprovozněno; stačilo přidat řádek "extension=vld.so" do php.ini a otočit apache. Potom už to bude fungovat. (Nechal jsem se původně uchlácholit tím, že to vrátilo hromadu dat, a on za to mohl příkaz phpinfo)
Pro skript: <?php $string = "abc, def (aaa, bbb, ccc), hij, klm"; echo $string; $s = preg_replace("/,(?=[^)]*$|[^)]*\(.*)/", "\n", $string); echo $s; vypíše: [adam@judy vld-0.11.2]$ php -dvld.active=1 pokus.php Finding entry points Branch analysis from position: 0 Return found filename: /home/adam/vld-0.11.2/pokus.php function name: (null) number of ops: 9 compiled vars: !0 = $string, !1 = $s line # * op fetch ext return operands --------------------------------------------------------------------------------- 2 0 > ASSIGN !0, 'abc%2C+def+%28aaa%2C+bbb%2C+ccc%29%2C+hij%2C+klm' 3 1 ECHO !0 4 2 SEND_VAL '%2F%2C%28%3F%3D%5B%5E%29%5D%2A%24%7C%5B%5E%29%5D%2A%5C%28.%2A%29%2F' 3 SEND_VAL '%0A' 4 SEND_VAR !0 5 DO_FCALL 3 $1 'preg_replace' 6 ASSIGN !1, $1 5 7 ECHO !1 7 8 > RETURN 1 branch: # 0; line: 2- 7; sop: 0; eop: 8 path #1: 0, abc, def (aaa, bbb, ccc), hij, klmabc def (aaa, bbb, ccc) hij klm |
||
Tori Profil |
#5 · Zasláno: 23. 4. 2013, 12:20:27
Aha, děkuju, to mi nedošlo, že přidat do .ini.
|
||
Jan Tvrdík Profil |
#6 · Zasláno: 23. 4. 2013, 12:22:34
Tori:
Pro jednoduché věci je IMHO nejlepší použít 3v4l.org/jA9Sm/vld#tabs. |
||
Tori Profil |
#7 · Zasláno: 23. 4. 2013, 12:28:31
Jan Tvrdík:
To jsem si mohla myslet, že už to někoho napadlo udělat online. :D Díky. |
||
Časová prodleva: 11 let
|
0