疯跑蜗牛 2014-12-31 06:25 采纳率: 0%
浏览 10310

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

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

  • 写回答

5条回答

  • hhm6621314 2015-01-01 15:38
    关注

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

     <?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()一样

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体