Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:5411 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 72746 invoked by uid 1010); 13 Nov 2003 06:20:19 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 72707 invoked from network); 13 Nov 2003 06:20:18 -0000 Received: from unknown (HELO mail.3gstech.com) (216.239.132.110) by pb1.pair.com with SMTP; 13 Nov 2003 06:20:18 -0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.3gstech.com (Postfix) with ESMTP id 8FBAA9E76C7; Wed, 12 Nov 2003 22:13:11 -0800 (PST) Received: from mail.3gstech.com ([127.0.0.1]) by localhost (fungus [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 28830-09; Wed, 12 Nov 2003 22:13:11 -0800 (PST) Received: by mail.3gstech.com (Postfix, from userid 99) id B786C9E76C4; Wed, 12 Nov 2003 22:13:10 -0800 (PST) Received: from adsl-66-159-224-128.dslextreme.com (adsl-66-159-224-128.dslextreme.com [66.159.224.128]) by www.3gstech.com (IMP) with HTTP for ; Wed, 12 Nov 2003 22:13:10 -0800 Message-ID: <1068703990.3fb320f6975fb@www.3gstech.com> Date: Wed, 12 Nov 2003 22:13:10 -0800 To: internals@lists.php.net MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit User-Agent: Internet Messaging Program (IMP) 3.2.1 X-Virus-Scanned: by amavisd-new at mcdownloads.com Subject: php5 method return reference error? From: waboring@3gstech.com ("Walter A. Boring IV") Howdy, I'm playing with php5 (from cvs), and came accross a strange error that doesn't happen with php4. Maybe someone can shed some light on this for me? I get the error "Fatal error: Only variables or references can be returned by reference in /home/waboring/devel/html/test.php on line 11" Here is the php code _buildOBJ(); } function &_buildOBJ() { $obj = new foo(); $obj->test = 'worked'; return $obj; } } $bar = new bar; $foo = $bar->get(); echo $foo->test; ?> This doesn't happen in php4. This seems to go away if I change the bar::get() method to function &get() { $obj =& $this->_buildOBJ(); return $obj; } This seems like a bug to me, since both cases the return value is a reference of an object? Thanks Walt