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

Reply via email to