⊗ppOpBsGSA 14 of 107 menu

Fordeler med settere og gettere i OOP i PHP

I forrige leksjon lagde vi en getter og setter for hver egenskap. Man kan spørre seg hvorfor slike komplikasjoner er nødvendige, siden man faktisk kan oppnå samme effekt ved å gjøre egenskapene offentlige, ikke private.

Saken er at gettere og settere har en fordel: før tilgang til en egenskap kan man utføre noen kontroller. For eksempel, i vårt tilfelle kan vi når vi skriver fornavn og etternavn sjekke at den nye verdien ikke er en tom streng:

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

La oss sjekke hvordan dette fungerer. Først, la oss opprette et objekt av klassen:

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

La oss nå prøve å skrive en korrekt verdi:

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

Og la oss nå prøve å skrive en ukorrekt verdi:

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

I klassen Employee, i setteren for alder, gjør en sjekk for at alderen må være fra 0 til 120.

I klassen Employee, i getteren for lønn, gjør slik at når man leser lønnen legges det til et dollartegn på slutten av verdien.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis