ID: 24608
Comment by: itotakas at msu dot edu
Reported By: jaanus at heeringson dot com
Status: Open
Bug Type: Class/Object related
Operating System: Linux 2.4 jkernel source distro
PHP Version: 5.0.0b1 (beta1)
New Comment:
I got same result by running your code.
my platform is
OS : Win 2000 Pro SP4
PHP : 5.0.0b2-dev
using Apache 1.3.24 and SAPI modules
If you really want to do,
$test->style["temp"] = "content";
you can do this instead.
$test->style = array("temp" => "content");
In this case, __set function will work.
Previous Comments:
------------------------------------------------------------------------
[2003-07-11 12:48:38] jaanus at heeringson dot com
Description:
------------
When overloading a class with a property containing an array by
assigning an element to to the new array the __set handle does not
fire, but the element gets created.
Reproduce code:
---------------
<?php
class myclass {
public function __set($name,$data) {
echo("Name: {$name}<br/>\nData: {$data}<br/>\n"); //prints out input
when fired
}
}
$test=new myclass();
$test->style['temp']='content'; //creates a new property
print_r($test->style); //check if property is created
?>
Expected result:
----------------
Results from the echo in __set
Actual result:
--------------
The result of the print_r shows that the property is created, but id
did not pass the __set
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=24608&edit=1