How to call method through variable in php

PHPz
Release: 2023-04-12 14:27:26
Original
1043 people have browsed it

PHP is a high-level programming language widely used in the field of web development. In PHP, variables can be used to represent functions or methods, and these functions or methods can be called through variable names. This article will introduce how to call methods in PHP through variables.

1. Use variable functions

In PHP, you can use variable functions to call an already defined function. A variadic function is actually a variable that references the function name. When the variable is called, the referenced function is executed. The following is a sample code using a variable function:

function add($a, $b) {
    return ($a + $b);
}

$function_name = 'add';
$result = $function_name(10, 20);
echo $result; // 输出30
Copy after login

In the above code, an add function is defined, which returns the sum of two parameters. Next, the function name add is assigned to the variable $function_name, and then the add function is called through this variable and the result is stored in the variable $result.

2. Use variable methods

In addition to variable functions, PHP also supports the call of variable methods. Variable methods are very similar to variable functions, both use a string of method names instead of the actual method names. The following is a sample code using variable methods:

class Calculator {
    public function add($a, $b) {
        return ($a + $b);
    }

    public function sub($a, $b) {
        return ($a - $b);
    }
}

$calc = new Calculator();
$method_name = 'add';
$result = $calc->$method_name(10, 20);
echo $result; // 输出30
Copy after login

In the above example, a Calculator class is defined, which contains two public methods add and sub. Next, a Calculator object is created and the method name add is assigned to the variable $method_name. Then, the add method is called via the $calc->$method_name syntax and the result is stored in the variable $result. It should be noted that the ->$ in the $calc->$method_name syntax indicates the member of the calling object (i.e. method), followed closely by the method name.

3. Use the callback function

PHP also supports the calling method of the callback function. A callback function is a special type of function that can be passed as a parameter to other functions, and can also be saved and called as a variable. The following is a sample code using a callback function:

function add($a, $b) {
    return ($a + $b);
}

function sub($a, $b) {
    return ($a - $b);
}

function calculate($callback, $a, $b) {
    return $callback($a, $b);
}

$method_name = 'add';
$result = calculate($method_name, 10, 20);
echo $result; // 输出30
Copy after login

In the above example, two functions add and sub are defined, which implement addition and subtraction operations respectively. Next, a calculation function calculate is defined, which accepts three parameters. The first parameter $callback represents the name of the callback function or variable name, and the second and third parameters represent the two operands respectively. In the function calculate, the add or sub function is called through the callback function $callback to obtain the final calculation result.

It is very convenient to use variables to call methods in PHP, which can greatly improve the reusability and readability of the code. Developers can choose the corresponding method to implement the variable calling function according to their own needs.

The above is the detailed content of How to call method through variable in php. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template