PHPackages                             alvinios/domo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. alvinios/domo

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

alvinios/domo
=============

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

1.1.0(10mo ago)00MITPHPPHP &gt;=8.4.0

Since Oct 14Pushed 10mo ago1 watchersCompare

[ Source](https://github.com/alvinios/domo)[ Packagist](https://packagist.org/packages/alvinios/domo)[ RSS](/packages/alvinios-domo/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

 Table of Contents1. [About The Project](#about-the-project)
2. [Getting Started](#getting-started)
    - [Prerequisites](#prerequisites)
    - [Installation](#installation)
3. [Usage](#usage)
4. [Roadmap](#roadmap)
5. [Contributing](#contributing)
6. [License](#license)
7. [Contact](#contact)
8. [Acknowledgments](#acknowledgments)

\## About The Project

### DOMO

[](#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](#readme-top))

Getting Started
---------------

[](#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

[](#prerequisites)

Install it with Composer \*

```
composer require alvinios/domo
```

([back to top](#readme-top))

\## Usage

### Simple example

[](#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 :

```
Hello world!
```

### Mutation

[](#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](#readme-top))

License
-------

[](#license)

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

([back to top](#readme-top))

###  Health Score

31

—

LowBetter than 65% of packages

Maintenance54

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

308d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/143874476?v=4)[Alvinios](/maintainers/Alvinios)[@alvinios](https://github.com/alvinios)

---

Top Contributors

[![alvinios](https://avatars.githubusercontent.com/u/143874476?v=4)](https://github.com/alvinios "alvinios (3 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/alvinios-domo/health.svg)

```
[![Health](https://phpackages.com/badges/alvinios-domo/health.svg)](https://phpackages.com/packages/alvinios-domo)
```

###  Alternatives

[kmlaravel/laravel-geographical-calculator

laravel package help you to implement geographical calculation, with With several algorithms that help you deal with coordinates

42685.5k2](/packages/kmlaravel-laravel-geographical-calculator)[eliashaeussler/typo3-solver

Solver - Extends TYPO3's exception handling with AI generated solutions. Problems can also be solved from command line. Several OpenAI parameters are configurable and prompts and solution providers can be customized as desired.

302.1k](/packages/eliashaeussler-typo3-solver)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
