Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Variable functions (Hàm biến) trong PHP

Giới thiệu

Nếu tên biến có cặp ngoặc đơn (có hoặc không có tham số) phía trước, PHP parser sẽ tìm function có tên tương ứng với giá trị biến và thực thi nó. Function như vậy gọi là variable function. Tính năng này hữu ích cho callbacks, function tables, v.v.

Variable functions không thể dùng với language constructs như include, require, echo v.v. Tuy có thể workaround bằng wrapper function.

Ví dụ

Variable function cơ bản

<?php
function hello() {
    echo "Hello World";
}
$var = "hello";
$var();
?>

Kết quả

Hello World

Variable function với tham số

<?php
function add($x, $y) {
    echo $x + $y;
}
$var = "add";
$var(10, 20);
?>

Kết quả

30

Tên function do user nhập

<?php
function add($x, $y) { echo $x + $y; }
function sub($x, $y) { echo $x - $y; }
$var = readline("enter function name: ");
$var(10, 20);
?>

Kết quả (nhập add)

enter function name: add
30

Variable method

Khái niệm variable function mở rộng sang method trong class:

<?php
class MyClass {
    function welcome($name) {
        echo "Welcome $name";
    }
}
$obj = new MyClass();
$f = "welcome";
$obj->$f("Amar");
?>

Kết quả

Welcome Amar

Static method với variable method

<?php
class MyClass {
    static function welcome($name) {
        echo "Welcome $name";
    }
}
$f = "welcome";
MyClass::$f("Amar");
?>

Kết quả

Welcome Amar