Các hàm callback trong PHP là dạng hàm có thể được truyền như đối số cho một hàm khác hoặc được sử dụng như một giá trị trả về từ một hàm. Điều này cung cấp khả năng linh hoạt trong việc xử lý logic trong chương trình. Hàm callback là cơ chế mạnh mẽ cho phép thực hiện nhiều tác vụ khác nhau như xử lý bất đồng bộ, phân tách logic hay xử lý sự kiện,… Hãy cùng Vietnix tham khảo thêm về hàm callback trong PHP qua các bài viết sau.
Hàm callback là gì?
Hàm callback trong PHP là một hàm đối tượng/tham chiếu có dạng callable, nghĩa là dùng để gọi một hàm trước đó có sẵn hoặc do người dùng tạo ra để thực thi theo yêu cầu của người dùng. Biến callback cũng có thể hoạt động như một hàm, có bao gồm phương thức đối tượng và lớp tĩnh. Có một số cách để triển khai callback như sau:

Các phương thức triểm khai hàm callback trong PHP
Callback tiêu chuẩn
Trong PHP sẽ dùng hàm call_user_func()
, có đối số là tên chuỗi của hàm được gọi.
Ví dụ:
<?php
// PHP program to illustrate working
// of a standard callback
// Function to print a string
function someFunction() {
echo "Vietnix Hosting \n";
}
// Standard callback
call_user_func('someFunction');
?>
Output như sau:
Vietnix Hosting
Phương thức callback class tĩnh
Phương thức này cũng được gọi bằng cách sử dụng hàm call_user_func()
, có đối số là mảng chứa tên chuỗi của clas và phương thức được gọi ở bên trong.
Ví dụ:
<?php
// PHP program to illustrate working
// of a Static class method callback
// Sample class
class GFG {
// Function used to print a string
static function someFunction() {
echo "Parent Vietnix Hosting \n";
}
}
class Article extends GFG {
// Function to print a string
static function someFunction() {
echo "Vietnix Hosting Article \n";
}
}
// Static class method callback
call_user_func(array('Article', 'someFunction'));
call_user_func('Article::someFunction');
// Relative Static class method callback
call_user_func(array('Article', 'parent::someFunction'));
?>
Output như sau:
Vietnix Hosting Article
Vietnix Hosting Article
Parent Vietnix Hosting
Phương thức callback đối tượng
Các phương thức đối tượng có thể được gọi bằng cách dùng hàm call_user_func()
trong đó đối số là một mảng chứa biến đối tượng và tên chuỗi phương thức được gọi.
Phương thức đối tượng cũng có thể được gọi nếu chúng được tạo ra bằng cách sử dụng định nghĩa hàm __invoke()
. Trong trường hợp này, đối số của hàm call_user_func()
chính là biến đối tượng.
Ví dụ:
<?php
// PHP program to illustrate working
// of a object method callback
// Sample class
class GFG {
// Function to print a string
static function someFunction() {
echo "Vietnix Hosting \n";
}
// Function used to print a string
public function __invoke() {
echo "invoke Vietnix Hosting \n";
}
}
// Class object
$obj = new GFG();
// Object method call
call_user_func(array($obj, 'someFunction'));
// Callable __invoke method object
call_user_func($obj);
?>
Output như sau:
Vietnix Hosting
invoke Vietnix Hosting
Phương thức closure callback
Hàm này được gọi bằng cách thực hiện các lệnh callback tiêu chuẩn hoặc mapping hàm closure tới mảng các đối số hợp lệ được cung cấp cho hàm này bằng cách sử dụng hàm array_map()
trong đó các đối số là hàm closure và một mảng các đối số hợp lệ của nó.
Ví dụ:
<?php
// PHP program to illustrate working
// of a closure callback
// Closure to print a string
$print_function = function($string) {
echo $string."\n";
};
// Array of strings
$string_array = array("Vietnix", "Hosting", "Article");
// Callable closure
array_map($print_function, $string_array);
?>
Output như sau:
Vietnix
Hosting
Article
Vietnix – Nhà cung cấp dịch vụ VPS ổn định, tốc độ tốt và phát triển lâu dài
Với kinh nghiệm hơn 12 năm và sự tin tưởng từ đông đảo khách hàng, dịch vụ VPS Vietnix là nền tảng vững chắc để website của bạn phát triển lâu dài. Vietnix đầu tư vào hạ tầng chất lượng cao với ổ cứng SSD/NVMe Enterprise và CPU Intel Xeon/AMD, đảm bảo website vận hành trơn tru, tải trang nhanh chóng và mang lại trải nghiệm tốt cho người dùng. Vietnix VPS được thiết kế dễ sử dụng, quản lý đơn giản, và luôn có đội ngũ hỗ trợ chuyên nghiệp sẵn sàng giúp đỡ bạn.
VPS SSD Vietnix là lựa chọn thông minh để nâng cao tốc độ website và bảo vệ dữ liệu của bạn. Sử dụng 100% ổ cứng SSD tốc độ cao giúp website tải trang cực nhanh, thu hút và giữ chân khách hàng. Vietnix chú trọng đến bảo mật dữ liệu với datacenter chuẩn quốc tế và hệ thống sao lưu tự động, giúp bạn yên tâm về thông tin quan trọng của website. Giao diện quản lý trực quan, dễ thao tác, VPS SSD Vietnix giúp bạn tập trung vào nội dung và phát triển website một cách hiệu quả.
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về hàm callback trong PHP cũng như cách sử dụng hàm qua các ví dụ. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!
Mọi người cũng xem: