Search by

oihana / php-system

ooop

This package is abandoned and no longer maintained. No replacement package was suggested.

ABANDONED - split into the oihana/php-* libraries, see the README

0.1.0 2026-05-20 16:39 UTC

This package is auto-updated.

Last update: 2026-10-18 14:09:03 UTC


README

Oihana PHP System

⚠️ This library is abandoned

oihana/php-system has been split into focused libraries, listed below. It is no longer maintained, and the repository is archived. Do not require it in a new project.

Its code stays here, frozen, for the record — but the libraries that replaced it have moved on since : the copies kept in this repository are outdated, and some carry defects fixed elsewhere.

Why

oihana/php-system bundled controllers, models, validation, routes, bootstrap, logging and traits in a single package. A project needing only one of them pulled the whole stack — Slim, Twig, Somnambulist validation, Scrapbook, Monolog. Each part now lives in its own library, with its own dependencies, tests, documentation and releases.

Where each part went

Namespace in oihana/php-system Library to use
oihana\controllers oihana/php-controllers
oihana\models oihana/php-models
oihana\validations oihana/php-validation
oihana\routes oihana/php-routes
oihana\init oihana/php-init
oihana\logging oihana/php-logging
oihana\traits, and oihana\date\traits\DateTrait (now oihana\traits\DateTrait) oihana/php-traits
oihana\date\TimeInterval, oihana\graphics\AspectRatio, oihana\controllers\helpers\resolveDependency() oihana/php-core ≥ 1.3.0 — see below

The classes that became functions

TimeInterval and AspectRatio had no user left; what they did is now a set of plain functions of oihana/php-core :

Former Now, in oihana/php-core
TimeInterval::parse(), toSeconds() oihana\core\date\durationToSeconds()
TimeInterval->days / hours / minutes / seconds oihana\core\date\durationParts()
TimeInterval::humanize() ("1h 42m") oihana\core\date\humanizeDuration()
TimeInterval::formatted() ("1:42") oihana\core\date\formatDuration() — a colon string is now normalized : "90:00" gives "1:30:00"
AspectRatio locked to a width or a height, AspectRatio::fromRatio() oihana\core\maths\aspectFit()
AspectRatio::ratio() ("16:9") oihana\core\maths\aspectRatio()
oihana\controllers\helpers\resolveDependency() oihana\core\container\resolveDependency()

How to migrate

The namespaces did not change — except the date, the ratio and resolveDependency() above, which became functions of oihana/php-core. Migrating is replacing the dependency in composer.json by the libraries a project actually uses :

composer remove oihana/php-system
composer require oihana/php-controllers oihana/php-models

Then require only what the code imports : oihana/php-validation for oihana\validations, oihana/php-routes for oihana\routes, and so on, as listed in the table above.

History

The last published version is 0.1.0 (2026-05-20). The changes listed under [Unreleased] in CHANGELOG.md were never published in oihana/php-system : they were released in the libraries extracted from it.

🧾 License

This project is licensed under the Mozilla Public License 2.0 (MPL-2.0).

👤 About the author