网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

回顾php魔术方法__call(),__callStatic()

say();//调用类中存在的方法

(new Person())->eat('food');//调用类中不可访问的方法

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的江川网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

调用类中不存在的方法
PHP Fatal error:  Uncaught Error: Call to undefined method Person::eat() in /home/zrj/www/zhangrenjie_test/test/36.php:26
Stack trace:
#0 {main}
  thrown in /home/zrj/www/zhangrenjie_test/test/36.php on line 26


class Person
{
    public function say()
    {
        echo "Hello world";
        echo "\r\n";
    }

    // 在对象中调用一个不可访问方法时,__call() 会被调用。
    public function __call($functionName, $arguments)
    {
        echo "您调用了类中不存在的方法:" . $functionName . "\r\n";
        echo "接受的参数为:" . print_r($arguments, true);
    }
}


(new Person())->say();

(new Person())->eat('food', 'chicken', 'bull');

Hello world

您调用了类中不存在的方法:eat

接受的参数为:Array

(

    [0] => food

    [1] => cocal

    [2] => bull

)

class Person
{

    public function __call(string $name, array $arguments)
    {
        echo "Call not exists dynamic method :" . $name . "\r\n";
        echo $name . " : " . $arguments[0] . "\r\n\r\n";
    }

    /**  PHP 5.3.0之后版本  */
    public static function __callStatic(string $name, array $arguments)
    {
        echo "Call not exists static method :" . $name . "\r\n";
        echo $name . " : " . $arguments[0] . "\r\n\r\n";
    }
}

(new Person())->say('hello world');

(new Person())->__call('say', ['hello world']);


Person::do('coding php');

Person::__callStatic('do', ['coding java']);

Call not exists dynamic method :say
say : hello world

Call not exists dynamic method :say
say : hello world

Call not exists static method :do
do : coding php

Call not exists static method :do
do : coding java


分享名称:回顾php魔术方法__call(),__callStatic()
文章出自:http://bjjierui.cn/article/ijchej.html

其他资讯