【发布时间】:2012-10-14 02:11:24
【问题描述】:
好的,我的面条已经烤了一段时间了。我有一个类,它的方法定义了一个全局可访问的函数。我的问题是:内部类方法如何定义可在全局范围内访问的函数?
这是一个示例:
class MyClass
{
// ... accessors, constuctors other methods, et al...
// The method in question:
private function myPrivateMethod()
{
if( !function_exists( 'someArbitraryFunction' ) )
{
function someArbitraryFunction( $args )
{
return "Hello, {$args} world!";
}
}
}
}
该类像往常一样在应用程序的早期实例化,但它是在另一个类的方法中实例化的。这是一个浅范围链,但嵌套得足够多,以至于(对我而言)为什么它可以在应用程序之外访问是没有意义的。这违背了我对封装的理解,非常感谢一些见解。
【问题讨论】: