note 55486 added to language.oop5.overloading

From: Date: Thu, 04 Aug 2005 19:37:28 +0000
Subject: note 55486 added to language.oop5.overloading
Groups: php.notes 
Request: Send a blank email to php-notes+get-93090@lists.php.net to get a copy of this message
By Design (http://bugs.php.net/bug.php?id=33998) you cannot call a getter from a getter or any function triggered by a getter: class test { protected $_a = 6; function __get($key) { if($key == 'stuff') { return $this->stuff(); } else if($key == 'a') { return $this->_a; } } function stuff() { return array('random' => 'key', 'using_getter' => 10 * $this->a); } } $test = new test(); print 'this should be 60: '.$test->stuff['using_getter'].'<br/>'; // prints "this should be 60: 0" // [[ Undefined property: test::$a ]] on /var/www/html/test.php logged. print 'this should be 6: '.$test->a.'<br/>'; // prints "this should be 6: 6" ---- Manual Page -- http://www.php.net/manual/en/language.oop5.overloading.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+55486 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+55486&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+55486&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+55486&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+55486&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+55486&report=yes&reason=non-english Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+55486&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+55486&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#93090) next »