Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang beberapa kelas kaedah sihir PHP biasa

Penjelasan terperinci tentang beberapa kelas kaedah sihir PHP biasa

PHPz
PHPzasal
2023-03-31 09:08:17402semak imbas

PHP ialah bahasa skrip sebelah pelayan yang sangat popular yang digunakan secara meluas dalam pembangunan web dan pemprosesan data. Kaedah ajaib dalam PHP merujuk kepada beberapa fungsi khas yang dipanggil secara automatik semasa penciptaan, pemusnahan, penugasan, dsb. objek untuk memudahkan pengaturcara mengendalikan objek. Artikel ini akan memperkenalkan beberapa kelas kaedah sihir PHP biasa.

  1. kaedah __construct()

kaedah __construct() ialah kaedah pembinaan objek Apabila objek dicipta, kaedah ini dipanggil secara automatik. Dalam kaedah ini, beberapa operasi permulaan boleh diselesaikan, seperti memberikan nilai kepada sifat, menyambung ke pangkalan data, dsb. Contoh khusus adalah seperti berikut:

class Person{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
}
$person = new Person('张三',18);
echo $person->name; //输出"张三"
echo $person->age; //输出18
  1. kaedah __destruct()

kaedah __destruct() ialah kaedah pemusnah objek apabila objek dimusnahkan, ini kaedah akan dipanggil secara automatik. Dalam kaedah ini, beberapa operasi pembersihan boleh diselesaikan, seperti menutup sambungan pangkalan data. Contoh khusus adalah seperti berikut:

class Person{
    public function __destruct(){
        echo "对象已经被销毁";
    }
}
$person = new Person();
unset($person); //销毁对象
//输出 "对象已经被销毁"
  1. kaedah __get() dan kaedah __set()

kaedah __get() dan kaedah __set() digunakan untuk mengakses Sifat yang ditentukan dan penetapan kepada sifat yang tidak ditentukan. Khususnya, apabila mengakses atribut yang tidak ditentukan, sistem akan memanggil kaedah __get() secara automatik dan menghantar nama atribut sebagai parameter apabila memberikan nilai kepada atribut yang tidak ditentukan, sistem akan memanggil kaedah __set() secara automatik nama atribut dan nilai atribut sebagai parameter. Contoh khusus adalah seperti berikut:

class Person{
    private $name;
    public function __get($property){
        if($property=='name'){
            return $this->name;
        }
    }
    public function __set($property,$value){
        if($property=='name'){
            $this->name = $value;
        }
    }
}
$person = new Person();
$person->name = "张三"; //赋值给未定义的属性
echo $person->name; //访问未定义的属性
//输出 "张三"
  1. __toString() kaedah

__toString() kaedah digunakan untuk mengembalikan perwakilan rentetan objek. Apabila objek digunakan untuk output, operasi rentetan, dsb., sistem akan memanggil kaedah ini secara automatik. Contoh khusus adalah seperti berikut:

class Person{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
    public function __toString(){
        return "姓名:".$this->name." 年龄:".$this->age;
    }
}
$person = new Person('张三',18);
echo $person; //输出 "姓名:张三 年龄:18"
  1. kaedah __klon()

kaedah __klon() digunakan untuk menyalin objek. Apabila objek diklon, sistem secara automatik memanggil kaedah ini. Dalam kaedah ini, operasi seperti menyalin atau memulakan beberapa sifat boleh diselesaikan. Contoh khusus adalah seperti berikut:

class Person{
    public $name;
    public $age;
    public function __construct($name,$age){
        $this->name = $name;
        $this->age = $age;
    }
    public function __clone(){
        $this->name = "克隆对象";
        $this->age = 0;
    }
}
$person1 = new Person('张三',18);
$person2 = clone $person1;
echo $person1->name; //输出 "张三"
echo $person2->name; //输出 "克隆对象"
echo $person1->age; //输出 18
echo $person2->age; //输出 0

Selain kaedah ajaib di atas, terdapat kaedah ajaib lain dalam PHP, seperti kaedah __isset(), kaedah __unset() dsb. Dengan menggunakan kaedah ajaib ini, anda boleh menyelesaikan operasi dan pengurusan objek dengan mudah dan meningkatkan kecekapan pembangunan.

Atas ialah kandungan terperinci Penjelasan terperinci tentang beberapa kelas kaedah sihir PHP biasa. 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