Вот как работает хинтинг типа.Если вы скажете PHP ожидать значение int
для параметра и передадите ему значение, которое не является целым числом, вы получите исключение TypeError
.См. Руководство .
. Вы можете реализовать свой код немного по-другому с помощью блока try / catch:
try {
$book->price('Hello');
}
catch (TypeError $e) {
echo 'Please enter number';
}
В этом случае вы можете упростить функцию price
до:
public function price(int $price){
echo 'This is Number ' . $price;
}