2016-10-02 php学习笔记1

在代码中,引用正在执行的文件的文件名用 __FILE__ 常量。 __LINE__ 当前运行的行; 在用simplexml进行xml操作时, 在写xml时, 他是将xml进行了url编码后才保存的。 在采用DOM来创建xml文件时。

title:php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$dom = new DOMDocument(); 
$nameElement = $dom->createElemnt("name");

//这时可以向name添加子元素
//如果采用new DOMElement来创建一个元素时, 在没有加入
//没有将新创建的元素添加到某个元素, 将新创建的元素作为某个元素的
//子元素的话, 是不能向新创建的元素添加子元素的, 否则会出现致命错误
//用上面的方法创建元素时, 就没有这个限制。
//如下面的代码就是错误的

$element = new DOMElement("xy");
$element->appendChild(new DOMElement("dfkj"));
$dom->appendChild($element); //如果修改成这样就不会出现这个错误了
$element = new DOMElement("xy");
$dom->appendChild($element);
$element->appendChild(new DOMElement("dfkj"));

var_dump() 发现, 用两种方法创建的对象里面属性个数是不一样的 $dom->createElement() 创建的对象有17个属性值, 而用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
new DOMElement //创建的对象却拥有16个属性值, 通过对比发现用
$dom->createElement() //创建的对象多了一个ownerDocument属性。
//但是当将用new创建的对象添加为某个的子元素时, 用new创建的对象有多了一个
//多了一个ownerDocuemnt这个属性值。 明白了, 用new创建的是只读对象, 是不能
//向其加入子元素, 或者属性的。
//那么从这一点看,

$dom->createElement //返回的类型与DOMElement的类不一样,
//应该是继承与被继承的关系。
//当一个元素没有ownerDocument文档是只读的,
//但是通过翻阅文档发现, 两个返回的确是同一个class的对象, 这就有点奇怪了。
//通过仔细研究发现, 两个返回的确实是一个class的对象, 我上面的怀疑是对的
//DOMElement是从DOMNode继承而来的, ownerDocument是DOMNode的一个属性, 而
//ownerDocument是一个class的对象, 我想如果是继承而来的属性如果是一个对象的话,
//而这个属性为null时, var_dump是不能识别完全的, 这就解释了, 上面的两种创建
//方法返回的对象拥有不同的属性个数了。` 通过用var\_dump()来进行比较两个创建的对象有什么区别时。 发现用

2016-10-02 php学习笔记1
https://www.supermew.top/2016/10/02/php学习笔记1/
作者
八月
发布于
2016年10月2日
许可协议