从封装于类中的复杂PHP函数获取返回值的技术问询
函数调用与类方法调用的问题解答
嘿,先给你拍板确认——你说的普通函数调用部分完全正确!
一、普通函数的验证
你写的这段普通求和函数:
function functionBar($value1,$value2,$value3){ $answer=$value1+$value2+$value3; return $answer; }
当你通过 $answer=functionBar(1,2,3); 调用后,执行 echo $answer; 确实会输出 6,毕竟1+2+3的和就是6,逻辑没毛病~
二、类封装下的方法调用
再说说你提到的类实例化调用方法的场景:
$myFunction = new classFoo(); // 实例化类 $myFunction->functionBar($value1,$value2,$value3); // 调用方法
如果 functionBar 是封装在 classFoo 类里的成员方法,那这个调用思路是对的,但要确保类的定义符合PHP规范,比如正确的类结构应该是这样:
class classFoo { // 外部调用的方法需要声明为public public function functionBar($value1, $value2, $value3) { $answer = $value1 + $value2 + $value3; return $answer; } }
按照这个类定义,实例化后调用方法,同样能得到正确结果:
$myFunction = new classFoo(); $result = $myFunction->functionBar(1,2,3); echo $result; // 输出6
这里还有几个小细节要注意:
- 类中的方法必须指定访问修饰符(
public/private/protected),如果是从类外部调用,就得用public; - PHP里类名不区分大小写,但实际写代码时最好和定义保持一致,避免混淆;
- 如果这个方法是静态方法,那连实例化都不需要,直接用
classFoo::functionBar(1,2,3);就能调用。
内容的提问来源于stack exchange,提问作者weekapaug
相关产品推荐
相关产品推荐

