PHPackages                             athill/php-utils - 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. athill/php-utils

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

athill/php-utils
================

PHP Utility Classes

023PHP

Since Jun 10Pushed 4y ago1 watchersCompare

[ Source](https://github.com/athill/PHP-Utils)[ Packagist](https://packagist.org/packages/athill/php-utils)[ RSS](/packages/athill-php-utils/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

PHP Utility Classes
===================

[](#php-utility-classes)

Archived
--------

[](#archived)

This was a project to ease the building of websites. It had some good ideas, but was not extensible enough and lost even more relevance when the client side moved beyond jQuery.

Philosophy
----------

[](#philosophy)

The idea of this project is to be the the poor man's [Laravel](http://laravel.com/). By that I mean, I am a huge fan of Laravel, but

1. Using Laravel (or another MVC (Model-View-Controller) framework) can be daunting if not impossible in a shared hosting environment
2. As simple as Laravel makes things for the experienced programmer, there's still a pretty steep learning curve for a PHP novice.
3. Even if you are experienced and can advance to a more mature framework, I hope these utilities can be helpful in transitioning from a legacy web site

Do not use this framework to write the next Big Thing. It's meant for little websites of small organizations or hobbies.

The framework is meant to be small, intelligible, and extensible. It is easy to extend or replace the utilities, assuming the replacements fulfill the contract of the existing utility.

Also, heavily influenced by the concept of [convention over configuration](http://en.wikipedia.org/wiki/Convention_over_configuration).

Page Flow
---------

[](#page-flow)

A page might look like this:

```

    ```

Status
------

[](#status)

Work in progress at this point.

### Update 2015-03-29

[](#update-2015-03-29)

Basic setup and template system in place. Example implementation at [demo.anyhill.us](http://demo.andyhill.us). Code at [PHP-Utils-Demo](https://github.com/athill/PHP-Utils-Demo). To try it out, you either need a [vagrant box](https://www.vagrantup.com/) or the requirements in the previous update. Running the limited demo page of this repository requires only PHP and Composer

```
> git clone https://github.com/athill/PHP-Utils
> cd PHP-Utils
> composer update
> php -S localhost:8000
//// go to localhost:8000 in your web browser

```

### Update 2015-02-14

[](#update-2015-02-14)

I've just touched the surface, but am rendering a basic, compliant HTML page. To run the demo:

1. You need [PHP](http://php.net/), [Composer](https://getcomposer.org/), and [Bower](http://bower.io/). Install these.
2. Download this repo (unzip, cd into)
3. cd into demo. demo will probably soon be a separate repository, it's convenient for me to have it all in one directory, but many complications and benefits point toward moving it.
4. $ composer update
5. $ bower install
6. $ php -S localhost:8000
7. Go to [localhost:8000](http://localhost:8000) in your browser, view source
8. win

The actual point of this is in the demo/vendor/athill/php-utils/src directory. Much of it in not being used at this point. Currently, here's what happens:

1. You go to [localhost:8000](http://localhost:8000)
2. As you haven't requested a specific page, you get index.php, which looks like this

     p('content'); $page-&gt;end();
3. setup.inc.php sets some things up and calls Setup.php which sets a bunch of defaults.
4. Page.php uses these defaults and optional options to render the stuff around the content
5. The content, in this case, is &lt;p&gt;content&lt;/p&gt;, from $h-&gt;p('content');

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity43

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/b1e9f29334dc5e5612ad14f37b3158c4c642e25df4bf7ba13fb7a303c650f876?d=identicon)[athill](/maintainers/athill)

---

Top Contributors

[![athill](https://avatars.githubusercontent.com/u/1534521?v=4)](https://github.com/athill "athill (249 commits)")

### Embed Badge

![Health badge](/badges/athill-php-utils/health.svg)

```
[![Health](https://phpackages.com/badges/athill-php-utils/health.svg)](https://phpackages.com/packages/athill-php-utils)
```

###  Alternatives

[nystudio107/craft-webperf

Webperf helps you build &amp; maintain high quality websites through Real User Measurement of your website's performance

2540.9k1](/packages/nystudio107-craft-webperf)

PHPackages © 2026

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