Tim*_*Tim 4 php oop access-modifiers restriction
PHP5中是否有一种方法只允许某个类或一组类调用特定的函数?例如,假设我有三个类("Foo","Bar"和"Baz"),都有类似命名的方法,我希望Bar能够调用Foo::foo()但拒绝Baz 进行调用的能力:
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 failRun Code Online (Sandbox Code Playgroud)
在Foo,Bar和Baz之间不一定存在继承,因此使用protected或类似的修饰符将无济于事; 然而,这些方法不一定是静态的(为了简化示例,我在这里做了它们).