A PHP-beli típusdeklarációk futásidőben típusellenőrzést biztosítanak a függvények argumentumaihoz, visszatérési értékeihez és az osztálytulajdonságokhoz.
Függvényeknél hozzáadható void visszatérési típus, jelezve, hogy a függvény nem ad vissza értéket.
A deklarált típusok futásidőben azt is ellenőrzik, hogy a függvények megfelelő típusú választ adnak vissza.
<?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
Ha egy függvényargumentum, visszatérési érték vagy osztálytulajdonság egynél több típusú lehet, akkor típusunió deklarálható.
<?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);
Amikor kóddal dolgozunk, előfordulhat, hogy nem tudunk típust megadni.
A PHP 8.0-tól kezdve van egy mixed nevű kiskapu típus.
A mixed egyenértékű a object|resource|array|string|float|int|bool|null típusunióval.
Már egy ideje a városi hivatalban dolgozol, és kifejlesztettél néhány eszközt, amelyek felgyorsítják a mindennapi munkádat, például az űrlapok kitöltését.
Most egy új kolléga csatlakozik hozzád, és rájöttél, hogy az eszközeid nem biztos, hogy maguktól érthetőek. Sok furcsa szokás van a hivatalodban, például hogy az űrlapokat mindig nagybetűkkel kell kitölteni, és nem szabad üresen hagyni a mezőket.
Első lépésként úgy döntesz, hogy PHP-típusdeklarációkat adsz hozzá, hogy az új kollégád könnyebben belevághasson, és elkezdhesse használni az eszközeidet.
Address osztály típusainak deklarálásaAdj hozzá típusdeklarációkat az Address osztály minden deklarált tulajdonságához.
Minden osztálytulajdonságot stringként kell deklarálni.
Adj hozzá paramétertípus-deklarációt és visszatérési típusdeklarációt a Form osztály blanks metódusához.
A metódus egy egész szám hosszúságot kap bemenetként, és az üres sor string reprezentációját adja vissza.
Adj hozzá paramétertípus-deklarációt és visszatérési típusdeklarációt a Form osztály letters metódusához.
A metódus egy stringet kap bemenetként, amely szavakat reprezentál, és betűk tömbjét adja vissza.
Adj hozzá paramétertípus-deklarációkat és visszatérési típusdeklarációt a Form osztály checkLength metódusához.
A metódus egy string szót és egy egész szám maximális hosszúságot kap bemenetként, és egy igaz vagy hamis értéket ad vissza.
Adj hozzá paramétertípus-deklarációt, amely a korábban frissített Address osztályt használja, és visszatérési típusdeklarációt a Form osztály formatAddress metódusához.
A metódus egy Address-t kap bemenetként, és egy formázott stringet ad vissza.
Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) PHP nyelvet 11 fogalom121 feladat segítségével, valódi emberi mentorálással, mindez ingyen.