Rumah >pembangunan bahagian belakang >tutorial php >Petua Pengambil dan Pengubah Suai PHP: Daripada Pemula kepada Pakar

Petua Pengambil dan Pengubah Suai PHP: Daripada Pemula kepada Pakar

WBOY
WBOYasal
2023-12-23 13:01:10724semak imbas

Petua Pengambil dan Pengubah Suai PHP: Daripada Pemula kepada Pakar

Dari pemula hingga mahir: Kuasai kemahiran getter dan modifier dalam PHP

Dalam pengaturcaraan PHP, getter (Getter) dan pengubahsuai (Setter) adalah konsep dan kemahiran yang sangat penting. Ia digunakan secara meluas dalam pengaturcaraan berorientasikan objek untuk mencapai pengkapsulan dan keselamatan data. Artikel ini akan memperkenalkan konsep, fungsi dan contoh kod khusus bagi getter dan pengubah, membantu pembaca menguasai kemahiran getter dan pengubah suai dalam PHP, daripada kemasukan kepada kecekapan.

1. Konsep dan fungsi asas pengambil dan pengubah suai

Pengambil dan pengubah suai ialah sepasang kaedah untuk mengakses dan mengubah suai sifat objek. Ia digunakan terutamanya untuk melindungi hak akses dan data integriti. Getters digunakan untuk mendapatkan nilai harta objek, dan pengubah suai digunakan untuk menetapkan nilai harta objek. Dengan menggunakan pengambil dan pengubah suai, kami boleh mengakses dan mengubah suai sifat di luar objek dengan selamat, mengelakkan potensi masalah yang disebabkan oleh akses langsung dan pengubahsuaian sifat.

Konsep asas getter dan modifiers adalah seperti berikut:

  1. Getter (Getter): Getter ialah kaedah yang digunakan untuk mendapatkan nilai sifat sesuatu objek. Secara umum, peraturan penamaan untuk getter adalah bermula dengan get, diikuti dengan kaedah penamaan kes unta bagi nama atribut. Sebagai contoh, untuk pengambil dengan harta bernama umur, namakannya getAge().
  2. Pengubahsuai (Setter): Pengubah suai ialah kaedah yang digunakan untuk menetapkan nilai sifat sesuatu objek. Secara umum, peraturan penamaan untuk pengubah adalah bermula dengan set, diikuti dengan kaedah penamaan kes unta bagi nama atribut. Sebagai contoh, untuk pengubah suai dengan sifat bernama umur, namakannya setAge().

Fungsi getter dan pengubahsuai adalah seperti berikut:

  1. Merangkum hak akses atribut: Dengan menggunakan getter dan pengubah suai, kami boleh mengehadkan hak akses atribut dalam objek, mengelakkan akses luaran terus kepada atribut, dan meningkatkan keselamatan keselamatan data.
  2. Kawal julat tugasan atribut: Melalui pengubahsuai, kami boleh menyemak dan mengehadkan penetapan atribut untuk memastikan nilai atribut adalah seperti yang diharapkan dan sah. Contohnya, untuk atribut umur, anda boleh mengehadkan umur kepada julat yang munasabah melalui pengubah suai.
  3. Operasi atribut lanjutan: Dalam getter dan pengubah suai, kami boleh menambah logik dan operasi tambahan, seperti pengiraan, pengesahan, pengelogan, dll., untuk meningkatkan keupayaan mengendalikan atribut objek.

2. Contoh dan penggunaan kod khusus

Di bawah, kami akan menggunakan contoh khusus untuk menunjukkan cara menggunakan getter dan pengubah suai. Katakan kita mempunyai kelas yang dipanggil Orang dengan tiga atribut: nama, umur dan jantina. Kita perlu menggunakan getter dan pengubah suai untuk merangkum dan mengawal akses dan pengubahsuaian sifat ini.

Pertama sekali, kami mentakrifkan kelas Orang:

class Person {
    private $name;
    private $age;
    private $gender;

    public function __construct($name, $age, $gender) {
        $this->name = $name;
        $this->age = $age;
        $this->gender = $gender;
    }

    public function getName() {
        return $this->name;
    }

    public function getAge() {
        return $this->age;
    }

    public function getGender() {
        return $this->gender;
    }

    public function setName($name) {
        $this->name = $name;
    }

    public function setAge($age) {
        if ($age < 0 || $age > 150) {
            throw new Exception("Invalid age");
        }
        $this->age = $age;
    }

    public function setGender($gender) {
        if ($gender != 'male' && $gender != 'female') {
            throw new Exception("Invalid gender");
        }
        $this->gender = $gender;
    }
}

Dalam kod di atas, kami mentakrifkan kelas Orang dan mencipta atribut $name, $age dan $jantina, serta pengambil dan pengubahsuainya. Dalam pengubah suai, kami menambahkan beberapa logik pengesahan untuk memastikan kesahihan nilai atribut.

Kini, kita boleh menggunakan kelas Person untuk mencipta objek dan mengakses serta mengubah suai sifat menggunakan getter dan pengubah suai:

$person = new Person("Tom", 25, "male");
echo $person->getName();  // 输出:Tom

$person->setName("Jerry");
echo $person->getName();  // 输出:Jerry

$person->setAge(30);
echo $person->getAge();  // 输出:30

$person->setGender("female");
echo $person->getGender();  // 输出:female

$person->setAge(200);  // 抛出异常:Invalid age
$person->setGender("unknown");  // 抛出异常:Invalid gender

Dengan contoh kod di atas, kita dapat melihat bahawa selepas mencipta objek, kita boleh mendapatkan sifat menggunakan nilai getters, dan gunakan pengubah suai untuk menetapkan nilai harta itu. Dalam pengubah suai, kami menambahkan beberapa logik pengesahan untuk memastikan kesahihan nilai atribut. Jika nilai hartanah tidak memenuhi jangkaan, pengubah suai akan membuang pengecualian dan menggesa pembangun membuat pembetulan.

Kesimpulan

Artikel ini memperkenalkan konsep, fungsi dan contoh kod khusus getter dan pengubah suai dalam PHP. Getter dan pengubah suai ialah alat penting untuk mencapai pengkapsulan dan keselamatan data, dan digunakan secara meluas dalam pengaturcaraan berorientasikan objek. Dengan menguasai kemahiran getter dan pengubah suai, kami boleh melindungi hak akses atribut dan integriti data dengan lebih baik, serta meningkatkan keselamatan dan kebolehselenggaraan kod. Dengan mengkaji kandungan dan contoh artikel ini, saya percaya pembaca boleh menguasai penggunaan getter dan pengubah dalam PHP dari kemasukan ke kemahiran.

Atas ialah kandungan terperinci Petua Pengambil dan Pengubah Suai PHP: Daripada Pemula kepada Pakar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn