[h=2][/h]
Ở bài trước, các bạn đã cùng nhau làm quen về tầm vực của thuộc tính và phương trong hướng đối tượng PHP, trong bài viết hôm nay, mình sẽ nói tiếp về một phần cũng rất quan trọng trong lập trình PHP, đó là những phương thức magic
[h=2]1 . Các phương thức magic trong PHP[/h]
Nhằm giúp dùng hiệu quả những object trong hướng đối tượng, PHP cung ứng cho developer phương thức magic.Phương thức magic là những phương thức được đặt tên với kí tự đặc trưng , bắt đầu với dấu 2 gạch dưới. Khi một phương thức được đặt tên với dấu 2 gạch dưới, điều đó là dấu hiệu để PHP nhận mặt đây là phương thức magic, và nó sẽ kích hoạt những tính năng đặc thù của loại phương thức này. Nghe thì có vẻ cừ khôi, mà lại bản tính thì nó khá đơn thuần, nó chỉ thuần tuý là các hàm được mẫu mã sẵn, nhằm mục đích thực hiện một tác vụ nào đó hữu dụng cho lập trình. Nói thì dòng dài, thôi thì trăm nghe không bằng mắt thấy, ta vào luôn chủ đề chính cho dễ hiểu
Xem thêm : One step to quickly convert your Magento store into magento marketplace in minutes within one best take & our quality support service! truly compatible and Magento 2
[h=3]a ) Phương thức magic __contruct[/h]
Đây được gọi là một contructor, nó là một phương thức magic, luôn được gọi đầu tiên khi một đối tượng được khởi tạo.
Nói lại lần nữa, cũng như những phương thức bình thường khác, chỉ có điều nó là được gọi trước hết thôi, tất cả chỉ có thể.
Vậy thì vận dụng của hàm contructor là gì? bởi vì nó là phương thức được gọi trước tiên, nên thường được áp dụng theo mong muốn của nhà tăng trưởng
để 1 đoạn mã nào đó được khởi chạy trước hết như các hàm kết nối database, hàm gọi các model, view, controller trong MVC, vân vân và vân vân
Giờ thì mình nêu một tỉ dụ về hàm khởi tạo contructor như sau :
[COLOR=#FF0000 !important]
[/COLOR]
Thực thi đoạn code trên sẽ xuất ra màng hình dòng chữ : “Tôi là phương thức contructor nè @@”. Wow, ảo diệu không Cả nhà ? tại sao chỉ cần khởi tạo phương thức, chưa thực hiện truy xuất một action nào cả mà đã xuất ra màng hình rồi? thuần tuý bởi vì đây chính là phương thức luôn luôn được gọi trước nhất khi khởi tạo object. Vậy thì một câu hỏi khác là giờ mình muốn khởi tạo một đối tượng với các thuộc tính được truyền vào thì sao? Chúng ta có thể làm như sau :
[h=3]b) Phương thức magic __destruct[/h]Trái ngược với phương thức __contruct, phương thức __destruct được gọi là hàm hủy, sẽ được gọi sau cùng , nhằm một đích để hủy đi một tác vụ nào đó, chẳng hạn như đóng kết nối cơ sở dữ liệu. ví dụ minh họa dưới đây giúp Anh chị em hiểu rõ hơn về hàm __destruct.
[h=3]c) Phương thức magic __toString[/h]Điều gì sẽ xảy ra khi bạn quyết tâm sử dụng lệnh echo cho một class? Chắc chắn lỗi (fatal error) sẽ xảy ra. nhưng mà với phương thức magic__toString của OOP, bạn có thể echo một class ra tiện lợi. Phương thức này được khai báo để ghi đè lên hành vi của một đối tượng và ép nó phải xuất ra một chuỗi khi có lệnh echo.[COLOR=#FF0000 !important]
[/COLOR]Vậy một câu hỏi đặt ra là vì sao phải dùng hàm __toString(), trong khi chúng ta có thể lấy đối tượng và trỏ đến một phương thức nào đó ? Vấn đề chính là ở đây, thay bởi vì khi bạn muốn xem một cái output đầu ra của một phương thức trong class, bạn phải khỏi tạo một đối tượng, rồi sử dụng con trỏ -> để truy xuất phương thức, thì với các lập trình viên hơi “lazy”, họ muốn output đầu ra nhanh để debug hay thực hành một ý đồ nào đó, chỉ việc echo đối tượng đó ra là xong. mục tiêu của hàm __toString chỉ có thế. “Cuộc sống vốn dễ , đừng khiến nó khó hơn“. (tựa đề của một clip khá hay). Sẵn tiện thể share link luôn luôn, bạn nào rảnh thì coi cho zui. bên cạnh đó , còn số đông hàm magic khác, Anh chị có thể tự khám phá và nghiên cứu ở đây :php .net
Ở bài trước, các bạn đã cùng nhau làm quen về tầm vực của thuộc tính và phương trong hướng đối tượng PHP, trong bài viết hôm nay, mình sẽ nói tiếp về một phần cũng rất quan trọng trong lập trình PHP, đó là những phương thức magic
[h=2]1 . Các phương thức magic trong PHP[/h]
Nhằm giúp dùng hiệu quả những object trong hướng đối tượng, PHP cung ứng cho developer phương thức magic.Phương thức magic là những phương thức được đặt tên với kí tự đặc trưng , bắt đầu với dấu 2 gạch dưới. Khi một phương thức được đặt tên với dấu 2 gạch dưới, điều đó là dấu hiệu để PHP nhận mặt đây là phương thức magic, và nó sẽ kích hoạt những tính năng đặc thù của loại phương thức này. Nghe thì có vẻ cừ khôi, mà lại bản tính thì nó khá đơn thuần, nó chỉ thuần tuý là các hàm được mẫu mã sẵn, nhằm mục đích thực hiện một tác vụ nào đó hữu dụng cho lập trình. Nói thì dòng dài, thôi thì trăm nghe không bằng mắt thấy, ta vào luôn chủ đề chính cho dễ hiểu
Xem thêm : One step to quickly convert your Magento store into magento marketplace in minutes within one best take & our quality support service! truly compatible and Magento 2
[h=3]a ) Phương thức magic __contruct[/h]
Đây được gọi là một contructor, nó là một phương thức magic, luôn được gọi đầu tiên khi một đối tượng được khởi tạo.
Nói lại lần nữa, cũng như những phương thức bình thường khác, chỉ có điều nó là được gọi trước hết thôi, tất cả chỉ có thể.
Vậy thì vận dụng của hàm contructor là gì? bởi vì nó là phương thức được gọi trước tiên, nên thường được áp dụng theo mong muốn của nhà tăng trưởng
để 1 đoạn mã nào đó được khởi chạy trước hết như các hàm kết nối database, hàm gọi các model, view, controller trong MVC, vân vân và vân vân
Giờ thì mình nêu một tỉ dụ về hàm khởi tạo contructor như sau :
[COLOR=#FF0000 !important]

Thực thi đoạn code trên sẽ xuất ra màng hình dòng chữ : “Tôi là phương thức contructor nè @@”. Wow, ảo diệu không Cả nhà ? tại sao chỉ cần khởi tạo phương thức, chưa thực hiện truy xuất một action nào cả mà đã xuất ra màng hình rồi? thuần tuý bởi vì đây chính là phương thức luôn luôn được gọi trước nhất khi khởi tạo object. Vậy thì một câu hỏi khác là giờ mình muốn khởi tạo một đối tượng với các thuộc tính được truyền vào thì sao? Chúng ta có thể làm như sau :

[h=3]b) Phương thức magic __destruct[/h]Trái ngược với phương thức __contruct, phương thức __destruct được gọi là hàm hủy, sẽ được gọi sau cùng , nhằm một đích để hủy đi một tác vụ nào đó, chẳng hạn như đóng kết nối cơ sở dữ liệu. ví dụ minh họa dưới đây giúp Anh chị em hiểu rõ hơn về hàm __destruct.

