在类方法中调用函数?

2022-08-30 07:16:43

我一直在努力弄清楚如何做到这一点,但我不太确定如何。

以下是我正在尝试执行的操作的示例:

class test {
     public newTest(){
          function bigTest(){
               //Big Test Here
          }
          function smallTest(){
               //Small Test Here
          }
     }
     public scoreTest(){
          //Scoring code here;
     }
}

这是我遇到问题的部分,我如何调用bigTest()?


答案 1

试试这个:

class test {
     public function newTest(){
          $this->bigTest();
          $this->smallTest();
     }

     private function bigTest(){
          //Big Test Here
     }

     private function smallTest(){
          //Small Test Here
     }

     public function scoreTest(){
          //Scoring code here;
     }
}

$testObject = new test();

$testObject->newTest();

$testObject->scoreTest();

答案 2

您提供的示例不是有效的 PHP,并且存在一些问题:

public scoreTest() {
    ...
}

不是一个正确的函数声明 -- 你需要使用 'function' 关键字声明函数。

语法应该是:

public function scoreTest() {
    ...
}

其次,将 bigTest() 和 smallTest() 函数包装在 public function() {} 中不会使它们成为私有函数 — 您应该分别在这两个函数上使用 private 关键字:

class test () {
    public function newTest(){
        $this->bigTest();
        $this->smallTest();
    }

    private function bigTest(){
        //Big Test Here
    }

    private function smallTest(){
           //Small Test Here
    }

    public function scoreTest(){
      //Scoring code here;
    }
}

此外,约定在类声明中将类名大写(“Test”)。

希望有所帮助。


推荐