Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembina dalam PHP

Pembina dalam PHP

王林
王林asal
2024-08-29 12:42:06855semak imbas

Pembina ialah konsep PHP5 OOP (Pengaturcaraan Berorientasikan Objek). Pembina dikaitkan dengan kelas yang kami isytiharkan dalam program. Pembina dipanggil secara automatik apabila objek kelas dijadikan instantiated, oleh itu takrifan pembina adalah seperti ini, "Pembina ialah kaedah khas yang dipanggil secara automatik apabila objek kelas itu instantiated". Dalam topik ini, kita akan belajar tentang pembina dalam PHP.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks

<?php
Class Classname {
//constructor
function __construct() {
//statements
}
}
?>

Dalam sekeping kod di atas, pembina bermula dengan __ garis bawah berganda diikuti dengan binaan kata kunci. Pembina tanpa __construct() atau sekiranya nama kelas ditukar maka kaedah yang ditakrifkan hanyalah kaedah dan bukan pembina. Oleh itu, adalah penting untuk mentakrifkan pembina dalam kelas mengikut sintaks yang ditakrifkan.

Jenis Pembina

Berikut ialah beberapa jenis Pembina dengan outputnya diberikan di bawah

1) Pembina Pra-takrif

Untuk menjelaskan tentang Pembina Pra-takrif, Mari kita lihat contoh yang diberikan di bawah

Contoh Pembina Pra-takrif

Kod:

<?php
class Person {
function  CanSpeak() {
echo " Not a constructor method " . '<br>';
}
function __construct() {
echo " In the constructor method " . '<br>';
}
}
//Object of class calling the constructor internally
$p = new Person();
// Object of class calling the normal method
$p->CanSpeak();
?>

Output:

Pembina dalam PHP

Dalam contoh di atas

Kami mempunyai Orang kelas, yang mempunyai dua kaedah, di mana seseorang Kaedah CanSpeak() dan kaedah pembina __construct(). Seterusnya, kami telah menjadikan kelas sebagai objek $p. Menggunakan $p kita telah memanggil kaedah biasa. Sebaik sahaja objek dicipta kaedah pembina dipanggil dan pernyataan di dalam kaedah dilaksanakan, begitu juga kaedah CanSpeak() yang merupakan kaedah biasa dan bukan kaedah pembina dipanggil menggunakan objek yang sama $p dan pernyataan di dalamnya kaedah itu dilaksanakan. Selain itu, memandangkan pembina yang ditakrifkan di atas tidak mempunyai sebarang hujah, kami akan memanggilnya sebagai pembina hujah sifar atau pembina pratakrif.

2) Pembina Berparameter

Pembina boleh dengan atau tanpa hujah. Pembina dengan hujah dipanggil pembina parameter dan pembina tanpa hujah dipanggil pembina hujah sifar. Mari kita lihat contoh.

Contoh Pembina Berparameter

Kod:

class Person {
private $first;
private $email;
private $mobile;
public function __construct($name, $email, $mobile) {
echo "Initialising the object...<br/>";
$this->name = $name;
$this->email = $email;
$this->mobile = $mobile;
}
public function showProfile() {
echo "My name is: " . $this->name. " " . $this->email. " " . $this->mobile;
}
}
$john = new Person("John","[email protected]", "9187986786");
$john->showProfile();

Output:

Pembina dalam PHP

Bagaimana Pembina Berfungsi?

Mari kita lihat pembina kelas asas dan kelas terbitan yang memanjangkan kelas asas menggunakan kata kunci extends yang mempunyai pembina sendiri untuk dilaksanakan dan pembina induk untuk dilaksanakan juga. Sehingga kini kami hanya belajar tentang pembina yang diisytiharkan dalam kelas. Marilah kita menambah lebih banyak pengetahuan kepada pembina di sini. Dengan contoh berikut, orang kelas asas mempunyai pembina, kini pembina ini dipanggil oleh kelas terbitan atau Sub Kelas dengan menggunakan kata kunci induk dan dengan itu boleh mengakses pembina Orang Kelas Asas.

Aliran Output

Pertama, pembina Orang dipanggil, kemudian pembina Pelanggan dipanggil yang secara dalaman memanggil semula pembina Orang dan kemudian pembina pelanggannya sendiri dan terakhir kelas Pekerja yang memanjangkan kelas Orang dengan itu pembina Orang dipanggil semula.

Kod:

class Person {
function __construct() {
echo "In Person constructor"."<br>";
}
}
class Customer extends Person  {
function __construct() {
parent::__construct();
echo "In Customer constructor"."<br>";
}
}
class Employee extends Person  {
// inherits Person’s constructor
}
// In Person constructor
$p = new Person();
// In Person constructor
// In Customer constructor
$c = new Customer();
// In Employee constructor
$e = new Employee();

Output:

Pembina dalam PHP

Dalam contoh di bawah kami telah menunjukkan cara kaedah set dan kaedah get berfungsi. Menggunakan konsep enkapsulasi dalam OOP. Pada mulanya, program ini diisytiharkan dengan pembina, kaedah set_name dan kaedah get_name. Ambil perhatian bahawa pembina ialah pembina berparameter yang pasti dipanggil apabila kelas dijadikan instantiated dan oleh itu output pertama ialah John Doe seterusnya mencipta objek kelas dan memanggil kaedah set_name dan get_name yang mencetak output sebagai Alice.

Kod:

<?php
class Person {
public $name;
function __construct($name) {
echo $this->name = $name;
}
function set_name($name) {
$this->name = $name;
}
function get_name() {
echo $this->name;
}
}
// In Person constructor
$p = new Person('John Doe');
echo "\n";
$p->set_name('Alice');
$p->get_name();
?>

Output:

Pembina dalam PHP

Penentukan Akses

Terdapat tiga penentu akses dalam PHP

  • Awam
  • Dilindungi
  • Persendirian

Awam: Ahli kelas yang diisytiharkan sebagai awam boleh diakses di mana-mana sahaja.

Protected: Members of the class declared as protected are accessible only within the base class and the derived class which extends the base class.

Private: Members of the class declared as private are accessible with the class that defines it.

Also, the variables declared are called data members or properties and the functions declared are called as data methods. In the below example we have Base Class declared as Person which has the following properties along with the access specifiers public name, protected email and private mobile. Now the class is instantiated with an object $p and these three properties which are accessed from the object. which outputs are an error, why because, the protected property says that protected are accessible only within the base class and the derived class which extends the base class?

Code:

<?php
class Person {
public $name=;
protected $email;
private $mobile;
function __construct() {
print "In Person constructor";
}
}
// In Person constructor
$p = new Person();
echo $p->name;
echo $p->email;
echo $p->mobile;
?>

Output:

Pembina dalam PHP

Conclusion

Hope this article finds you what you have been searching for. The article has different examples for you to learn. The more you put the examples in practice the easier it will become to grasp.

Atas ialah kandungan terperinci Pembina 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
Artikel sebelumnya:Foreach Loop dalam PHPArtikel seterusnya:Foreach Loop dalam PHP