<?php
set_error_handler('myErrorHandler');
register_shutdown_function('fatalErrorShutdownHandler');
echo 'Handler ..';
function myErrorHandler($code, $message, $file, $line) {
}
function fatalErrorShutdownHandler()
{
$last_error = error_get_last();
if ($last_error['type'] === E_ERROR) {
// fatal error
myErrorHandler(E_ERROR, $last_error['message'], $last_error['file'], $last_error['line']);
}
}
final class valueobjectEmail {
const EMAIL = "me@where.com";
static $p = "me@here.com"; // can't unset static property
private $pp = "me@there.org"; // but may unset ppp properties
function getProp(){
return valueobjectEmail::$p;
}
function setProp(){
valueobjectEmail::$p = 'blee';
}
function getPropPP(){
return $this->pp;
}
function UnsetPP() {
unset($this->pp);
}
static private function __destruct() {
return false;
}
}
$vo = new valueobjectEmail;
var_dump($vo);
echo $vo->getProp(),"\n";
$vo->setProp();
echo $vo->getProp(),"\n";
$vo2 = new valueobjectEmail;
echo $vo == $vo2,"\n";
echo $vo === $vo2,"\n";
echo "\n",$vo2->getPropPP(),"\n";
$vo2->UnsetPP();
var_dump($vo2);
echo $vo::EMAIL,"\n";
try {
$vo = null;
} catch(Exception $e) {
echo $e->getMessage();
} finally {
echo "You may not destroy the value object","\n";
}
var_dump($vo);
- Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.32
- Fatal error: Destructor valueobjectEmail::__destruct() cannot be static in /in/WoFak on line 42
Process exited with code 255. - Output for 4.4.2 - 4.4.9
- Parse error: syntax error, unexpected T_CLASS in /in/WoFak on line 21
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
- Parse error: parse error, unexpected T_CLASS in /in/WoFak on line 21
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/WoFak on line 21
Process exited with code 255.
preferences:
209.13 ms | 1395 KiB | 123 Q