助手类:静态或非静态函数

时间:2013-03-05 15:08:05

标签: php

创建一个包含从字符串中删除空格的方法的辅助类时,是否将方法创建为static或非static函数?

此外,如果静态方法想要在类中调用另一个函数do_magic(),那么该函数应该如何定义为(静态或非静态?)并且我们是否必须使用self::?< / p>

class Helper {
    public static strip_whitespace() {
        // do some magic
        self::do_magic();

    }

    private do_magic() {
        // magic
    }
}

1 个答案:

答案 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!  ");