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