我在PHP中声明了我的类,里面有几个函数。我需要在另一个函数中调用其中一个函数,但是我得到了这个函数未定义的错误。这就是我所拥有的:
<?php
class A{
function b($msg){
return $msg;
}
function c(){
$m = b('Mesage');
echo $m;
}
}
答案 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(){}