<?php
class String {
private $_stringValue;
public function __construct($stringValue = '')
{
$this->_stringValue = ''.$stringValue;
}
public function __toString()
{
return $this->_stringValue;
}
public function getLength()
{
return mb_strlen($this->_stringValue);
}
}
abstract class AbsTestClass {
protected $_privateProperty = 'World';
public function __construct($name)
{
$this->_privateProperty = $name;
}
public function getName()
{
return $this->_privateProperty;
}
public function getWelcomingMessage()
{
return 'Hello '.$this->getName().'!';
}
abstract public function setName(String $name);
}
class TestClass extends AbsTestClass {
public function setName(String $name)
{
$this->_privateProperty = $name->__toString();
}
}
$message = new TestClass('World');
echo $message->getWelcomingMessage()."\n";
$message->setName(new String('Jahala'));
echo $message->getWelcomingMessage()."\n";
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/TnQRo on line 4
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/TnQRo on line 4
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/TnQRo on line 4
Process exited with code 255.