⊗ppOpBsGSA 14 of 107 menu

PHP-də OOP-də setter və getter-lərin üstünlükləri

Əvvəlki dərsdə biz hər bir property üçün getter və setter etdik. Sual yarana bilər ki, nə üçün belə mürəkkəbliklər lazımdır, axı faktiki olaraq eyni effekti əldə etmək olar, əgər property-ləri private deyil, public etsək.

Məsələ ondadır ki, getter və setter-lərin üstünlüyü var: property-ə müraciətdən əvvəl bəzi yoxlamalar yerinə yetirmək olar. Məsələn, bizim vəziyyətimizdə biz ad və soyadı yazarkən yeni dəyərin boş sətir olmadığını yoxlaya bilərik:

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

Gəlin bunun necə işlədiyini yoxlayaq. Əvvəlcə sinif obyekti yaradaq:

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

İndi düzgün dəyəri yazmağa çalışaq:

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

İndi isə düzgün olmayanı yazmağa çalışaq:

<?php $user->setName(''); // xəta ?>

Employee sinfində yaş üçün setter-də yaşın 0 ilə 120 arasında olması yoxlamasını edin.

Employee sinfində maaş üçün getter-də elə edin ki, maaş oxunduqda onun dəyərinin sonuna dollar işarəsi əlavə olunsun.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et