function foo(?Type $t) { } this will result in $this->foo(new Type()); // ok $this->foo(null); // ok $this->foo(); // error