Rumah tajuk utama php类魔术方法

php类魔术方法

Jun 28, 2018 pm 02:26 PM

* 1.类魔术方法:__get(),__set()实现属性查询器和设置器

 * 2.魔术方法之前介绍过了,需要特定场景触发,由对象自动调用

 * 3.__get($name): 外部通过对象获取对象私有属性或不存在的属性时自动触发

 * 4.__set($name,$value):外部设置私有属性或不存在属性值的时候自动触发

 * 5.魔术方法可以适用于所有存在或不存在的类属性,不需要再为每个属性创建对应的访问接口

class GirlFriend3 {
    //声明属性
    private $name;
    private $age;
    private $stature;
    private $data=[];
    
    //构造方法
    public function __construct($name='',$age=0,array $stature=[]) 
    {
        $this->name = $name;
        $this->age = $age;
        $this->stature = $stature;
    }
    
    //魔术方法:查询器
    public function __get($name)
    {
//        return $this->$name;
        //加入检测:访问不存在的属性时给出提示信息
//        return isset($this->$name)?$this->$name:'无此属性';
        
        //如果类中添加一个自定义的数据收集器$data,就从这里取值
        $msg = null;
        if (isset($this->$name)) {
            $msg = $this->$name;
        } elseif (isset($this->data[$name])) {
            $msg = $this->data[$name];
        
        } else {
            $msg = '无此属性';
        }
        
        return $msg;
    }
    
    //魔术方法:设置器
    public function __set($name, $value)
    {
        //不做检测直接设置
//        $this->$name = $value;
        
        //完善设置器,实现对不存在属性的创建
        //如果访问的是已存在的属性,则直接输出
        if (isset($this->$name)) {
            $this->$name = $value; //输出属性
        } else {
            //如果属性不存在,则创建它并保存到类属性$data数组中
            $this->data[$name] = $value;
        }
    }
}
Salin selepas log masuk
Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apakah kaedah Magic PHP (__construct, __destruct, __call, __get, __set, dll) dan menyediakan kes penggunaan? Apr 03, 2025 am 12:03 AM

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

Terangkan kaedah sihir __invoke dalam PHP. Terangkan kaedah sihir __invoke dalam PHP. Apr 12, 2025 am 12:07 AM

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

Analisis Contoh Penggunaan Kelas PHP: Ketahui cara mentakrif dan menggunakan kelas Analisis Contoh Penggunaan Kelas PHP: Ketahui cara mentakrif dan menggunakan kelas Mar 11, 2024 pm 02:21 PM

Dalam pengaturcaraan PHP, kelas ialah konsep yang sangat penting. Ia boleh membantu kami mengatur dan mengurus kod dengan lebih baik, serta meningkatkan kebolehgunaan semula dan kebolehselenggaraan. Artikel ini akan menerangkan cara untuk mentakrif dan menggunakan kelas PHP melalui analisis contoh dan menyediakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Definisi kelas Dalam PHP, gunakan kelas kata kunci untuk mentakrifkan kelas Kod sampel adalah seperti berikut: classPerson{public$name;

Memahami kelas dan objek PHP: Asas pengaturcaraan berorientasikan objek Memahami kelas dan objek PHP: Asas pengaturcaraan berorientasikan objek May 11, 2023 am 09:12 AM

PHP ialah bahasa skrip bahagian pelayan sumber terbuka yang boleh dibenamkan dalam HTML dan membuat tapak web menggunakan sintaks PHP standard atau campuran HTML dan kod PHP. Pengaturcaraan berorientasikan objek (OOP) ialah paradigma bahasa pengaturcaraan moden, dan PHP adalah salah satu bahasa yang menyokong OOP. Pengaturcaraan OOP boleh membantu pembangun mengatur dan menyelenggara aplikasi yang kompleks dengan lebih baik serta meningkatkan kebolehgunaan semula dan kebolehskalaan kod. Dalam PHP, kelas dan objek ialah dua konsep teras pengaturcaraan berorientasikan objek. Artikel ini akan memperkenalkan PHP

Amalan terbaik untuk kaedah ajaib dalam program PHP Amalan terbaik untuk kaedah ajaib dalam program PHP Jun 07, 2023 am 08:01 AM

Kaedah ajaib adalah salah satu ciri penting dalam program PHP Ia dipanggil kaedah ajaib kerana ia menyediakan cara untuk melaksanakan operasi tertentu secara automatik dalam kelas tanpa memanggilnya secara eksplisit. Dalam PHP, terdapat pelbagai kaedah ajaib, termasuk __construct, __destruct, __get, __set, __call, __toString, __sleep, __wakeup, __isset, __unset, dll. Kaedah ini bukan sahaja membantu meningkatkan

Cara menggunakan kaedah ajaib untuk meningkatkan kefungsian kelas PHP Cara menggunakan kaedah ajaib untuk meningkatkan kefungsian kelas PHP Aug 03, 2023 pm 10:43 PM

Cara menggunakan kaedah sihir untuk meningkatkan kefungsian kelas PHP Pengenalan: PHP mempunyai banyak ciri berkuasa dan fungsi terbina dalam, salah satunya ialah kaedah ajaib. Kaedah ajaib ialah satu set fungsi khas yang boleh dipanggil secara tersirat dalam kelas untuk meningkatkan fungsinya. Artikel ini akan meneroka cara menggunakan kaedah ajaib dengan betul untuk meningkatkan kefungsian kelas PHP dan menyediakan beberapa contoh kod praktikal. 1. Kaedah pembinaan dan kaedah pemusnahan Kaedah pembinaan (__construct) dan kaedah pemusnahan (__destruct) adalah dua sihir yang paling asas

Abstraksi kelas PHP Abstraksi kelas PHP Aug 30, 2023 pm 11:17 PM

PengenalanPengaturcaraan berorientasikan objek,kelas ananasyang boleh dibuat segera,iaitu tidak mungkinmengisytiharkanobjek kelas tersebut.PHPmenyokongkonsepkelasbintangsejakversi5.0Akelasditakrifkandengankatakuncikatakuncimenjadikelasabstrak.Selanjutnya,mana-mana kelas

Terokai peranan dan keperluan kaedah abstrak dalam kelas PHP Terokai peranan dan keperluan kaedah abstrak dalam kelas PHP Mar 20, 2024 am 09:33 AM

Tajuk: Meneroka peranan dan keperluan kaedah abstrak dalam kelas PHP Kaedah abstrak ialah konsep penting dalam pengaturcaraan berorientasikan objek, dan ia memainkan peranan penting dalam kelas PHP. Artikel ini akan meneroka secara mendalam peranan dan keperluan kaedah abstrak dalam kelas PHP, dan menunjukkan penggunaan dan kelebihannya melalui contoh kod tertentu. Apakah kaedah abstrak? Dalam PHP, kaedah abstrak merujuk kepada kaedah yang ditakrifkan dalam kelas abstrak tanpa pelaksanaan khusus. Kaedah abstrak mesti dilaksanakan dalam subkelas, jika tidak, subkelas juga mesti diisytiharkan sebagai kelas abstrak. Dengan mentakrifkan kaedah abstrak, kita boleh mahu