DOMDocument::registerNodeClass

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DOMDocument::registerNodeClass — Реєстрація розширеного класу, який використовується для створення типу базового вузла

Опис

public DOMDocument::registerNodeClass(string $baseClass, ?string $extendedClass): bool

Цей метод дозволяє зареєструвати свій власний розширений клас DOM, який згодом використовуватиметься модулем PHP DOM.

Цей метод не є частиною стандарту DOM.

Застереження

Конструктор об'єктів зареєстрованих класів вузлів не викликається.

Список параметрів

baseClass

Клас DOM, який ви бажаєте розширити. Список таких класів можна побачити у у веденні

extendedClass

Ім'я розширеного класу. Якщо передати null, будуть видалені всі раніше зареєстровані класи, які розширюють базовий клас baseClass

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

Приклади

Приклад #1 Додавання нового методу до класу DOMElement для спрощення коду

Loading...

Результат виконання наведеного прикладу:

<?xml version="1.0"?>
<root><child foo="bar"/></root>

Приклад #2 Отримання елементів у вигляді класу користувача

Loading...

Результат виконання наведеного прикладу:

string(9) "myElement"
text in child

Приклад #3 Отримання імені документа власника

Коли створюється екземпляр розширеного класу DOMDocument, властивість ownerDocument посилатиметься на створюваний об'єкт. Однак, якщо видалити всі посилання на цей клас, він буде знищений, а замість нього буде створено новий об'єкт DOMDocument. З цієї причини ви можете використати функцію DOMDocument::registerNodeClass() стосовно об'єкту DOMDocument

Loading...

Результат виконання наведеного прикладу:

string(13) "MyDOMDocument"
string(11) "DOMDocument"
string(18) "MyOtherDOMDocument"
string(18) "MyOtherDOMDocument"

Приклад #4 Об'єкти користувача тимчасові

Застереження

Об'єкти зареєстрованих класів вузлів є тимчасовими, тобто. вони знищуються, коли на них більше не посилаються з PHP-коду і відтворюються при повторному вилученні. Це означає, що значення властивостей, що настроюються, будуть втрачені після відновлення.

Loading...

Результат виконання наведеного прикладу:

изменённое значение
значение по умолчанию