Magic method trong php?
cho mình hỏi cái method magic __call() trong php có tác dụng gì vậy , mình đọc qua thấy nó hơi mông lung vì theo ngày xưa mình học OOP thì 1 đối tượng chính là sự đóng gói của dữ liệu và hành vi tác động lên dữ liệu đó , nhưng ở đây lại xuất hiện cái method magic giúp gọi đến method mà chưa được hoặc không được phép truy cập vậy tác dụng của nó là gì ???
mình đọc bài viết này : https://viblo.asia/p/php-magic-methods-la-gi-PaLkDymdvlX
thấy tự nhiên dùng 1 đối tượng obj1 gọi đến 1 method của class khác mình thấy nó phản lại quy tắc của OOP quá…
Php không có thuần OOP mà cũng là một nồi lẩu thập cẩm tương tự JS, nên cũng có nhiều cái hoàn toàn không tuân theo OOP. Về tác dụng của magic method __call cho phép bạn tạo object có thể call method dynamic, call method by name
cảm ơn bạn … hix mới từ java nhảy qua đây thấy nó viết tum lum quá , nhiều khi thấy nó thêm properties vào 1 object ngay tại runtime nữa @@
“__call() is triggered when invoking inaccessible methods in an object context.”
http://php.net/manual/en/language.oop5.overloading.php#object.call
Viết web không thì ít dùng lắm.
Nhưng nếu em viết framework thì sẽ dùng một số magic method để implement.