alvinios / domo
DOMO: bject-oriented XML generation library based on PHP DOM
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/alvinios/domo
Requires
- php: >=8.4.0
- ext-dom: *
Requires (Dev)
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2025-10-14 14:04:06 UTC
README
Table of Contents
DOMO
This is a PHP library based on DOM PHP extension that allows you to generate XML (and it's subset HTML) in an Object Oriented way. It ensures you generate valid XML, and is less verbose than use DOM extension directly.
Getting Started
This is an example of how you may give instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
Prerequisites
Install it with Composer *
composer require alvinios/domo
Simple example
$dom = new DOMDocument(); $page = new Html( new Body( new Cls('class-1'), new Div( new Text('Hello world!'), new Id('id-1'), new Cls('class-2'), ) ) ); $dom->appendChild($page->dom($dom)); echo $dom->saveHTML();
Resulting HTML should look like this :
<html><body class="class-1"><div id="id-1" class="class-2">Hello world!</div></body></html>
Mutation
DOM can be mutated with Append, Prepend, Remove, ReplaceWith functions :
use Alvinios\Domo\Mutate\{Append, Prepend, Remove, ReplaceWith}; $page = Append($page, './/div[@id="id-1"]', new Span(new Cls('span-cls')))
License
Distributed under MIT License. See LICENSE.txt
for more information.