#40625 [NEW]: Indirect modification of overloaded property

Ask a Question related to PHP Bugs, Design and Development.

  1. #1

    Default #40625 [NEW]: Indirect modification of overloaded property

    From: [email]noreply@php.net[/email]
    Operating system: XP SP2
    PHP version: 5.2.1
    PHP Bug Type: Class/Object related
    Bug description: Indirect modification of overloaded property

    Description:
    ------------
    While using __get and __set im getting the following notice : "Notice:
    Indirect modification of overloaded property $var has no effect "

    It worked perfect in previous PHP versions.



    Reproduce code:
    ---------------
    class myclass
    {

    /*
    $this->_data =
    array(1) {
    ["abcd"] => array(2) {
    ["a"] => string(2) "cc"
    ["b"] => string(2) "dd"
    }
    }
    */

    public function __get($name)
    {
    $result = null;
    if (isset($this->_data[$name])) {
    $result = $this->_data[$name];
    }
    return (array)$this->_data[$name] ;
    }

    public function __set($value, $arg)
    {
    foreach($arg as $key=>$inhoud) {
    $this->_data[$value][$key] = $inhoud;
    }
    }
    }

    $myclass = new myclass();
    $myclass->abcd['a'] = 'ee'; //does not work anymore
    $myclass->newNode['a'] = 'ee'; //does not work anymore


    Expected result:
    ----------------
    array(2) {
    ["abcd"] => array(2) {
    ["a"] => string(2) "ee"
    ["b"] => string(2) "dd"
    }
    ["newNode"] => string(2) "ee"
    }

    Actual result:
    --------------
    Data does not change and outputs "Notice: Indirect modification of
    overloaded property $var has no effect "

    --
    Edit bug report at [url]http://bugs.php.net/?id=40625&edit=1[/url]
    --
    Try a CVS snapshot (PHP 4.4): [url]http://bugs.php.net/fix.php?id=40625&r=trysnapshot44[/url]
    Try a CVS snapshot (PHP 5.2): [url]http://bugs.php.net/fix.php?id=40625&r=trysnapshot52[/url]
    Try a CVS snapshot (PHP 6.0): [url]http://bugs.php.net/fix.php?id=40625&r=trysnapshot60[/url]
    Fixed in CVS: [url]http://bugs.php.net/fix.php?id=40625&r=fixedcvs[/url]
    Fixed in release: [url]http://bugs.php.net/fix.php?id=40625&r=alreadyfixed[/url]
    Need backtrace: [url]http://bugs.php.net/fix.php?id=40625&r=needtrace[/url]
    Need Reproduce Script: [url]http://bugs.php.net/fix.php?id=40625&r=needscript[/url]
    Try newer version: [url]http://bugs.php.net/fix.php?id=40625&r=oldversion[/url]
    Not developer issue: [url]http://bugs.php.net/fix.php?id=40625&r=support[/url]
    Expected behavior: [url]http://bugs.php.net/fix.php?id=40625&r=notwrong[/url]
    Not enough info: [url]http://bugs.php.net/fix.php?id=40625&r=notenoughinfo[/url]
    Submitted twice: [url]http://bugs.php.net/fix.php?id=40625&r=submittedtwice[/url]
    register_globals: [url]http://bugs.php.net/fix.php?id=40625&r=globals[/url]
    PHP 3 support discontinued: [url]http://bugs.php.net/fix.php?id=40625&r=php3[/url]
    Daylight Savings: [url]http://bugs.php.net/fix.php?id=40625&r=dst[/url]
    IIS Stability: [url]http://bugs.php.net/fix.php?id=40625&r=isapi[/url]
    Install GNU Sed: [url]http://bugs.php.net/fix.php?id=40625&r=gnused[/url]
    Floating point limitations: [url]http://bugs.php.net/fix.php?id=40625&r=float[/url]
    No Zend Extensions: [url]http://bugs.php.net/fix.php?id=40625&r=nozend[/url]
    MySQL Configuration Error: [url]http://bugs.php.net/fix.php?id=40625&r=mysqlcfg[/url]
    noreply@php.net Guest

  2. Similar Questions and Discussions

    1. #39775 [NEW]: "Indirect modification ..." message is not shown
      From: toomuchphp-phpbugs at yahoo dot com Operating system: OS X PHP version: 5.2.0 PHP Bug Type: Class/Object related Bug...
    2. #39725 [NEW]: PHP raising notice when reading an overloaded property
      From: denis at edistar dot com Operating system: Linux PHP version: 5.2.0 PHP Bug Type: Scripting Engine problem Bug...
    3. #29234 [Com]: empty($object->property) incorrect when property has access overloaded (__get)
      ID: 29234 Comment by: phpbugs at thunder-2000 dot com Reported By: chrissy at codegoat dot com Status: No...
    4. Indirect recordcount
      I have a variable that contains the name of a query. How can I get the RecordCount for that query? I've tried using Evaluate() in several...
    5. an indirect ASP security problem
      Hi Boban, My initial question would be why do you have to "wake up" the windows service? You could let that run on the machine with the proper...
  3. #2

    Default #40625 [Opn->Bgs]: Indirect modification of overloaded property

    ID: 40625
    Updated by: [email]derick@php.net[/email]
    Reported By: [email]noreply@php.net[/email]
    -Status: Open
    +Status: Bogus
    Bug Type: Class/Object related
    Operating System: XP SP2
    PHP Version: 5.2.1
    New Comment:

    Thank you for taking the time to write to us, but this is not
    a bug. Please double-check the documentation available at
    [url]http://www.php.net/manual/[/url] and the instructions on how to report
    a bug at [url]http://bugs.php.net/how-to-report.php[/url]

    It didn't work properly before either, and now we warn about it.


    Previous Comments:
    ------------------------------------------------------------------------

    [2007-02-25 03:18:29] [email]noreply@php.net[/email]

    Description:
    ------------
    While using __get and __set im getting the following notice : "Notice:
    Indirect modification of overloaded property $var has no effect "

    It worked perfect in previous PHP versions.



    Reproduce code:
    ---------------
    class myclass
    {

    /*
    $this->_data =
    array(1) {
    ["abcd"] => array(2) {
    ["a"] => string(2) "cc"
    ["b"] => string(2) "dd"
    }
    }
    */

    public function __get($name)
    {
    $result = null;
    if (isset($this->_data[$name])) {
    $result = $this->_data[$name];
    }
    return (array)$this->_data[$name] ;
    }

    public function __set($value, $arg)
    {
    foreach($arg as $key=>$inhoud) {
    $this->_data[$value][$key] = $inhoud;
    }
    }
    }

    $myclass = new myclass();
    $myclass->abcd['a'] = 'ee'; //does not work anymore
    $myclass->newNode['a'] = 'ee'; //does not work anymore


    Expected result:
    ----------------
    array(2) {
    ["abcd"] => array(2) {
    ["a"] => string(2) "ee"
    ["b"] => string(2) "dd"
    }
    ["newNode"] => string(2) "ee"
    }

    Actual result:
    --------------
    Data does not change and outputs "Notice: Indirect modification of
    overloaded property $var has no effect "


    ------------------------------------------------------------------------


    --
    Edit this bug report at [url]http://bugs.php.net/?id=40625&edit=1[/url]
    derick@php.net Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139