Parcours
/
PHP
PHP
/
Exercices
/
Bureau municipal
Bureau municipal

Bureau municipal

Exercice d'apprentissage

Introduction

Déclaration de type

Les déclarations de type en PHP fournissent des assertions de type à l'exécution pour les arguments de fonction, les valeurs de retour et les propriétés de classe. Sur les fonctions, on peut ajouter un type de retour void pour indiquer qu'aucune valeur n'est renvoyée par la fonction. Les types déclarés servent aussi d'assertions à l'exécution, garantissant que les fonctions renvoient une réponse au type cohérent.

<?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

Unions de types

Si un argument de fonction, une valeur de retour ou une propriété de classe peut être de plusieurs types, on peut déclarer une union de types.

<?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);

Types mixtes

Lorsqu'on travaille avec du code, il n'est pas toujours possible de spécifier un type. À partir de PHP 8.0, un type d'échappement nommé mixed est fourni. Mixed équivaut à une union de types object|resource|array|string|float|int|bool|null.

Instructions

Tu travailles au bureau municipal depuis un moment, et tu as développé une série d'outils qui accélèrent ton travail quotidien, par exemple pour remplir des formulaires.

Un nouveau collègue vient d'arriver, et tu t'es rendu compte que tes outils n'étaient peut-être pas très explicites. Il y a beaucoup de conventions étranges dans ton bureau, comme le fait de toujours remplir les formulaires en majuscules et d'éviter de laisser des champs vides.

Pour commencer, tu décides d'ajouter des déclarations de type PHP pour que ton nouveau collègue puisse s'y mettre tout de suite et commencer à utiliser tes outils plus facilement.

1. Déclare les types de la classe Address

Ajoute une déclaration de type à chacune des propriétés déclarées de la classe Address. Chaque propriété de classe doit être déclarée comme une string.

2. Déclare les types pour remplir le formulaire avec des valeurs vides

Ajoute une déclaration de type de paramètre et une déclaration de type de retour à la méthode blanks de la classe Form. La méthode doit prendre en paramètre un entier correspondant à la longueur, et renvoyer une string qui représente la ligne vide.

3. Déclare le type pour découper une valeur en lettres séparées

Ajoute une déclaration de type de paramètre et une déclaration de type de retour à la méthode letters de la classe Form. La méthode doit prendre en paramètre une string représentant des mots, et renvoyer un tableau de lettres.

4. Déclare le type pour vérifier si une valeur tient dans un formulaire

Ajoute des déclarations de type de paramètre et une déclaration de type de retour à la méthode checkLength de la classe Form. La méthode doit prendre en paramètre une string (un mot) et un entier correspondant à la longueur maximale, et renvoyer une valeur vrai ou faux.

5. Déclare le type pour mettre en forme une adresse dans le formulaire

Ajoute une déclaration de type de paramètre, en utilisant la classe Address mise à jour précédemment, ainsi qu'une déclaration de type de retour à la méthode formatAddress de la classe Form. La méthode doit prendre en paramètre un Address et renvoyer une string formatée.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
PHP Exercism

Prêt à commencer Bureau municipal ?

Inscris-toi sur Exercism pour apprendre et maîtriser PHP avec 11 concepts122 exercices, et un vrai mentorat humain, le tout gratuitement.