创建一个包含从字符串中删除空格的方法的辅助类时,是否将方法创建为static
或非static
函数?
此外,如果静态方法想要在类中调用另一个函数do_magic()
,那么该函数应该如何定义为(静态或非静态?)并且我们是否必须使用self::
?< / p>
class Helper {
public static strip_whitespace() {
// do some magic
self::do_magic();
}
private do_magic() {
// magic
}
}
答案 0 :(得分:6)
让它们都是静态的。静态方法适用于不依赖于正在创建的类的实例的函数,而这正是您在此处所做的。
class Helper {
public static strip_whitespace($string) {
// do some magic
return self::do_magic();
}
private static do_magic() {
// return magic
}
}
$result = Helper::strip_whitespace(" I'm a string! ");