PHP在类的静态方法中调用函数

时间:2018-07-01 21:14:22

标签: php

class MainClass {

    public static function myStaticMethod(){
        return myFunction();

        function myFunction(){
            echo 'hello';
        }
    }
}

上面的代码在执行时返回对未定义函数myFunction();的调用

请问关于如何在方法中调用函数的任何想法?

谢谢

1 个答案:

答案 0 :(得分:3)

在定义其他功能中的功能时尝试将功能减速度移至使用...

class MainClass
{
  public static function myStaticMethod()
  {
    function myFunction()
    {
      echo 'hello';
    }
    return myFunction();
  }
}

MainClass::myStaticMethod(); // No error thrown

请注意,除非您对此进行管理,否则重复调用MainClass :: myStaticMethod将会引发Cannot redeclare myFunction()

否则,将其移到班级之外

function myFunction()
{
  echo 'hello';
}

class MainClass
{
  public static function myStaticMethod()
  {
    return myFunction();
  }
}