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

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


$Object = new \IMooc\Object();

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";
    }
}

 

posted @ 2016-05-24 13:51  怪咖咖  阅读(8874)  评论(0编辑  收藏  举报