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...
Результат виконання наведеного прикладу:
изменённое значение
значение по умолчанию