0

我目前正在使用 php 中的 DOM,我所在的上下文需要一些递归,这会弄乱我的代码,但它工作正常。

我想保持我的代码干净,但我无法继续使用 PHP 中的只读内容。

我正在尝试做类似的事情:

$test = new DOMElement('div');
$test->setAttribute('class','blue');

但我收到一个错误

致命错误:未捕获的异常“DOMException”和消息“不允许修改错误”

我可以为这个元素设置属性,直到我将它附加到一个 DOMDocument。有什么办法吗?

我在想类似的东西

class Elem extends DOMElement
{
//and here maybe i could do something to override this readonly
}

这甚至可能吗?

我不想先创建 DOMDocument 然后使用 createElement() 方法并附加它们(我已经这样做了),我只想创建元素,然后在以后附加它们。

4

1 回答 1

3

您只能在将 aDOMElement添加到 a 后对其进行修改DOMDocument

由于此类是在 C 代码中实现的,因此您不能简单地覆盖方法(即使您愿意重新实现整个方法),因为您无法访问 C 代码访问的任何内部结构以实际设置属性。

于 2013-09-03T14:53:01.447 回答