PHP:SimpleXMLElement() 类和 SimpleXML_load_string() 有什么区别?
我见过很多程序员实现而不是类。使用前者比后者有什么好处吗?我已经阅读了单纯形ml上的PHP手册。我无法掌握它是什么。SimpleXML_load_string()
SimpleXMLElement()
任何帮助和指导(也许通过示例)将不胜感激。提前致谢。
我见过很多程序员实现而不是类。使用前者比后者有什么好处吗?我已经阅读了单纯形ml上的PHP手册。我无法掌握它是什么。SimpleXML_load_string()
SimpleXMLElement()
任何帮助和指导(也许通过示例)将不胜感激。提前致谢。
simplexml_load_string()
(顾名思义)从字符串加载 xml 并返回 的对象 。这与仅使用类的常用构造函数之间没有区别。SimepleXMLElement
更新:
SimpleXML::__construct()
有一个附加参数(第三个)。如果这是行为,则行为与(与公共流包装器结合使用)相同。因此,这两个函数都涵盖与 相同的功能。bool $data_is_url = false
true
simplexml_load_file()
simplexml_load_*()
SimpleXML::__construct()
此外,这些函数还有第二个参数来指定要返回的对象的类。这不是函数的特定功能,因为您也可以“使用”与通常的实例非常相似的东西。simplexml_load_*()
string $class_name = "SimpleXMLElement"
class MyXML extends SimpleXMLElement {}
$a = new MyXML($xml);
$b = simplexml_load_string($xml, 'MyXML');
OOP- 和过程方法之间的区别在于,函数在出错时返回,但构造函数会引发异常。false
它主要是一个便利包装器。通过自己构造基元素,您至少需要两行代码才能完成任何操作。使用 simplexml_load_string()
一个表达式可能就足够了:
print simplexml_load_string($xml)->title;
短于:
$e = new SimpleXMLElement($xml);
print $e->title;
当然,函数签名也略有不同。
更新:并且长度与
print(new SimpleXMLElement($xml))->title;