Ответ
Type hinting (подсказки типов) в PHP — это механизм указания ожидаемых типов данных для параметров функций, возвращаемых значений и свойств классов. Он помогает предотвратить ошибки, улучшает читаемость кода и обеспечивает лучшую поддержку в IDE.
Основные возможности:
- Скалярные типы (с PHP 7.0):
int,float,string,bool - Составные типы:
array,iterable,callable,object - Nullable-типы (с PHP 7.1):
?string(означаетstring|null) - Объединённые типы (с PHP 8.0):
string|int - Подсказки для свойств (с PHP 7.4):
private string $name;
Примеры использования:
// Строгая типизация включается в начале файла
declare(strict_types=1);
// Типы для параметров и возвращаемого значения
function calculateTotal(float $price, int $quantity): float {
return $price * $quantity;
}
// Nullable-тип и объединённый тип
function processUser(?string $name, string|int $id): void {
// ...
}
// Типизированные свойства класса
class User {
private string $email;
private ?DateTime $birthDate;
public function __construct(string $email) {
$this->email = $email;
}
}
Важные особенности:
- Без
strict_types=1PHP будет пытаться привести значения к указанным типам - Со
strict_types=1передача значения неверного типа вызоветTypeError - Type hinting работает во время выполнения, а не только на этапе анализа кода
- Это особенно полезно в больших проектах и при работе в команде