⊗ppOpBsGSA 14 of 107 menu

Перавагі сетэраў і гетэраў у ААП у PHP

У папярэднім уроку мы зрабілі для кожнай уласцівасці гетэр і сетэр. Можа ўзнікнуць пытанне, навошта патрэбныя такія складанасці, бо фактычна таго ж самага эфекту можна дасягнуць, калі зрабіць уласцівасці публічнымі, а не прыватнымі.

Справа ў тым, што гетэры і сетэры маюць перавагу: перад зваротам да ўласцівасці можна выконваць некаторыя праверкі. Напрыклад, у нашым выпадку мы пры запісу імя і прозвішча можам праверыць, што новае значэнне не з'яўляецца пустым радком:

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

Давайце праверым, як гэта працуе. Для пачатку створым аб'ект класа:

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

Цяпер паспрабуем запісаць карэктнае значэнне:

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

А цяпер паспрабуем запісаць некарэктнае:

<?php $user->setName(''); // памылка ?>

У класе Employee у сетэры ўзросту зрабіце праверку на тое, што ўзрост павінен быць ад 0 да 120.

У класе Employee у гетэры зарплаты зрабіце так, каб пры чытанні зарплаты ў канец яе значэння дадаваўся знак даляра.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць