PHP 面向对象之 __invoke 方法

时间:2025-05-14 08:02:10
<?php

class CallableClass
{
    public function __invoke($param1, $param2)
    {
        var_dump($param1,$param2);
    }
}

$obj  = new CallableClass;
$obj(123, 456);

var_dump(is_callable($obj));

实例化对象本身是不能被调用,但是类中如果实现 __invoke() 方法,则把实例对象当作方法调用,会自动调用到 __invoke() 方法,参数顺序相同。