특정 클래스 또는 클래스 집합이 특정 함수를 호출하도록 허용하는 PHP5의 방법이 있습니까? 예를 들어, 세 개의 클래스 ("Foo", "Bar"및 "Baz")가 있고 모두 비슷하게 이름이 지정된 메소드가 있고 Bar가 Foo::foo()
에 전화를 걸 수 있지만 Baz가 전화를 걸 수 없도록하려는 경우 :PHP5 : 특정 클래스에 대한 함수 액세스 제한
class Foo {
static function foo() { print "foo"; }
}
class Bar {
static function bar() { Foo::foo(); print "bar"; } // Should work
}
class Baz {
static function baz() { Foo::foo; print "baz"; } // Should fail
}
Foo::foo(); // Should also fail
반드시 푸, 바, 그리고 바즈, 그렇게 도움이되지 않습니다 protected
또는 유사한 수식의 사용 사이의 상속이 아니다; 그러나 메서드가 반드시 정적 인 것은 아닙니다 (예제의 단순성을 위해 여기에 설명했습니다).
C++ 개발자가 아니지만 친구 클래스를 읽은 후 (간략하게), 필자가 찾고있는 것과 똑같은 소리를 들려줍니다. PHP에 상응하는 것이 없다는 것을 압도합니다. – Tim