PHP常用魔术方法(__invoke魔术方法)

<?php
//文件名:index.php
define('a',__DIR__);
include '/IMooc/Loader.php';
spl_autoload_register('\IMooc\Loader::autoload');


$Object = new IMoocObject();

echo $Object("test1");//对象本身不能直接当函数用,如果被当做函数用,会直接回调__invoke方法
//test1作为invoke的参数
/*输出:
    string(5) "test1"
    invoke
*/
<?php
//文件名:Object.php
namespace IMooc;
class Object
{
    function __invoke($param)//把一个对象当成一个函数去执行,$param是函数的参数,这里等于“test1”。
    {
        var_dump($param);
        return "invoke";
    }
}
原文地址:https://www.cnblogs.com/shark1100913/p/5523167.html