Re: $obj = new foo() patch

From: Date: Fri, 10 Nov 2000 08:07:00 +0000
Subject: Re: $obj = new foo() patch
References: 1 2  Groups: php.dev php.qa 
Request: Send a blank email to php-dev+get-37651@lists.php.net to get a copy of this message
At 09:51 10-11-00, Andi Gutmans wrote:
At 02:31 AM 11/10/00 +0100, André Langhorst wrote:
Please check it out. If there are any problems/concerns with this bug it is best to leave it out for 4.0.4 but it should not harm anyone's scripts. The following bugs are probably solved now: 6529, 6896, 7454, 7455, 7482 Anyway, please grab a fresh CVS tree and check that your OOP code still works :)
1) It´s broken. <?php class foo {
        function foo()  {
                $this->why_not($this->ret1()); }
        function ret1() {
                $obj1->a='test';
                return $obj1; }
        function why_not(&$obj) { }
        }
$x = new foo(); ?>
The patch didn't change this behavior. Up to now you can't send anything besides variables by reference. I don't think this has every worked.
It actually always worked, but only appeared to be working. It could (and almost always did) end up corrupting data structures. In 4.0.4, this is actively detected, and prevented. Zeev -- Zeev Suraski <zeev@zend.com> +972-3-6139665, ext 105 http://www.zend.com/

« previous php.dev (#37651) next »