开发者社区> 问答> 正文

PHP一个类里能直接调用类外部的函数吗?为什么呢?

已解决

PHP 一个类里能直接调用类外部的函数吗?

展开
收起
小旋风柴进 2016-03-06 11:10:59 3617 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    实验的时候发现是可以的,代码如下

     <?php
        function func(){ echo "I'm a external function <br />"; }
    
        class Test {
                function doExternalFunction($_externalFunc, $_param){
                        func();
                        $_externalFunc($_param);
                }
        }
    
        function sayHello($_param){
                echo "hello, $_param";
        };
    
        $name = "HanMeiMei";
        $test = new Test();
        $test->doExternalFunction("sayHello", $name);
    ?>

    在调用Test类实例的doExternalFunction()方法时,外部的func()方法是可以运行的,因为它是全局的。但是建议不要这样使用,
    因为Test::doExternalFunction()对func()函数有依赖,当项目比较大时,而func()和Test类没有同时引入到一个文件中来,会引
    起错误。比较理想的情况是,使用回调函数的形式来调用外部函数,就像执行在Test::doExternalFunction()执行sayHello()一样

    2019-07-17 18:54:18
    赞同 展开评论 打赏
问答分类:
PHP
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载