PHP Conference Japan 2024

The DOMAttr

(PHP 5, PHP 7, PHP 8)

简介

DOMAttr 代表 DOMElement 对象中的一个属性。

类概要

class DOMAttr extends DOMNode {
/* 继承的常量 */
/* 属性 */
public readonly string $name;
public readonly bool $specified;
public string $value;
public readonly ?DOMElement $ownerElement;
public readonly mixed $schemaTypeInfo;
/* 继承的属性 */
public readonly string $nodeName;
public readonly int $nodeType;
public readonly ?DOMNode $parentNode;
public readonly ?DOMElement $parentElement;
public readonly DOMNodeList $childNodes;
public readonly ?DOMNode $firstChild;
public readonly ?DOMNode $lastChild;
public readonly ?DOMNode $previousSibling;
public readonly ?DOMNode $nextSibling;
public readonly ?DOMNamedNodeMap $attributes;
public readonly bool $isConnected;
public readonly ?DOMDocument $ownerDocument;
public readonly ?string $namespaceURI;
public string $prefix;
public readonly ?string $localName;
public readonly ?string $baseURI;
/* 方法 */
public __construct(string $name, string $value = "")
public isId(): bool
/* 继承的方法 */
public DOMNode::C14N(
    bool $exclusive = false,
    bool $withComments = false,
    ?数组 $xpath = null,
    ?数组 $nsPrefixes = null
): 字符串|false
public DOMNode::C14NFile(
    字符串 $uri,
    bool $exclusive = false,
    bool $withComments = false,
    ?数组 $xpath = null,
    ?数组 $nsPrefixes = null
): 整数|false
}

属性

name

属性的名称。

ownerElement

包含该属性的元素,或null

schemaTypeInfo

尚未实现,始终为null

specified

尚未实现,始终为true

value

属性的值。

注意:

注意,设置值时会扩展 XML 实体。因此,& 字符具有特殊含义。当 value 包含 & 时,将 value 设置为自身将会失败。要避免实体扩展,请改用 DOMElement::setAttribute()

目录

添加注释

用户贡献的注释 2 条注释

2
greubel at nkey dot de
9 年前
请注意调试与 DOMAttr 相关的代码。这将导致 E_WARNING,提示尚未实现检索 schemaTypeInfo 属性。像 Eclipse 这样的 IDE 将检查对象及其成员元素。结合已注册的错误处理程序,这将把 E_WARNING 转换为异常,从而使您的调试会话意外结束。这在我使用“Makegood”插件在 Eclipse 中调试我的 PHPUnit 测试用例时给我带来了一些麻烦。

一种可能的解决方法是在调试期间使用 error_reporting(0) 禁用错误处理。调试完成后删除该语句。

Bugtracker 中值得注意的工单:https://bugs.php.net/bug.php?id=61858
以及 xdebug 的工单:http://bugs.xdebug.org/view.php?id=910
1
chregu at php dot net
15 年前
另请参见继承类 DOMNode 的属性(https://php.net/manual/en/class.domnode.php),例如 namespaceURI、prefix、localName 等,尤其是在您必须处理命名空间属性时。
To Top