Hướng dẫn php variable handling functions - hàm xử lý biến php

PHP hỗ trợ khái niệm các chức năng biến. Điều này có nghĩa là nếu một tên biến có dấu ngoặc đơn được thêm vào nó, PHP sẽ tìm kiếm một hàm có cùng tên với bất kỳ biến nào đánh giá và sẽ cố gắng thực hiện nó. Trong số những thứ khác, điều này có thể được sử dụng để thực hiện các cuộc gọi lại, bảng chức năng, v.v.

Các chức năng biến sẽ không hoạt động với các cấu trúc ngôn ngữ như echo, print, unset (), isset (), trống (), bao gồm, yêu cầu và tương tự. Sử dụng các chức năng trình bao bọc để sử dụng bất kỳ cấu trúc nào trong số này làm chức năng thay đổi.echo, print, unset(), isset(), empty(), include, require and the like. Utilize wrapper functions to make use of any of these constructs as variable functions.

Ví dụ #1 Chức năng biến ví dụ

function foo() {
    echo 
"In foo()\n";
}

function

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>

Các phương thức đối tượng cũng có thể được gọi với cú pháp chức năng biến.

Ví dụ #2 Phương pháp biến ví dụ

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}

        function

Bar()
    {
        echo 
"This is Bar";
    }
}
$foo = new Foo();
$funcname "Variable";
$foo->$funcname();  // This calls $foo->Variable()?>

Khi gọi các phương thức tĩnh, cuộc gọi hàm mạnh hơn toán tử thuộc tính tĩnh:

Ví dụ #3 Phương thức biến ví dụ với các thuộc tính tĩnh

class Foo
{
    static 
$variable 'static property';
    static function 
Variable()
    {
        echo 
'Method Variable called';
    }
}

echo

Foo::$variable// This prints 'static property'. It does need a $variable in this scope.
$variable "Variable";
Foo::$variable();  // This calls $foo->Variable() reading $variable in this scope.?>

Ví dụ #4 Thiết bị gọi phức tạp

class Foo
{
    static function 
bar()
    {
        echo 
"bar\n";
    }
    function 
baz()
    {
        echo 
"baz\n";
    }
}
$func = array("Foo""bar");
$func(); // prints "bar"
$func = array(new Foo"baz");
$func(); // prints "baz"
$func "Foo::bar";
$func(); // prints "bar"
?>

Niemans tại pbsolo dot nl ¶

3 năm trước

function0

function1

function2

function3

function4

function5

function6

function7

Ẩn danh ¶

11 năm trước

function8

function9

function7

rnealxp tại yahoo dot com ¶

2 năm trước

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
1

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
2

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
3

Ẩn danh ¶

2 năm trước

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
4

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
5

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
6

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
7

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
8

bar($arg '')
{
    echo 
"In bar(); argument was '$arg'.\n";
}
// This is a wrapper function around echo
function echoit($string)
{
    echo 
$string;
}
$func 'foo';
$func();        // This calls foo()$func 'bar';
$func('test');  // This calls bar()$func 'echoit';
$func('test');  // This calls echoit()
?>
9

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}
0

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}
1

Josh tại Joshstroup dot xyz ¶

6 năm trước

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}
2

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}
3

function7

Anisgazig tại Gmail Dot Com ¶

8 tháng trước

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}
5

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}
6

class Foo
{
    function 
Variable()
    {
        
$name 'Bar';
        
$this->$name(); // This calls the Bar() method
    
}
7