PHP类函数命名
我在命名函数时遇到问题。我有一个类,我需要2个函数,如下所示PHP类函数命名,php,class,function,naming,Php,Class,Function,Naming,我在命名函数时遇到问题。我有一个类,我需要2个函数,如下所示 class myclass { public function tempclass () { echo "default"; } public function tempclass ( $text ) { echo $text; } } 当我打电话时 tempclass('testing'); // ( called after creating the obje
class myclass {
public function tempclass () {
echo "default";
}
public function tempclass ( $text ) {
echo $text;
}
}
当我打电话时
tempclass('testing'); // ( called after creating the object )
正在调用函数tempclass()我怎么能有两个同名但参数不同的函数?传统的重载在PHP中目前是不可能的。相反,您需要检查传递的参数,并确定如何响应 检查并在这一点。您可以在内部使用这两种方法来确定应该如何响应某些方法的调用。例如,在您的情况下,您可以执行以下操作:
public function tempclass () {
switch ( func_num_args() ) {
case 0:
/* Do something */
break;
case 1:
/* Do something else */
}
}
或者,您也可以为参数提供默认值,并使用这些值来确定您应该如何反应:
public function tempclass ( $text = false ) {
if ( $text ) {
/* This method was provided with text */
} else {
/* This method was not invoked with text */
}
}
在PHP中,重载是不可能的 但是,对于上面的简单示例,类似于这样的方法是可行的:
class myclass {
public function tempclass ($text='Default') {
echo $text;
}
}
为什么对代码使用引号格式而不是代码格式?+1,但建议编辑答案以包含指向
func\u get\u args()
和func\u num\u args()
:-)的参考链接做了一个我认为你可能会同意的改变。完全同意!你的在线联系方式不起作用。你住在苏格兰,我也住在。我的联系方式可以通过这个网站找到。