如何在php中调用自己类中的函数?

时间:2015-10-30 13:31:46

标签: php oop

我在PHP中声明了我的类,里面有几个函数。我需要在另一个函数中调用其中一个函数,但是我得到了这个函数未定义的错误。这就是我所拥有的:

<?php
class A{

 function b($msg){
   return $msg;
 }

 function c(){
   $m = b('Mesage');
   echo $m;
 }
}

4 个答案:

答案 0 :(得分:3)

这是basic OOP。您可以使用$this关键字来引用该类的任何属性和方法:

<?php
class A{

 function b($msg){
   return $msg;
 }

 function c(){
   $m = $this->b('Mesage');
   echo $m;
 }
}

我建议清理此代码并设置方法的visibility(例如私有,受保护和公开)

<?php
class A{

 protected function b($msg){
   return $msg;
 }

 public function c(){
   $m = $this->b('Mesage');
   echo $m;
 }
}

答案 1 :(得分:2)

您可以使用$this

来使用类功能
<?php
    class A{

     function b($msg){
       return $msg;
     }

     function c(){
       $m = $this->b('Mesage');
       echo $m;
     }
    }

答案 2 :(得分:1)

您需要使用$this来引用当前对象

对象内部的

$this->,或静态上下文中的self ::(来自静态方法)。

答案 3 :(得分:0)

要调用当前类中的函数,需要使用$this,此关键字用于非静态函数成员。

如果被调用的函数仅在类中使用,则设置了私有

的可见性,这也只是一个快速提示
private function myfunc(){}

如果你打算从课外打电话,那就保持原样。如果您没有在PHP中声明成员函数的可见性,则默认情况下它是公共的。最好为您编写的任何成员函数设置可见性。

public function myfunc(){}

如果此类将由另一个继承,并且您只希望子类具有这些功能,则受到保护。

protected function myfunc(){}