⊗ppOpBsGSA 14 of 107 menu

Avantages des accesseurs et mutateurs en POO en PHP

Dans la leçon précédente, nous avons créé un accesseur et un mutateur pour chaque propriété. La question peut se poser de savoir pourquoi de telles complexités sont nécessaires, car en fait le même effet pourrait être obtenu en rendant les propriétés publiques plutôt que privées.

Le fait est que les accesseurs et mutateurs présentent un avantage : avant d'accéder à la propriété, il est possible d'effectuer certaines vérifications. Par exemple, dans notre cas, lors de l'assignation du nom et du prénom, nous pouvons vérifier que la nouvelle valeur n'est pas une chaîne vide :

<?php class User { private $name; private $surn; public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'name is incorrect'; } } public function setSurn($surn) { if (strlen($surn) > 0) { $this->surn = $surn; } else { echo 'surn is incorrect'; } } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

Vérifions comment cela fonctionne. Commençons par créer un objet de la classe :

<?php $user = new User(); ?>

Maintenant, essayons d'assigner une valeur correcte :

<?php $user->setName('john'); ?>

Et maintenant, essayons d'assigner une valeur incorrecte :

<?php $user->setName(''); // erreur ?>

Dans la classe Employee, dans le mutateur de l'âge, implémentez une vérification pour que l'âge doit être compris entre 0 et 120.

Dans la classe Employee, dans l'accesseur du salaire, faites en sorte que lors de la lecture du salaire, un signe dollar soit ajouté à la fin de sa valeur.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser