Skip to content

PHIL packages

The open libraries and Symfony bundles of PHIL for PHP 8.5 and Symfony 8.2: 86 packages published on Packagist, in 11 families; each page is generated from the package's own README and documentation, and leads to its GitHub repository and its Packagist page.

News

— The PHIL UX kit at 0.3.0-alpha

The PHIL UX kit and phil-ux move to 0.3.0-alpha, and phil/ux-kit becomes a Symfony bundle. Image and Picture preload the main image; Picture and Logo offer a variant for the dark theme and a still image when motion is reduced; the credit, licence and origin of an image are written under its caption. Two recipes join: Gallery, a grid of images, and Lightbox, which enlarges an image in a dialog. An image from another host is shown only when the configuration allows that host. See the demo.

All the news

Foundations

phil/resource

Point at any record of your application by its kind and identifier, such as page:42.

phil/ddd-bundle

The few types every bounded context shares: identifiers, domain events, errors, command and query buses.

Text and content

phil/ujo

UJO (Universal JSON Output) documents as values you can trust: read strictly, checked block by block, rendered as safe HTML.

Web and search

phil/url

Web addresses as normalised values, with their kind detected: Facebook, YouTube, Mastodon, a website.

phil/structured-data

The schema.org graph of a page as values: nodes from every part of a site, merged by @id, checked, and printed as one JSON-LD script element.

PHIL UX

phil/ux-kit

PHIL UX kit for the Symfony UX Toolkit: the same recipes as the Shadcn kit, styled with phil-ux, installed with ux:install --kit.

phil/ux-css

phil-ux, the CSS framework of PHIL: real, mostly classless CSS with --phil-* tokens, light and dark.

Security

phil/svg-sanitizer

Let people upload and paste SVG images without letting them run code, load what they should not, or embed another document.

phil/passwords

Tell people how guessable their password is, refuse the ones already leaked, and give them good ones.

Data

phil/tax

Several taxes on one sale, each computed on the same base and itemised to the cent.

phil/geo

Coordinates, distances and bounding boxes as PHP values, and geocoding through the provider you pick.

Integration

Operations

Tooling

phil/dev-tools

Shared development tooling for PHIL and Tilttek packages: quality-tool configurations, Composer scripts, documentation checks and the package skeleton.

Communication and community

phil/poll

A voting engine: ballots checked against the rules of their poll, and counted into standings.

phil/checkin

The check-in of an event or a venue: a code read at a door, decided at once, recorded once, online or offline.

phil/listings

The core of listings: a classified ad, a job offer, a search for partners — written, moderated, answered and expired by the same rules.

phil/open-badges

Open Badges 3.0 that anyone can verify: issued, signed, baked into the image, revoked, endorsed and gathered in a learner record.

Print and reports

phil/fonts

What a font file says about itself — its names, its weight, its embedding licence — and the @font-face rule to serve it.

phil/svg-chart

Charts drawn as SVG on the server, from the configuration a chart editor already writes.

phil/reporting-bundle

Dashboards and reports for Symfony applications: figures contributed by any bundle, charts drawn without a script, reports exported, scheduled and delivered.