From:             thomas dot hebinck at digionline dot de
Operating system: Linux
PHP version:      5.0.0b1 (beta1)
PHP Bug Type:     Zend Engine 2 problem
Bug description:  Call of __get in a construtor does not work

Description:
------------
The call of a property via __get from a constructor called the same way
does not work.

- $m is created
- $m->s creates new class s (via m::__get)
- the constructor of s calls $m->d->d_test
- m::_get (for $m->d) is NOT called:
  Notice: Undefined property

See the source - it should make it clear ;-)


Reproduce code:
---------------
class d {
  public function d_test() {
    return true;
  }
}
class s {
  function __construct() {
    global $m;
    $m->d->d_test();
  }
  function s_test() {
  }
}
class m {
  function __get($property) {
    switch ($property) {
      case 'd':
        return new d;
        break;
      case 's':
        return new s;
        break;
    }
  }
}
$m=new m;
$m->s->s_test();

Expected result:
----------------
just nothing - there is no output to reduce the lines of source code.

Actual result:
--------------
Notice: Undefined property: m::$d in /www/w23_bug/test_bug.php on line 10

Fatal error: Call to a member function d_test() on a non-object in
/www/w23_bug/test_bug.php on line 10

This is the line: $m->d->d_test();



-- 
Edit bug report at http://bugs.php.net/?id=25187&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=25187&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=25187&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=25187&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=25187&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=25187&r=needtrace
Try newer version:          http://bugs.php.net/fix.php?id=25187&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=25187&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=25187&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=25187&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=25187&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=25187&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=25187&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=25187&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=25187&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=25187&r=gnused

Reply via email to