Оголошення типів у PHP забезпечують перевірку типів під час виконання для аргументів функцій, повернених значень і властивостей класу.
У функціях можна додати тип повернення void, щоб указати, що функція не повертає жодного значення.
Оголошені типи також слугують перевіркою під час виконання, що функції повертають належно типізований результат.
<?php
class Driver
{
private int $serial_number;
public function setSerialNumber(int $number): void
{
$this->serial_number = $number;
}
public function getSerialNumber(): int
{
return $this->serial_number;
}
}
$driver = new Driver();
$driver->setSerialNumber("Version 1b"); // This will throw a TypeError
Якщо аргумент функції, повернене значення або властивість класу можуть мати більше ніж один тип, можна оголосити обʼєднання типів.
<?php
class IdentityCard
{
private int|null $id = null;
public function assign(int|float $id): void
{
$this->id = intval($id);
}
}
$card = new IdentityCard();
$card->assign(5.0);
Працюючи з кодом, ми не завжди можемо вказати тип.
Починаючи з PHP 8.0, надається тип-лазівка з назвою mixed.
mixed еквівалентний обʼєднанню типів object|resource|array|string|float|int|bool|null.
Ми вже деякий час працюємо в міській установі й розробили набір інструментів, які прискорюють нашу щоденну роботу, наприклад із заповненням форм.
Тепер до нас приєднується новий колега, і ми зрозуміли, що наші інструменти можуть потребувати пояснень. У нашій установі багато дивних правил: наприклад, завжди заповнювати форми великими літерами і не залишати поля порожніми.
Першим кроком ми вирішуємо додати оголошення типів PHP, щоб нашому новому колезі було легше одразу включитися в роботу і почати користуватися нашими інструментами.
Додайте оголошення типів до кожної оголошеної властивості класу Address.
Кожну властивість класу слід оголосити як рядок тексту (англ. string).
Додайте оголошення типу параметра й оголошення типу поверненого значення до методу blanks класу Form.
Метод має приймати ціле число (довжину) і повертати рядок тексту, який є поданням лінії для заповнення.
Додайте оголошення типу параметра й оголошення типу поверненого значення до методу letters класу Form.
Метод має приймати рядок тексту, що представляє слова, і повертати масив літер.
Додайте оголошення типів параметрів та оголошення типу поверненого значення до методу checkLength класу Form.
Метод має приймати слово як рядок тексту і ціле число (максимальну довжину) та повертати значення правда або неправда.
Додайте оголошення типу параметра, скориставшись оновленим раніше класом Address, та оголошення типу поверненого значення до методу formatAddress класу Form.
Метод має приймати Address і повертати відформатований рядок тексту.
Зареєструйтеся на Exercism, щоб вивчати й опановувати PHP, а також 11 концепцій122 вправи та справжнє наставництво від людей, і все це безкоштовно.