Selesaikan ralat PHP: akses kepada sifat peribadi
Selesaikan ralat PHP: akses kepada sifat persendirian
Dalam proses pengaturcaraan PHP, kami sering menghadapi ralat apabila mengakses sifat persendirian. Sifat persendirian merujuk kepada sifat yang ditakrifkan dalam kelas yang hanya boleh diakses dalam kelas ini. Jika anda cuba mengakses harta peribadi di luar kelas, ralat akan dilaporkan. Dalam artikel ini, kami akan menerangkan cara menyelesaikan masalah biasa ini.
Mula-mula, mari lihat kod contoh mudah:
class Person { private $name = "John"; public function getName() { return $this->name; } } $person = new Person(); echo $person->name; // 访问私有属性,报错
Kod di atas mentakrifkan kelas bernama Person, yang mengandungi harta peribadi $name dan kaedah awam getName untuk mengembalikan nilai $name. Di luar kelas, kami mencipta objek Orang dan cuba mengakses harta peribadi $name secara terus. Walau bagaimanapun, operasi sedemikian akan mengakibatkan ralat.
Untuk menyelesaikan masalah ini, kami boleh menyediakan kaedah awam di dalam kelas untuk mengakses harta persendirian secara tidak langsung. Kod yang diubah suai adalah seperti berikut:
class Person { private $name = "John"; public function getName() { return $this->name; } public function setName($newName) { $this->name = $newName; } } $person = new Person(); echo $person->getName(); // 输出 "John" $person->setName("Tom"); echo $person->getName(); // 输出 "Tom"
Dalam kod yang diubah suai, kami menambahkan kaedah awam setName, yang menerima parameter $newName untuk menetapkan nilai harta peribadi $name. Melalui kaedah ini, secara tidak langsung kita boleh mengakses dan mengubah suai harta persendirian di luar kelas.
Selain menyediakan kaedah untuk mendapatkan dan menetapkan hartanah persendirian, kita juga boleh menggunakan kaedah ajaib __get dan __set untuk mengendalikan akses kepada harta persendirian. Kod sampel adalah seperti berikut:
class Person { private $name = "John"; public function __get($property) { if (property_exists($this, $property)) { return $this->$property; } } public function __set($property, $value) { if (property_exists($this, $property)) { $this->$property = $value; } } } $person = new Person(); echo $person->name; // 输出 "John" $person->name = "Tom"; echo $person->name; // 输出 "Tom"
Dalam contoh ini, kami menggunakan kaedah __get dan __set untuk mendapatkan dan menetapkan sifat peribadi. Apabila mengakses harta persendirian, kaedah __get dipanggil, yang mula-mula menyemak sama ada harta itu wujud dan mengembalikan nilainya jika ia wujud. Begitu juga, apabila menetapkan harta persendirian, kaedah __set dipanggil, yang turut menyemak sama ada harta itu wujud dan memberikan nilai baharu kepada harta persendirian.
Melalui kaedah di atas, kita boleh menyelesaikan masalah mengakses harta persendirian. Walau bagaimanapun, kita harus menggunakan kaedah ini dengan berhati-hati, kerana terlalu banyak akses langsung atau pengubahsuaian sifat persendirian boleh memecahkan enkapsulasi, menjadikan kod kurang boleh diselenggara.
Ringkasnya, untuk menyelesaikan masalah mengakses sifat persendirian dalam ralat PHP, kami boleh menyediakan kaedah awam untuk mendapatkan dan menetapkan nilai harta persendirian, atau menggunakan kaedah ajaib __get dan __set untuk mengendalikan akses kepada harta persendirian. Apabila menulis kod, kita harus menggunakan kaedah ini secara munasabah untuk memastikan pengkapsulan dan kebolehselenggaraan kod.
Atas ialah kandungan terperinci Selesaikan ralat PHP: akses kepada sifat peribadi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Selesaikan ralat PHP: Kelas ruang nama yang ditentukan tidak ditemui Semasa membangunkan menggunakan PHP, kami sering menghadapi pelbagai mesej ralat. Salah satu ralat biasa ialah "Kelas ruang nama yang ditentukan tidak dijumpai". Ralat ini biasanya disebabkan oleh fail kelas yang diimport tidak dirujuk dengan betul ruang nama. Artikel ini menerangkan cara menyelesaikan masalah ini dan menyediakan beberapa contoh kod. Mula-mula, mari kita lihat contoh mesej ralat biasa: Fatalerror:UncaughtError:C

Cara menyelesaikan isu kebenaran fail dalam pembangunan C++ Semasa proses pembangunan C++, isu kebenaran fail adalah cabaran biasa. Dalam kebanyakan kes, kita perlu mengakses dan mengendalikan fail dengan kebenaran yang berbeza, seperti membaca, menulis, melaksanakan dan memadam fail. Artikel ini akan memperkenalkan beberapa kaedah untuk menyelesaikan masalah kebenaran fail dalam pembangunan C++. 1. Fahami kebenaran fail Sebelum menyelesaikan masalah kebenaran fail, kita perlu memahami konsep asas kebenaran fail terlebih dahulu. Kebenaran fail merujuk kepada pemilik fail, kumpulan pemilik dan hak akses pengguna lain kepada fail tersebut. Dalam Li

