これは動作します:PHPでプライベートスタティックコールバックを使用するのに有効ですか?
class MyClass {
private static $data = array('banana', 'cherry', 'apple');
private static function sort_by_text($first, $second) {
return strcasecmp($first, $second);
}
public static function sorted_data() {
usort(self::$data, array(__CLASS__, 'sort_by_text'));
return self::$data;
}
}
print_r(MyClass::sorted_data());
// Array ([0] => apple [1] => banana [2] => cherry)
しかし、PHP docs常にpublic
コールバックを使用します。
コールバックがprivate
になっていることがよくありますか、それともprivate
にすると問題が発生する可能性がありますか?
あなたが呼び出しますそれは許可されていないので、クラス内からプライベートメソッド? – DevZer0
@ DevZer0:それを呼び出すクラスの中のメソッドではありません。それは 'usort'です。 – Ashe