嗯,我或多或少寻找的是php中的一个事件处理程序...... - 我想。
我正在编写一个php脚本来创建一个xml文件(确切地说是ansi n42.42文件)我想要做的是能够定义各种“子树”并将它们合并到最终DOM文档。我将每个子树定义为具有构建子树所需的那些属性的扩展DOMNode。因为domnode在插入DOMDocument之前是不可变的,所以我定义了一个构建方法,在我将它设置为设置之后运行:
例如在我的课堂上:(为简洁起见,删除了一些部分)
class calibration extends DOMElement{
var $calibtype="Energy";
var $coefficients;
var $id;
function calibration($coeff,$id=false){
parent::__construct('Calibration');
$this->coefficients=$coeff;
$this->id=$id;
}
function build(){ // must be called after the calibration is inserted into a dom-tree.
$this->setAttribute('Type',$this->calibtype);
$DOM=$this->ownerDocument;
$node=$DOM->createElement('Equation');
}
然后使用它:
$cal = new calibration("-4, 3.12","cal_id");
$n42->firstChild->appendChild($cal); // n42 is the object extending DOMDocument
$cal->build();
当$ cal附加到树中时,是否有可能使$ cal-> build()自动运行?
(或者我可能在错误的树上咆哮,从一开始我会更好地使用DOMFragment吗?)
答案 0 :(得分:1)
如果我理解正确,那么你可以在你的脚本中添加观察者,他们将负责更改DOMDocument。那就是我理解正确的。