在 PHP 中创建新对象时,我收到以下错误消息:
Fatal error: Call to private MyObject::__construct() from invalid context
我只是创建新对象,而不尝试显式调用构造函数。有谁知道发生了什么事吗?
Your MyObject
类具有受保护或私有构造函数,这意味着该类无法实例化。__construct()
实例化对象时总是会调用函数,因此尝试执行类似的操作$x = new MyObject()
将导致私有构造函数出现致命错误。 (如果您没有特别声明__construct()
函数,父构造函数将被调用)。
私有构造函数通常在 Singleton 类中使用,以防止直接实例化对象。如果它不是您构建的类,它可能有一个getInstance()
可用函数(或类似的东西)返回自身的实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)