PHP
PHP

Trang chủ

Triển khai hàm callback trong PHP

PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình script phía máy chủ được thiết kế đặc biệt cho phát triển web. Điểm nổi bật của PHP so với các ngôn ngữ khác là khả năng tương thích với nhiều loại cơ sở dữ liệu và chạy mượt mà trên các máy chủ web. Tại Vietnix, chúng tôi không chỉ giới thiệu những khái niệm cơ bản về PHP mà còn cung cấp các ví dụ thực tế giúp bạn dễ dàng hiểu và áp dụng PHP vào việc phát triển website. Bên cạnh đó, Vietnix cũng thường xuyên cập nhật các bài viết mới về tính năng, mẹo và thủ thuật lập trình, giúp bạn giải quyết các thách thức phức tạp, từ đó không ngừng nâng cao và hoàn thiện kỹ năng lập trình của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
20/06/2024
4 phút đọc
Theo dõi Vietnix trên

Triển khai hàm callback trong PHP

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:

Hàm callback trong PHP
Tìm hiểu về hàm callback trong PHP

Mọi người cũng xem:

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

Lời kết

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!

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn