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 2010-06-03 14:27:45