<?php
class cA
{
/**
* Test property for using direct default value
*/
protected static $item = 'Foo';
/**
* Test property for using indirect default value
*/
protected static $other = 'cA';
public static function method()
{
print self::$item."\r\n"; // It prints 'Foo' on everyway... :(
print self::$other."\r\n"; // We just think that, this one prints 'cA' only, but... :)
}
public static function setOther($val)
{
self::$other = $val; // Set a value in this scope.
}
}
class cB extends cA
{
/**
* Test property with redefined default value
*/
protected static $item = 'mesh';protected static $other = 'ani';
public static function method_set()
{
self::$other = "mesh";
self::$item = "ani";
}
}
//cB::setOther('cB'); // It's cB::method()!
cB::method_set();
cB::method(); // It's cA::method()!
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/SGhGJ on line 44
Process exited with code 255.
Output for 5.0.0 - 5.0.3
Fatal error: Cannot redeclare property static protected cA::$item in class cB in /in/SGhGJ on line 40
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/SGhGJ on line 8
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/SGhGJ on line 8
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/SGhGJ on line 8
Process exited with code 255.