PHP常用魔术方法(__call魔术方法:)

Posted 怪咖咖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP常用魔术方法(__call魔术方法:)相关的知识,希望对你有一定的参考价值。

魔术方法  __call

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


$Object = new \IMooc\Object();

echo $Object->test("哎哟喂",123);//在调用test不存在的方法时,会自动调用__call方法
/*输出:
    string(4) "test"
    array(2) {
          [0]=>string(9) "哎哟喂"
          [1]=>int(123)
    }
        试一试
*/
<?php
//文件名:Object.php

namespace IMooc; class Object { function __call($name, $arguments)//$name方法名=test,$arguments参数="哎哟喂",123 { var_dump($name,$arguments); return "试一试"; } }

静态魔术方法__callStatic


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


$Object = new \IMooc\Object();
echo IMooc\Object::test("hello1",1234);
/*输出:
string(4) "test"
array(2) {
[0]=>string(6) "hello1"
[1]=>int(1234)
}
试一试
*/
 
<?php
namespace IMooc;//文件名:Object.php
class Object
{
    //静态方法
    static function __callStatic($name, $arguments)//$name静态方法名=test,$arguments参数数组="哎哟喂",123
    {
        var_dump($name,$arguments);
        return "试一试";
    }
}

 

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

PHP常用的魔术方法及规则

php啥是魔术方法

php常用的魔术方法

php的魔术方法

PHP魔术方法之__call与__callStatic方法

PHP面向对象魔术方法之__call函数