⊗ppOpBsGSA 14 of 107 menu

Lợi ích của setter và getter trong OOP PHP

Trong bài học trước, chúng ta đã tạo getter và setter cho mỗi thuộc tính. Có thể nảy sinh câu hỏi: tại sao cần những phức tạp như vậy, bởi trên thực tế có thể đạt được hiệu quả tương tự nếu làm cho các thuộc tính trở thành public thay vì private.

Vấn đề là getter và setter có một lợi thế: trước khi truy cập vào thuộc tính có thể thực hiện một số kiểm tra. Ví dụ, trong trường hợp của chúng ta, khi ghi tên và họ, chúng ta có thể kiểm tra rằng giá trị mới không phải là một chuỗi rỗng:

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

Hãy kiểm tra cách thức hoạt động của nó. Trước hết, hãy tạo một đối tượng của lớp:

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

Bây giờ hãy thử ghi một giá trị hợp lệ:

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

Và bây giờ hãy thử ghi một giá trị không hợp lệ:

<?php $user->setName(''); // lỗi ?>

Trong lớp Employee, trong setter của tuổi, hãy thêm kiểm tra rằng tuổi phải nằm trong khoảng từ 0 đến 120.

Trong lớp Employee, trong getter của lương, hãy làm sao để khi đọc lương, ở cuối giá trị của nó được thêm ký hiệu đô la.

Tiếng Việt
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ʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối