Modifiche ai model Rimossa la constrained interface in quanto inefficace e troppo pesante
37 lines
654 B
PHP
37 lines
654 B
PHP
<?php
|
|
/*
|
|
Author: Riccardo Di Dato
|
|
Creation Date: 08/gen/2016
|
|
*/
|
|
|
|
class ConstrainedFactory {
|
|
|
|
public static function build($obj){
|
|
$rval = $obj;
|
|
if ($obj instanceof ConstrainedInterface){
|
|
$rval = clone $obj;
|
|
}
|
|
else if (is_object($obj)){
|
|
$rval = new ConstrainedObject($obj);
|
|
}
|
|
else if (is_array($obj)){
|
|
$rval = new ConstrainedArrayObject($obj);
|
|
}
|
|
return $rval;
|
|
}
|
|
|
|
public static function debuild($obj){
|
|
$rval = $obj;
|
|
if ($obj instanceof ConstrainedInterface){
|
|
$rval = new stdClass();
|
|
$tmp = $obj->getBase();
|
|
foreach ($tmp as $key=>$val){
|
|
$rval->$key = self::debuild($val);
|
|
}
|
|
}
|
|
return $rval;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|