Hướng dẫn dùng magic call trong PHP
Thông thường khi bạn gọi đến một phương thức nào đó mà chưa được định nghĩa trong lớp của đối tượng thì chương trình sẽ bị báo lỗi không tồn tại method. Vậy có câu hỏi đặt ra làm sao để bắt được sự kiện khi gọi tới một phương thức không tồn tại và thông báo lỗi hoặc là xư lý một cái gì đó? Câu trả lời là bạn có thể sử dụng hai hàm thuộc danh sách Magic
methods đó la Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Trong hai methods đều có tác dụng giống nhau nhưng sẽ được sử dụng ở hai trường hợp khác nhau. Bây giờ ta sẽ tìm hiểu method 1. Phương thức __call() trong PHPPhương thức Ví dụ: gọi tới phương thức không tồn tại Bài viết này được đăng tại [free tuts .net] class Student { } $student = new Student(); $student->get_by_id(); Chạy lên bạn sẽ nhận được một thông báo lỗi như hình dưới đây. Bây giờ mình sẽ viết một phương thức class Student { public function __call($method, $params) { echo 'Tên phương thức: ' .$method . '
Quay laị ví dụ, bây giờ mình gọi tới phương thức không tồn tại như sau: $student = new Student(); $student->get_by_id(); Kết quả như sau: Để rõ hơn thì mình gọi thêm một phương thức không tồn tại nữa: $student = new Student(); $student->get_name('thehalfheart'); Kết quả: 2. Phương thức __callStatic trong PHPPhương thức Ví dụ: Tạo một lớp Website và gọi đến phương thức tĩnh không tồn tại class Website { public static function __callStatic($method, $params) { echo 'Tên phương thức: ' .$method . '
3. Lời kếtQua bài này chắc hẳn bạn đã biết được hai phương thức nằm trong danh sách các hàm Magic methods đó là Bài trước chúng ta đã được tìm hiểu về magic methods tác động đến thuộc tính rồi, và trong PHP cũng có 2 magic methods hỗ trợ tác động đến phương thức trong đối tượng là -Phương thức Cú
pháp: Trong đó: VD: +Không sử dụng magic methods +Khi sử dụng magic methods
2, __callStatic().-Phương thức Cú pháp:
Trong đó:
VD: +Khi không sử dụng static:
+Khi sử dụng static.
3, Lời kết.-Như vậy mình đã giới thiệu với mọi người xong về Đăng ký nhận tin.Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail! Bài Viết Mới |