From:             dave at codewhore dot org
Operating system: Linux 2.4
PHP version:      5CVS-2003-05-31 (dev)
PHP Bug Type:     Scripting Engine problem
Bug description:  With assert(string): $this unavailable inside of eval() code

Hi:

Given the following script, which uses assert to eval() a string that
references the current class instance:

<?php
  class foo
  {
    var $foo = 1;

    function as_string()
    { assert('$this->foo == 1'); }

    function as_expr()
    { assert($this->foo == 1); }
  }

  $foo = new foo();
  $foo->as_expr();
  $foo->as_string();
?>

PHP 4.3-cvs executes it correctly, but PHP 5.0-cvs with ZE2 fails:

  Fatal error: Using $this when not in object context in
    /home/dave/test.php(8) : assert code on line 1

Is this expected behavior? More specifically, is $this no longer available
inside of an eval() on ZE2?     


Thanks in advance,

- Dave

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

Reply via email to