|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2006-11-16 09:48 UTC] tony2001@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 02:00:01 2025 UTC |
Description: ------------ __set is not called if the property is called by reference Reproduce code: --------------- <?php class Test { private $properties; function __construct() { $this->properties = array(); } function __set($name, $value) { echo "setting $name\n"; $this->properties[$name] = $value; } function __get($name) { echo "getting $name\n"; return ($this->properties[$name]); } } $test = new Test; $test->array = array("foo"); array_push($test->array, "bar"); print_r($test->array); ?> Expected result: ---------------- setting property getting property setting property getting property Array ( [0] => foo [1] => bar ) Actual result: -------------- setting property getting property getting property Array ( [0] => foo [1] => bar )