Req #53895 [Com]: debug_zval_dump should be by ref

From: Date: Fri, 15 Aug 2014 03:46:50 +0000
Subject: Req #53895 [Com]: debug_zval_dump should be by ref
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-187135@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=53895&edit=1 ID: 53895 Comment by: ky dot patterson at adlinkr dot com Reported by: + at ni-po dot com Summary: debug_zval_dump should be by ref Status: Wont fix Type: Feature/Change Request Package: Variables related PHP Version: 5.3.5 Block user comment: N Private report: N New Comment: As others have pointed out, debug_zval_dump is fundamentally limited because it is a function, and so zend will alter or copy the argument's zval. I *think* the solution is actually to add new language constructs, and I have opened a bug to discuss that: https://bugs.php.net/bug.php?id=67847 Posting here because the people on this bug may have something to say about the one I just submitted. Previous Comments: ------------------------------------------------------------------------ [2011-02-05 11:47:52] + at ni-po dot com Hm, the problem seems to be more complicated when I thought. The only thing I can think of, that would allow arrays and objects, too, is to provide a function zval_is_ref that checks, whether the zval is_ref and then provide two function, zval_dump_by_ref and zval_dump_by_val. Imho this would cover all cases, but I assume that that's too many functions. ------------------------------------------------------------------------ [2011-02-04 22:15:29] johannes@php.net The string version won't help for all cases, as you can't adress array elements or objects properly then. So there's no good way. ------------------------------------------------------------------------ [2011-02-01 15:13:07] + at ni-po dot com That would obviously be even better. I just wanted to note, that something must be changed about it. ------------------------------------------------------------------------ [2011-02-01 13:49:28] cataphract@php.net I disagree. Receiving the variable by reference would solve nothing, as it would force a separation on zvals with refcount > 1. What actually ought to be done is make debug_zval_dump work like xdebug's version and accepting a string. ------------------------------------------------------------------------ [2011-01-31 23:43:14] + at ni-po dot com Description: ------------ debug_zval_dump should accept the variable by reference. Currently one can call the function either via debug_zval_dump($var) or debug_zval_dump(&$var). As the latter is as deprecated as it gets (i.e. parse-time deprecated) and is even removed in trunk, the function should be defined as accepting the variable by reference, because this is the usual use case. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=53895&edit=1

« previous php.bugs (#187135) next »