4

文字列から空白を取り除くなどのメソッドを持つヘルパークラスを作成する場合、メソッドを関数として作成しますstaticか、それとも非static関数として作成しますか?

また、静的メソッドがクラス内の別の関数を呼び出したい場合、do_magic()関数を(静的または非静的?)としてどのように定義する必要がありますか?を使用する必要がありますself::か?

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

    }

    private do_magic() {
        // magic
    }
}
4

1 に答える 1

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!  ");
于 2013-03-05T15:13:44.240 に答える