好吧,我或多或少寻找的是 php 中的事件处理程序...... - 我想。
我正在编写一个 php 脚本来制作一个 xml 文件(确切地说是 ansi n42.42 文件)我想要做的是能够定义各种“子树”并将它们合并到最终的 DOMDocument 中。我将这些子树中的每一个定义为扩展的 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会更好吗?)