Menyelesaikan ralat PHP: Masalah yang dihadapi apabila mewarisi kelas induk Dalam PHP, pewarisan ialah ciri penting pengaturcaraan berorientasikan objek. Melalui pewarisan, kita boleh menggunakan semula kod sedia ada dan melanjutkan serta menambah baiknya tanpa mengubah suai kod asal. Walaupun warisan digunakan secara meluas dalam pembangunan, kadangkala anda mungkin menghadapi beberapa masalah ralat semasa mewarisi daripada kelas induk Artikel ini akan menumpukan pada menyelesaikan masalah biasa yang dihadapi apabila mewarisi daripada kelas induk dan memberikan contoh kod yang sepadan. Soalan 1: Kelas induk tidak ditemui Semasa proses mewarisi kelas induk, jika sistem tidak

Cara menyelesaikan masalah komunikasi berbilang benang dalam pembangunan C++ adalah kaedah pengaturcaraan biasa dalam pembangunan perisian moden Ia membolehkan program melaksanakan pelbagai tugas pada masa yang sama semasa pelaksanaan, meningkatkan keselarasan dan tindak balas program. . Walau bagaimanapun, pengaturcaraan berbilang benang juga akan membawa beberapa masalah, salah satu masalah penting ialah komunikasi antara berbilang benang. Dalam pembangunan C++, komunikasi berbilang benang merujuk kepada penghantaran dan perkongsian data atau mesej antara benang yang berbeza. Komunikasi berbilang benang yang betul dan cekap adalah penting untuk memastikan ketepatan dan prestasi program. Artikel ini

WordPress ialah sistem pengurusan kandungan sumber terbuka yang berkuasa yang digunakan secara meluas dalam pembinaan laman web dan penerbitan blog. Walau bagaimanapun, dalam proses menggunakan WordPress, kadangkala anda menghadapi masalah kandungan Cina yang memaparkan aksara bercelaru, yang membawa masalah kepada pengalaman pengguna dan pengoptimuman SEO. Bermula dari punca utama, artikel ini memperkenalkan sebab yang mungkin mengapa kandungan Cina WordPress memaparkan aksara bercelaru, dan menyediakan contoh kod khusus untuk menyelesaikan masalah ini. 1. Analisis punca Masalah tetapan set aksara pangkalan data: WordPress menggunakan pangkalan data untuk menyimpan tapak web

Ringkasan soalan lazim tentang mengimport data Excel ke dalam Mysql: Bagaimana untuk menyelesaikan masalah ketidakpadanan jenis medan? Mengimport data ialah operasi yang sangat biasa dalam pengurusan pangkalan data, dan Excel, sebagai alat pemprosesan data biasa, biasanya digunakan untuk pengumpulan dan organisasi data. Walau bagaimanapun, apabila mengimport data Excel ke dalam pangkalan data Mysql, anda mungkin menghadapi masalah ketidakpadanan jenis medan. Artikel ini akan membincangkan isu ini dan menyediakan beberapa penyelesaian. Mula-mula, mari kita fahami asal usul masalah ketidakpadanan jenis medan.

Ralat PHP: Penyelesaian malar tidak ditentukan! Dalam pengaturcaraan PHP, kita sering menghadapi ralat tidak jelas yang berterusan. Ralat ini biasanya berlaku apabila pemalar tidak ditentukan digunakan dalam kod. Artikel ini akan memperkenalkan konsep pemalar dan cara menyelesaikan masalah pemalar tidak ditentukan. Pertama, mari kita fahami apa itu pemalar. Dalam PHP, pemalar ialah nilai yang pernah ditakrifkan tidak boleh diubah lagi. Pemalar ditakrifkan menggunakan fungsi define(). Berikut ialah contoh mudah: <?phpdefine("

Bagaimana untuk menyelesaikan masalah gelung tak terhingga dalam pembangunan C++ Dalam pembangunan C++, gelung tak terhingga adalah masalah yang sangat biasa tetapi sangat sukar. Apabila atur cara jatuh ke dalam gelung tak terhingga, ia akan menyebabkan atur cara gagal dilaksanakan seperti biasa, malah boleh menyebabkan sistem ranap. Oleh itu, menyelesaikan masalah gelung tak terhingga adalah salah satu kemahiran penting dalam pembangunan C++. Artikel ini akan memperkenalkan beberapa kaedah biasa untuk menyelesaikan masalah gelung tak terhingga. Menyemak Keadaan Gelung Salah satu punca paling biasa gelung tidak berkesudahan adalah keadaan gelung yang salah. Apabila keadaan gelung sentiasa benar, gelung akan terus dilaksanakan, menghasilkan gelung tak terhingga.
