<?php
//define an error handler
function exception_error_handler($errno, $errstr, $errfile, $errline ) {
throw new ErrorException($errstr, $errno, 0, $errfile, $errline);
}
//set ur error handle
set_error_handler("exception_error_handler");
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);
}
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) {
} finally {
echo "You may not destroy the value object","\n";
}
var_dump($vo);
preferences:
43.64 ms | 402 KiB | 5 Q