mirror of
https://github.com/php/php-src.git
synced 2026-03-26 01:02:25 +01:00
This implements a reduced variant of #1226 with just the following change: -Fatal error: Uncaught exception 'EngineException' with message 'Call to private method foo::bar() from context ''' in %s:%d +Fatal error: Uncaught EngineException: Call to private method foo::bar() from context '' in %s:%d The '' wrapper around messages is very weird if the exception message itself contains ''. Futhermore having the message wrapped in '' doesn't work for the "and defined" suffix of TypeExceptions.
40 lines
894 B
PHP
40 lines
894 B
PHP
--TEST--
|
|
ZE2 ArrayAccess cannot assign by reference
|
|
--FILE--
|
|
<?php
|
|
|
|
class ArrayAccessImpl implements ArrayAccess {
|
|
private $data = array();
|
|
|
|
public function offsetUnset($index) {}
|
|
|
|
public function offsetSet($index, $value) {
|
|
$this->data[$index] = $value;
|
|
}
|
|
|
|
public function offsetGet($index) {
|
|
return $this->data[$index];
|
|
}
|
|
|
|
public function offsetExists($index) {
|
|
return isset($this->data[$index]);
|
|
}
|
|
}
|
|
|
|
$data = new ArrayAccessImpl();
|
|
$test = 'some data';
|
|
$data['element'] = NULL; // prevent notice
|
|
$data['element'] = &$test;
|
|
|
|
?>
|
|
===DONE===
|
|
<?php exit(0); ?>
|
|
--EXPECTF--
|
|
|
|
Notice: Indirect modification of overloaded element of ArrayAccessImpl has no effect in %sarray_access_012.php on line 24
|
|
|
|
Fatal error: Uncaught EngineException: Cannot assign by reference to overloaded object in %sarray_access_012.php:24
|
|
Stack trace:
|
|
#0 {main}
|
|
thrown in %sarray_access_012.php on line 24
|