<?php
class namedClass{
protected $prop;
public function __construct($value){
$this->prop = $value;
}
public function returnProperty($propName){
if( !empty($this->$propName) ){
return $this->$propName;
}else{
return null;
}
}
}
$standardObject = new namedCLass('The named class');
echo $standardObject->returnProperty('prop')."\n";
class namedExtension extends namedClass{
public function returnProperty($propName){
if( !empty($this->$propName) ){
return $this->$propName.' from standard extenstion';
}else{
return null;
}
}
}
$extObject = new namedExtension('The named extension');
echo $extObject->returnProperty('prop')."\n";
$anonObj = new class('The anonymous class') extends namedClass{
public function returnProperty($propName){
if( !empty($this->$propName) ){
return $this->$propName.' from anonymous class';
}else{
return null;
}
}
};
echo $newObj->returnProperty();
The named class
The named extension from standard extenstion
Warning: Undefined variable $newObj in /in/i2cji on line 72
Fatal error: Uncaught Error: Call to a member function returnProperty() on null in /in/i2cji:72
Stack trace:
#0 {main}
thrown in /in/i2cji on line 72
Process exited with code 255.
The named class
The named extension from standard extenstion
Notice: Undefined variable: newObj in /in/i2cji on line 72
Fatal error: Uncaught Error: Call to a member function returnProperty() on null in /in/i2cji:72
Stack trace:
#0 {main}
thrown in /in/i2cji on line 72
Process exited with code 255.
Output for 7.3.32 - 7.3.33
The named class
The named extension from standard extenstion
Fatal error: Uncaught Error: Call to a member function returnProperty() on null in /in/i2cji:72
Stack trace:
#0 {main}
thrown in /in/i2cji on line 72
Process exited with code 255.
Output for 7.0.0 - 7.0.4
The named class
The named extension from standard extenstion
Notice: Undefined variable: newObj in /in/i2cji on line 72
Fatal error: Uncaught Error: Call to a member function returnProperty() on unknown in /in/i2cji:72
Stack trace:
#0 {main}
thrown in /in/i2cji on line 72
Process exited with code 255.