php __invoke()方法是什么,怎么用的?

PHP / 718人浏览 / 0人评论

当尝试以调用函数的方式调用一个对象时,__invoke() 方法会被自动调用。

PHP5中的特殊方法

在php中内置了一些特书的方法,这些特殊方法被称之为魔术方法,其也有特殊的命名规则,以“__”双下划线开头的方法和函数名,所以我们自定义的函数不应该用双下划下开头,目的是为了区分魔术方法。

PHP魔术方法有哪些呢?

__construct()__autoload()__destruct()__call()__callStatic()__get()
__set()__isset()__unset()__sleep()__wakeup()__toString()__invoke()__set_state()__clone()__debugInfo() 等方法在 PHP 中被称为魔术方法(Magic methods)。在命名自己的类方法时不能使用这些方法名,除非是想使用其魔术功能。

php__invoke()函数

支持版本:
(php5.3.0及以上版本有效)
__invoke()定义以及用法:
当尝试以调用函数的方式调用一个对象时,__invoke()方法会被自动调用。
__invoke()语法:

__invoke([ $... ] ) : mixed

php __invoke()演示示例

<?php
class CallableClass 
{
    function __invoke($x) {
        var_dump($x);
    }
}
$obj = new CallableClass;
$obj(5);
var_dump(is_callable($obj));
?>

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我