PHP, bir şey dönmek için bir yöntem "zorla" değil - ve hatta soyut sınıflar / yöntemleri, ne de arayüzleri ile, mümkün değil.
Yapabileceğiniz en iyi olduğu uygulama bir yorum kullanarak, bir şey dönmek gerektiğini belirtmek - ama bunu insanları zorlayamaz:
/**
* @param string $a blah blah
* @return int The return value blah blah
*/
public function my_method($a);
Tabii ki, sizin çerçevesinde bu yöntemi (the implementation) çağırıyor iseniz, iade edilmiştir ne kontrol edebilir, ve beklediğiniz karşılık değilse bir istisna ...
And here is a quick example of how this could be implemented :
class ClassA {
/**
* @param string $a blah blah
* @return ClassB The return value blah blah
*/
public function my_method($a) {
echo 'blah';
}
}
class ClassB {
// ...
}
$a = new ClassA();
$returned = $a->my_method(10);
if (!$returned instanceof ClassB) {
throw new Exception("Should have returned an instance of ClassB !");
}
Yöntemi ClassB
bir örneğini dönmez gibi burada, istisna atılır.