首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Class方法中调用函数?

在Class方法中调用函数?
EN

Stack Overflow用户
提问于 2009-11-13 04:32:32
回答 9查看 399K关注 0票数 114

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

下面是我想要做的一个例子:

代码语言:javascript
复制
class test {
     public newTest(){
          function bigTest(){
               //Big Test Here
          }
          function smallTest(){
               //Small Test Here
          }
     }
     public scoreTest(){
          //Scoring code here;
     }
}

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

EN

回答 9

Stack Overflow用户

发布于 2009-11-13 04:38:36

试试这个:

代码语言:javascript
复制
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();
票数 210
EN

Stack Overflow用户

发布于 2009-11-13 04:48:19

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

代码语言:javascript
复制
public scoreTest() {
    ...
}

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

语法应该是:

代码语言:javascript
复制
public function scoreTest() {
    ...
}

其次,将bigTest()和smallTest()函数包装在public function() {}中并不意味着它们是私有的-您应该分别在这两个函数上使用private关键字:

代码语言:javascript
复制
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')也是一种惯例。

希望这能有所帮助。

票数 22
EN

Stack Overflow用户

发布于 2017-07-13 19:21:16

代码语言:javascript
复制
class test {
    public newTest(){
        $this->bigTest();
        $this->smallTest();
    }

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

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

    public scoreTest(){
      //Scoring code here;
    }
 }
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1725165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档