好的,所以这已经烤了我的面条一段时间了。我有一个类,它的方法定义了一个全局可访问的函数。我的问题是:内部类方法如何定义可在全局范围内访问的函数?
这是一个示例:
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!";
}
}
}
}
该类像往常一样在应用程序的早期实例化,但它是在另一个类的方法中实例化的。这是一个浅范围链,但嵌套得足够多,以至于(对我而言)它为什么可以在应用程序之外访问是没有意义的。这违背了我对封装的理解,一些见解将不胜感激。