Rumah pembangunan bahagian belakang tutorial php Kaedah Ajaib: Memahami __construct, __destruct dan kaedah teras lain dalam PHP

Kaedah Ajaib: Memahami __construct, __destruct dan kaedah teras lain dalam PHP

Jun 19, 2023 pm 11:22 PM
kaedah sihir __construct __destruct

Kaedah ajaib: Fahami kaedah teras seperti __build dan __destruct dalam PHP

Dalam bahasa PHP, terdapat beberapa kaedah khas yang dipanggil "kaedah ajaib", termasuk __construct, __destruct, dsb. Kaedah ini memainkan peranan penting dalam pengaturcaraan berorientasikan objek dalam PHP. Artikel ini akan menerangkan peranan dan aplikasi praktikal kaedah ini.

__kaedah bina

__kaedah bina ialah kaedah yang sangat penting Ia adalah kaedah yang dipanggil secara automatik apabila PHP mencipta objek baharu. Dalam kaedah ini, kita boleh melakukan beberapa kerja permulaan, seperti menetapkan nilai lalai untuk sifat objek, menyambung ke pangkalan data, dsb. Lebih-lebih lagi, jika kita tidak mentakrifkan kaedah ini, ralat akan berlaku apabila kelas dijadikan instantiated.

Berikut ialah contoh kod:

class Person{
  public $name;
  public $age;
  
  function __construct($name, $age){
    $this->name = $name;
    $this->age = $age;
  }
  
  function showInfo(){
    echo "姓名:" . $this->name . " 年龄:" . $this->age;
  }
}

$person = new Person("张三", 20);
$person->showInfo();
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kelas bernama Person dan mentakrifkan kaedah __construct dalam kelas untuk memulakan nama dan atribut Umur. Apabila membuat instance kelas Person, kami memasukkan "Zhang San" dan 20 sebagai parameter, supaya maklumat peribadi boleh dikeluarkan melalui kaedah $person->showInfo().

__kaedah musnah

kaedah __destruct ialah kaedah yang dipanggil secara automatik apabila objek dimusnahkan. Dalam kaedah ini, kita boleh melakukan beberapa kerja pembersihan, seperti melepaskan beberapa sumber yang diduduki, dsb. Begitu juga, jika kita tidak mentakrifkan kaedah ini, ralat akan berlaku apabila objek dimusnahkan.

Berikut ialah contoh kod:

class Car{
  public $brand;
  
  function __construct($brand){
    $this->brand = $brand;
  }
  
  function run(){
    echo "我开着" . $this->brand . "在马路上飞奔!";
  }
  
  function __destruct(){
    echo $this->brand . "被销毁了!";
  }
}

$car = new Car("宝马");
$car->run();
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kelas bernama Car dan mentakrifkan kaedah __destruct dalam kelas untuk mengeluarkan dan memusnahkan maklumat kenderaan tertentu. Selepas kami membuat instantiate kelas Kereta, kami memanggil kaedah $car->run() untuk mengeluarkan maklumat kenderaan dan mengeluarkan maklumat pemusnahan pada penghujungnya.

__kaedah panggilan

Kaedah __panggilan ialah kaedah yang dipanggil secara automatik apabila kaedah yang tidak wujud dalam kelas dipanggil. Dalam kaedah ini, kita boleh memanggil kaedah dan lulus parameter secara dinamik. Kaedah ini sangat sesuai untuk menangani beberapa situasi yang tidak menentu semasa pembangunan, seperti memanggil kaedah operasi pangkalan data secara dinamik.

Berikut ialah contoh kod:

class Database{
  private $db;
  
  function __construct($host, $user, $password, $dbName){
    $this->db = new mysqli($host, $user, $password, $dbName);
  }
  
  function __call($method, $args){
    if(method_exists($this->db, $method)){
      return call_user_func_array([$this->db, $method], $args);
    }else{
      die("没有找到" . $method . "方法!");
    }
  }
}

$database = new Database("localhost", "root", "password", "test");
$res = $database->query("SELECT * FROM users");

while($row = $res->fetch_assoc()){
  echo $row['name'];
}
Salin selepas log masuk

Dalam kod di atas, kami mentakrifkan kelas bernama Pangkalan Data dan mentakrifkan kaedah __panggilan dalam kelas untuk Kaedah panggilan dinamik kelas mysqli. Apabila kita membuat instantiate kelas Pangkalan Data dan memanggil kaedah pertanyaan, kaedah query() dalam kelas mysqli sebenarnya dipanggil secara dinamik.

Kesimpulan

Dalam bahasa PHP, kaedah ajaib memberikan kita banyak alatan berguna, seperti kaedah __construct untuk memulakan objek, kaedah __destruct untuk pembersihan dan kaedah __call untuk pelaksanaan Panggilan dinamik kaedah, dsb. Kemahiran dalam kaedah ini sangat penting untuk pengaturcaraan berorientasikan objek dalam PHP.

Atas ialah kandungan terperinci Kaedah Ajaib: Memahami __construct, __destruct dan kaedah teras lain dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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)

Menyahsulit pemrograman meta Python: daripada asas kepada paradigma lanjutan Menyahsulit pemrograman meta Python: daripada asas kepada paradigma lanjutan Feb 19, 2024 pm 03:30 PM

Asas metaprogramming Python Metaprogramming Python ialah keupayaan untuk memanipulasi kod Python secara dinamik, yang menjadikan Python sebagai bahasa yang sangat berkuasa. Metaprogramming boleh dilaksanakan dengan cara berikut: Penghias kelas: Penghias kelas ialah penghias yang mengubah suai definisi kelas. Ia boleh digunakan untuk menambah atau mengubah suai sifat dan kaedah kelas, dan juga boleh digunakan untuk mengawal proses instantiasi kelas. defadd_method_to_class(cls):defnew_method(self):print("Thisisanewmethod")setattr(cls,"new_method",new_method)returncls@a

Bagaimana untuk mengikuti perintah pelaksanaan kaedah sihir PHP? Bagaimana untuk mengikuti perintah pelaksanaan kaedah sihir PHP? Apr 17, 2024 pm 09:33 PM

Urutan pelaksanaan kaedah sihir PHP mengikut peraturan berikut: kaedah sihir dengan keutamaan tinggi dilaksanakan terlebih dahulu. Jika kedua-dua subkelas dan kelas induk mentakrifkan kaedah ajaib dengan nama yang sama, kaedah ajaib subkelas akan dilaksanakan terlebih dahulu. Jika kelas mentakrifkan kedua-dua kaedah biasa dan kaedah ajaib dengan nama yang sama, kaedah biasa akan dilaksanakan terlebih dahulu.

Apakah kaedah sihir? Bagaimana untuk menggunakannya dalam Laravel Apakah kaedah sihir? Bagaimana untuk menggunakannya dalam Laravel Sep 26, 2022 pm 08:21 PM

Apakah kaedah sihir? Bagaimana untuk menggunakannya dalam Laravel? Artikel berikut akan memperkenalkan kepada anda cara menggunakan kaedah sihir PHP dalam Laravel. Saya harap ia akan membantu anda!

Pembangunan PHP: Gunakan kaedah refleksi dan sihir untuk mencapai penjanaan kod automatik dan panggilan dinamik Pembangunan PHP: Gunakan kaedah refleksi dan sihir untuk mencapai penjanaan kod automatik dan panggilan dinamik Jun 15, 2023 pm 04:16 PM

Dalam pembangunan PHP, kaedah refleksi dan sihir adalah dua teknik yang biasa digunakan. Apabila kita perlu menjana kod secara automatik atau memanggil fungsi tertentu secara dinamik, kaedah refleksi dan sihir boleh menjadikan kod kita lebih fleksibel dan cekap. Dalam artikel ini, kami akan meneroka cara menggunakan kaedah refleksi dan sihir untuk mencapai penjanaan kod automatik dan seruan dinamik. Refleksi ialah alat berkuasa yang disediakan oleh PHP, yang boleh membantu kami mendapatkan maklumat seperti kelas, kaedah dan sifat semasa program dijalankan. Melalui refleksi, kita boleh memperoleh maklumat secara dinamik seperti kaedah, sifat, dan anotasi kelas atau objek, supaya

Kaedah ajaib untuk fungsi PHP Kaedah ajaib untuk fungsi PHP May 19, 2023 am 08:06 AM

PHP ialah bahasa skrip sebelah pelayan yang dibangunkan berdasarkan bahasa C, yang digunakan secara meluas dalam pembangunan web. Fungsi ialah salah satu komponen yang paling asas dan biasa digunakan dalam program PHP juga menyediakan banyak kaedah ajaib yang berkaitan dengan fungsi, yang boleh membantu pembangun memanfaatkan fungsi dengan lebih baik. Dalam artikel ini, kami akan memperkenalkan kaedah ajaib fungsi PHP dan penggunaannya. __construct()__construct() ialah salah satu kaedah ajaib yang paling biasa digunakan dalam PHP Ia dipanggil secara automatik apabila mencipta objek untuk permulaan.

Kaedah Ajaib: Memahami __construct, __destruct dan kaedah teras lain dalam PHP Kaedah Ajaib: Memahami __construct, __destruct dan kaedah teras lain dalam PHP Jun 19, 2023 pm 11:22 PM

Kaedah ajaib: Fahami kaedah teras seperti __construct dan __destruct dalam PHP Dalam bahasa PHP, terdapat beberapa kaedah khas yang dipanggil "kaedah ajaib", termasuk __construct, __destruct, dll. Kaedah ini memainkan peranan penting dalam pengaturcaraan berorientasikan objek dalam PHP. Artikel ini akan menerangkan peranan dan aplikasi praktikal kaedah ini. __kaedah bina__kaedah bina adalah kaedah yang sangat penting, ia adalah dalam PHP

Membawa anda melalui 16 kaedah sihir PHP Membawa anda melalui 16 kaedah sihir PHP May 16, 2022 pm 08:45 PM

Apakah kaedah sihir? Artikel ini akan membawa anda melalui 16 kaedah ajaib yang mesti diketahui dan diketahui oleh pembangun PHP. Saya harap ia akan membantu anda!

php魔术方法的作用是什么 php魔术方法的作用是什么 Feb 20, 2021 pm 04:37 PM

php魔术方法的作用:1、“__construct()”实例化对象时自动调用;2、“__destruct()”销毁对象或脚本执行结束时自动调用;3、“__call()”调用对象不存在得方法时自动调用;4、“__get()”获取对象不存在的属性时自动调用;5、“__set()”设置对象不存在的属性时自动调用;6、“__isset()”检测对象的某个属性是否存在时自动调用等等。

See all articles