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

Posted 怪咖咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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";
    }
}

 

以上是关于PHP常用魔术方法(__invoke魔术方法)的主要内容,如果未能解决你的问题,请参考以下文章

php啥是魔术方法

PHP魔术方法之__invoke()

__tostring()和__invoke()的用法

PHP性能之语言性能优化:魔术方法好不好?

php 中的魔术方法-----“事件方法”

PHP中的魔术方法