Abstract class: checking the class of an object
*************************
class A{
   ...
}
class B{
    ...
    public function import(A $a){
	$this->value2=($a->getValue());
    }
}
$a = new A();
$b = new B();
if($a instanceof B){
    echo "There is a big problem 
";
}
if($a instanceof A){
    echo "Normal 
";
}
// is OK
$b->import($a);
echo "Value of \$b imported from \$a
";
// is KO
$b->import($b);
echo "Value of \$b imported from \$b
";
*************************
value;
    }
    public function setValue($v){
	$this->value = $v;
    }
}
class B{
    private $value2;
    public function getValue2(){
	return $this->value2;
    }
    public function setValue2($v){
	$this->value2 = $v;
    }
    public function import(A $a){
	$this->value2=($a->getValue());
    }
}
$a = new A();
$b = new B();
if($a instanceof B){
    echo "There is a big problem 
";
}
if($a instanceof A){
    echo "Normal 
";
    
}
// is OK
$b->import($a);
echo "Value of \$b imported from \$a
";
// is KO
$b->import($b);
echo "Value of \$b imported from \$b
";
?>