php-src/Zend/tests/traits/bugs/overridding-conflicting-property-initializer.phpt
Stefan Marr 9f66085649 Fixed bug in the handling of conflicting property initializers for traits.
# Bug was uncovered by discussion in http://news.php.net/php.internals/54129
# Forgot to check the actual value of the initializer comparison, only checked
# whether comparison was successful which is not enough.
2011-07-23 13:48:07 +00:00

23 lines
544 B
PHP

--TEST--
Properties are considered incompatible if they are different in any of their
defined characteristics. Thus, initialization values have to be equal, too.
--FILE--
<?php
error_reporting(E_ALL);
trait foo
{
public $zoo = 'foo::zoo';
}
class baz
{
use foo;
public $zoo = 'baz::zoo';
}
$obj = new baz();
echo $obj->zoo, "\n";
?>
--EXPECTF--
Fatal error: baz and foo define the same property ($zoo) in the composition of baz. However, the definition differs and is considered incompatible. Class was composed in %s on line %d