alvinios/domo

DOMO: bject-oriented XML generation library based on PHP DOM

Maintainers

Details

github.com/alvinios/domo

Source

Issues

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/alvinios/domo

1.1.0 2025-10-14 13:53 UTC

This package is auto-updated.

Last update: 2025-10-14 14:04:06 UTC


README

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

## About The Project

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.

(back to top)

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

(back to top)

## Usage

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')))

(back to top)

License

Distributed under MIT License. See LICENSE.txt for more information.

(back to top)