<?php

abstract class A
{
}
class B extends A
{
	
}
class C
{
	public $x;
	
	public function __construct(A $b)
	{
		$this->x = $b;
		var_dump($this->x);
	}
}

$b = new B();
$c = new C($b);