在PHP中创建一个新对象时,我收到以下错误消息:
Fatal error: Call to private MyObject::__construct() from invalid context
我只是创建新对象,不要尝试显式调用构造函数.有谁知道发生了什么?
zom*_*bat 29
您的MyObject类具有受保护或私有构造函数,这意味着该类无法实例化. __construct()在实例化对象时总是调用函数,因此尝试执行类似操作$x = new MyObject()会导致私有构造函数出现致命错误.(如果没有专门声明__construct()函数,将调用父构造函数).
私有构造函数通常在Singleton类中使用,以防止对象的直接实例化.如果它不是你构建的类,它可能有一个getInstance()可用的函数(或类似的东西)来返回它自己的实例.