【发布时间】:2010-12-03 16:18:23
【问题描述】:
我想要扩展具有最终构造函数的类(在我的例子中是 SimpleXMLElement),但我遇到了问题,因为当我使用时:
class myclass extends SimpleXMLElement {
function __construct($xmlVersion='1.0', $xmlEncoding='ISO-8859-1', $rootName='root'){
parent::__construct("<?xml version='$xmlVersion' encoding='$xmlEncoding'?><$rootName />");
}
我得到错误:
致命错误:无法覆盖 final 方法 SimpleXMLElement::__construct()
当我删除构造函数时,我得到这个错误:
致命错误:未捕获的异常 带有消息的“异常” 'SimpleXMLElement::__construct() 期望至少 1 个参数,给定 0'
我错过了一些东西或不明白如何正确调用最终的父构造函数。 我不想重写方法只是扩展类,但我不能扩展,因为它需要 __construct()。所以我错过了一些东西,然后又回到了开始的地方。
谁能解释我错在哪里?
【问题讨论】:
-
看来这个类的编写方式使其难以扩展。可能是故意的。
标签: php