栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在php中为其他所有函数调用自动调用函数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在php中为其他所有函数调用自动调用函数

最好的选择是魔术方法__call,请参见以下示例:

<?phpclass test {    function __construct(){}    private function test1(){        echo "In test1", PHP_EOL;    }    private function test2(){        echo "test2", PHP_EOL;    }    protected function test3(){        return "test3" . PHP_EOL;    }    public function __call($method,$arguments) {        if(method_exists($this, $method)) { $this->test1(); return call_user_func_array(array($this,$method),$arguments);        }    }}$a = new test;$a->test2();echo $a->test3();

请注意,

test2
test3
在由于
protected
和而被调用的上下文中不可见
private
。如果这些方法是公开的,则上面的示例将失败。

test1
不必声明
private

ideone.com示例可以在这里找到

更新 :添加到ideone的链接,添加带有返回值的示例。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/375954.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号