PHP Conference Nagoya 2025

DOMAttr クラス

(PHP 5, PHP 7, PHP 8)

はじめに

DOMNode を継承します。DOMAttr は、DOMElement オブジェクトの属性を表します。

クラス概要

class DOMAttr extends DOMNode {
/* プロパティ */
public readonly string $name;
public readonly bool $specified = true;
public string $value;
public readonly ?DOMElement $ownerElement;
public readonly mixed $schemaTypeInfo = null;
/* 継承したプロパティ */
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,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): string|false
public DOMNode::C14NFile(
    string $uri,
    bool $exclusive = false,
    bool $withComments = false,
    ?array $xpath = null,
    ?array $nsPrefixes = null
): int|false
public DOMNode::isEqualNode(?DOMNode $otherNode): bool
public DOMNode::isSameNode(DOMNode $otherNode): bool
public DOMNode::isSupported(string $feature, string $version): bool
}

プロパティ

name

属性の名前

ownerElement

属性を保持する要素。存在しない場合は null になります。

schemaTypeInfo

未実装です。常に null を返します。

specified

未実装です。常に true を返します。

value

属性の値

注意:

値を設定する際には、XML のエンティティが展開されるので注意してください。 つまり、& 文字は特別な意味を持ちます。 value& が含まれている場合、それを直接設定すると処理が失敗します。 エンティティの展開を避けるためには、 DOMElement::setAttribute() を代わりに使います。

目次

add a note

User Contributed Notes 2 notes

up
2
greubel at nkey dot de
9 years ago
Please take care on debugging DOMAttr related code. This will cause an E_WARNING that retrieving schemaTypeInfo attribute is not implemented yet. An IDE like Eclipse will inspect the object and its member elements. In conjunction with registered error handlers, which will translate the E_WARNING into Exception your debugging session will end unexpectedly. This has caused me some trouble while debugging my PHPUnit test case in eclipse using "Makegood" plugin.

A possible workarround is to deactivate the error handling during debugging using error_reporting(0). Remove the statement after finishing your debugging session.

Notable ticket in Bugtracker: https://bugs.php.net/bug.php?id=61858
And a xdebug tracker ticket: http://bugs.xdebug.org/view.php?id=910
up
1
chregu at php dot net
15 years ago
See also the properties from the inherited class DOMNode ( http://php.net/manual/en/class.domnode.php ), eg. namespaceURI, prefix, localName, etc, especially if you have to deal with namespaced attributes
To Top