PHPackages                             nowise/uup-html - 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. nowise/uup-html

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

nowise/uup-html
===============

Object oriented HTML class library.

1.0.7(6y ago)06Apache-2.0PHPPHP &gt;=5.4.0

Since Feb 25Pushed 6y agoCompare

[ Source](https://github.com/nowisesys/uup-html)[ Packagist](https://packagist.org/packages/nowise/uup-html)[ Docs](https://nowise.se/oss/uup/html)[ RSS](/packages/nowise-uup-html/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependenciesVersions (9)Used By (0)

UUP-HTML - Object oriented HTML class library for PHP
-----------------------------------------------------

[](#uup-html---object-oriented-html-class-library-for-php)

An object oriented PHP library for generating HTML. It consists of component, container and utility classes making it possible to e.g. compose a form or table without having to bother with HTM tags.

### Usage

[](#usage)

The usage pattern is to create an container object (like a form) and add child containers and components to it. Once composed, just call output() to make it generate the HTML code.

The add methods create and return a object. This makes it easy to incremental adding child objects and setting properties on them. Heres an simple example on this concept for a form:

```
$options = array('opt1' => 'val1', 'opt2' => 'val2');

$form = new Form('script.php');

$combo = $form->addComboBox('opt');                     // Got ComboBox object in return
foreach ($options as $name => $value) {
        $option = $combo->addOption($value, $name);     // Get Option object in return
}

$form->addSubmitButton();
$form->output();                                        // Output this form
```

All objects can be added to another container. The output is started when calling output() on the top container. We could do like this:

```
$paragraph = new Paragraph();
$paragraph->addElement($form);         // Add form to paragraph
$paragraph->output();                  // Calls output on form object implicit
```

Javascript events can be attached to all objects by appending a code fragment for wanted event:

```
$textbox = new TextBox('username');
$textbox->setEvent(Event::ON_BLUR, 'if(this.value === "") { '
    . 'alert("Username can\'t be empty"); '
    . 'this.focus(); '
    . '}');
```

A couple of prepared event handler is defined in the Event class:

```
$textbox = new TextBox('username');
$textbox->setEvent(Event::ON_DOUBLE_CLICK, EVENT_HANDLER_CLEAR_CONTENT);
```

### More

[](#more)

Visit the [project page](https://nowise.se/oss/uup/html) for more information.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity63

Established project with proven stability

 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

Every ~242 days

Recently: every ~423 days

Total

8

Last Release

2404d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/051c93d5c76da455715b999de080c10df538ce46843177f3b1779c235fe4aaff?d=identicon)[nowise](/maintainers/nowise)

---

Top Contributors

[![nowisesys](https://avatars.githubusercontent.com/u/35581658?v=4)](https://github.com/nowisesys "nowisesys (33 commits)")

---

Tags

htmlphp-libraryrenderuihtmluupbmc

### Embed Badge

![Health badge](/badges/nowise-uup-html/health.svg)

```
[![Health](https://phpackages.com/badges/nowise-uup-html/health.svg)](https://phpackages.com/packages/nowise-uup-html)
```

###  Alternatives

[spatie/laravel-html

A fluent html builder

8376.4M72](/packages/spatie-laravel-html)[livewire/flux

The official UI component library for Livewire.

9385.0M86](/packages/livewire-flux)[caxy/php-htmldiff

A library for comparing two HTML files/snippets and highlighting the differences using simple HTML.

21520.9M15](/packages/caxy-php-htmldiff)[mexitek/phpcolors

A series of methods that let you manipulate colors. Just incase you ever need different shades of one color on the fly.

5003.6M18](/packages/mexitek-phpcolors)[yajra/laravel-datatables-html

Laravel DataTables HTML builder plugin

2899.6M48](/packages/yajra-laravel-datatables-html)[mkalkbrenner/php-htmldiff-advanced

An add-on for the php-htmldiff library for comparing two HTML files/snippets and highlighting the differences using simple HTML.

3517.8M1](/packages/mkalkbrenner-php-htmldiff-advanced)

PHPackages © 2026

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