Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menukar pengubah suai awam dalam kelas dalam php

Bagaimana untuk menukar pengubah suai awam dalam kelas dalam php

PHPz
PHPzasal
2023-04-10 09:34:40557semak imbas

Pengubah suai awam dalam kelas PHP digunakan secara meluas Ia digunakan untuk menunjukkan bahawa atribut atau kaedah kelas boleh dilihat dan boleh diakses oleh kod luaran. Walau bagaimanapun, apabila kod itu berkembang dan menjadi lebih kompleks, kita mungkin perlu mengubah suai akses kepada sifat atau kaedah tertentu. Pada masa ini, kita perlu mempertimbangkan cara menukar pengubah suai awam dalam kelas.

Pengubah suai awam dalam PHP

Dalam PHP, atribut dan kaedah kelas ditetapkan kepada awam secara lalai. Ini bermakna mereka boleh dilihat dan digunakan oleh mana-mana kod. Sebagai contoh, tentukan kelas:

class ExampleClass {
    public $public_property = 'This is a public property';
    public function public_method() {
        echo 'This is a public method';
    }
}

Kami mentakrifkan kelas bernama ExampleClass, yang mengandungi harta awam $public_property dan kaedah awam kaedah_publik. Sifat dan kaedah ini boleh diakses dan digunakan oleh kod luaran.

Tukar pengubah suai awam

Kami boleh mengawal akses kepada sifat dan kaedah kelas dengan mengubah suai pengubah akses. Dalam PHP, terdapat tiga pengubah akses: awam, dilindungi dan peribadi.

Secara lalai, kami menggunakan pengubah suai awam. Walau bagaimanapun, kadangkala kita mungkin perlu menetapkan kebenaran akses harta atau kaedah tertentu kepada dilindungi atau peribadi. Jadi, bagaimana untuk menukar pengubah suai awam dalam kelas?

  1. Ubah suai hak akses atribut

Untuk atribut dalam kelas, kami boleh menggunakan pengubah suai dilindungi atau peribadi untuk mengehadkan hak akses mereka. Sifat yang dilindungi hanya boleh diakses dalam kelas dan subkelas, dan sifat persendirian hanya boleh diakses dalam kelas.

class ExampleClass {
    public $public_property = 'This is a public property';
    protected $protected_property = 'This is a protected property';
    private $private_property = 'This is a private property';
    public function public_method() {
        echo 'This is a public method';
    }
}

Dalam contoh di atas, kami menentukan tiga sifat dalam ExampleClass: $public_property, $protected_property dan $private_property. Antaranya, $public_property ialah harta awam, $protected_property ialah harta yang dilindungi, dan $private_property ialah harta persendirian.

  1. Ubah suai kebenaran akses kaedah

Untuk kaedah dalam kelas, kami juga boleh menggunakan pengubah suai dilindungi atau peribadi untuk mengehadkan kebenaran akses mereka. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa kaedah dilindungi dan peribadi hanya boleh digunakan di dalam kelas.

class ExampleClass {
    public function public_method() {
        echo 'This is a public method';
        $this->protected_method();
        $this->private_method();
    }
    protected function protected_method() {
        echo 'This is a protected method';
    }
    private function private_method() {
        echo 'This is a private method';
    }
}

Dalam contoh di atas, kami mentakrifkan kaedah public_method dan juga mentakrifkan dua kaedah terlindung protected_method dan private method private_method. Dalam public_method, kita boleh menggunakan $this untuk mengakses kaedah yang dilindungi dan peribadi.

Ringkasan

Dalam PHP, pengubah suai awam digunakan secara meluas dan ia digunakan pada atribut dan kaedah kelas secara lalai. Walau bagaimanapun, jika kita perlu mengehadkan harta atau kaedah untuk hanya digunakan dalam kelas, kita boleh menggunakan pengubah suai yang dilindungi atau peribadi. Kaedah ini boleh mengawal kebenaran akses sifat dan kaedah dalam kelas dengan berkesan, dengan itu memastikan keselamatan dan kebolehselenggaraan kod.

Atas ialah kandungan terperinci Bagaimana untuk menukar pengubah suai awam dalam kelas dalam php. 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