Hàm tạo là khái niệm PHP5 OOP [Lập trình hướng đối tượng]. Hàm tạo được liên kết với các lớp mà chúng ta khai báo trong chương trình. Hàm tạo được gọi tự động khi đối tượng của lớp được khởi tạo, do đó định nghĩa của hàm tạo sẽ như sau, “Hàm tạo là một phương thức đặc biệt được gọi tự động khi đối tượng của lớp được khởi tạo”. Trong chủ đề này, chúng ta sẽ tìm hiểu về hàm tạo trong PHP
cú pháp
Bắt đầu khóa học phát triển phần mềm miễn phí của bạn
Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác
Trong đoạn mã trên, hàm tạo bắt đầu bằng dấu gạch dưới kép __ theo sau là từ khóa constructor. Hàm tạo không có __construct[] hoặc trong trường hợp tên của lớp bị thay đổi thì phương thức được định nghĩa chỉ là phương thức chứ không phải hàm tạo. Do đó, điều quan trọng là xác định hàm tạo trong một lớp theo cú pháp được xác định
Các loại Constructor
Dưới đây là một số loại Trình xây dựng với đầu ra của chúng được đưa ra bên dưới
1] Trình xây dựng được xác định trước
Để làm rõ về Trình xây dựng được xác định trước, chúng ta hãy xem một ví dụ được đưa ra dưới đây
Ví dụ về Trình xây dựng được xác định trước
Mã số
đầu ra
Trong ví dụ trên
Gói phát triển phần mềm tất cả trong một[hơn 600 khóa học, hơn 50 dự án]
Giá bán
Xem các khóa học
Hơn 600 khóa học trực tuyến. hơn 50 dự án. Hơn 3000 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập trọn đời
4. 6 [86.130 xếp hạng]
Chúng ta có một lớp Person, lớp này có hai phương thức, trong đó một phương thức Person CanSpeak[] và phương thức khởi tạo __construct[]. Tiếp theo, chúng ta đã khởi tạo lớp như một đối tượng $p. Sử dụng $p, chúng tôi đã gọi phương thức bình thường. Ngay sau khi đối tượng được tạo, phương thức khởi tạo được gọi và câu lệnh bên trong phương thức được thực thi, tương tự như vậy, phương thức CanSpeak[] là một phương thức bình thường và không phải là phương thức khởi tạo được gọi bằng cách sử dụng cùng một đối tượng $p và câu lệnh bên trong . Ngoài ra, vì hàm tạo được xác định ở trên không có bất kỳ đối số nào nên chúng tôi sẽ gọi nó là hàm tạo không đối số hoặc hàm tạo được xác định trước
2] Trình xây dựng được tham số hóa
Hàm tạo có thể có hoặc không có đối số. Hàm tạo có đối số được gọi là hàm tạo được tham số hóa và hàm tạo không có đối số được gọi là hàm tạo không có đối số. Chúng ta hãy xem xét một ví dụ
Ví dụ về Constructor được tham số hóa
Mã số
class Person {
private $first;
private $email;
private $mobile;
public function __construct[$name, $email, $mobile] {
echo "Initialising the object...
";
$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","John@gmail.com", "9187986786"];
$john->showProfile[];
đầu ra
Trình xây dựng hoạt động như thế nào?
Chúng ta hãy xem hàm tạo của lớp cơ sở và lớp dẫn xuất mở rộng lớp cơ sở bằng cách sử dụng từ khóa extends lớp này có hàm tạo riêng để thực thi và hàm tạo cha cũng để thực thi. Cho đến bây giờ chúng ta mới chỉ học về hàm tạo được khai báo trong một lớp. Hãy để chúng tôi bổ sung thêm một số kiến thức về hàm tạo tại đây. Với ví dụ sau, lớp cơ sở Person có một hàm tạo, bây giờ hàm tạo này được gọi bởi lớp dẫn xuất hoặc Lớp con bằng cách sử dụng từ khóa cha và do đó có thể truy cập hàm tạo của Lớp cơ sở Person
Lưu lượng đầu ra
Đầu tiên, hàm tạo Person được gọi, sau đó hàm tạo của Khách hàng được gọi, gọi lại hàm tạo Person bên trong và sau đó là hàm tạo khách hàng của chính nó và cuối cùng là lớp Nhân viên mở rộng lớp Person, do đó hàm tạo Person được gọi lại
Mã số
class Person {
function __construct[] {
echo "In Person constructor"."
";
}
}
class Customer extends Person {
function __construct[] {
parent::__construct[];
echo "In Customer constructor"."
";
}
}
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[];
đầu ra
Trong ví dụ dưới đây, chúng tôi đã chỉ ra cách hoạt động của phương thức set và phương thức get. Sử dụng khái niệm đóng gói trong OOP. Ban đầu, chương trình được khai báo với hàm tạo, phương thức set_name và phương thức get_name. Lưu ý rằng hàm tạo là hàm tạo được tham số hóa chắc chắn được gọi khi lớp được khởi tạo và do đó, đầu ra đầu tiên là John Doe tiếp theo tạo một đối tượng của lớp và gọi các phương thức set_name và get_name in đầu ra là Alice
Mã số
đầu ra
Công cụ xác định quyền truy cập
Có ba chỉ định truy cập trong PHP
- Công cộng
- được bảo vệ
- Riêng tư
Công cộng. Các thành viên của lớp được khai báo là công khai có thể truy cập được ở mọi nơi
được bảo vệ. Các thành viên của lớp được khai báo là protected chỉ có thể truy cập được trong lớp cơ sở và lớp dẫn xuất mở rộng lớp cơ sở
Riêng tư. Các thành viên của lớp được khai báo là riêng tư có thể truy cập được bằng lớp định nghĩa nó
Ngoài ra, các biến được khai báo được gọi là thành viên dữ liệu hoặc thuộc tính và các hàm được khai báo được gọi là phương thức dữ liệu. Trong ví dụ dưới đây, chúng tôi có Lớp cơ sở được khai báo là Người có các thuộc tính sau cùng với tên công khai của bộ xác định quyền truy cập, email được bảo vệ và điện thoại di động riêng. Bây giờ lớp được khởi tạo với một đối tượng $p và ba thuộc tính này được truy cập từ đối tượng. kết quả đầu ra nào là lỗi, tại sao bởi vì, thuộc tính protected nói rằng chỉ có thể truy cập được bảo vệ trong lớp cơ sở và lớp dẫn xuất mở rộng lớp cơ sở?
Mã số
đầu ra
Phần kết luận
Hy vọng bài viết này tìm thấy bạn những gì bạn đang tìm kiếm. Bài viết có các ví dụ khác nhau để bạn tìm hiểu. Bạn càng đưa các ví dụ vào thực tế thì càng dễ nắm bắt
Bài viết được đề xuất
Đây là hướng dẫn về Constructor trong PHP. Ở đây chúng ta đã thảo luận về khái niệm cơ bản với các loại hàm tạo và cách thức hoạt động của Hàm tạo trong PHP. Bạn cũng có thể xem bài viết sau để tìm hiểu thêm –