Download the PHP package atriumphp/atrium without Composer
On this page you can find all versions of the php package atriumphp/atrium. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download atriumphp/atrium
More information about atriumphp/atrium
Files in atriumphp/atrium
Package atrium
Short Description A PHP-configured, modular admin panel framework for Symfony, powered by Live Components.
License MIT
Homepage https://github.com/AtriumPHP/Atrium
Informations about the package atrium
Atrium
A PHP-configured, modular, open-source admin panel framework for Symfony. Describe an admin interface entirely in PHP (resources, columns, fields, actions) and get a polished, reactive UI with no JavaScript build step and no separate API. Reactivity is delivered server-side via Symfony UX Live Components; styling via Tailwind.
Features
- Server-driven, zero-JS-build reactivity. Search, sort, filter, inline validation, dependent fields, modals and toasts all run through Symfony UX Live Components — no React/Vue, no JSON API, no asset pipeline for the consumer.
- Resources, auto-discovered. One PHP class per entity describes its table,
form, pages and abilities; Atrium finds it (no tags, no YAML) and serves full
CRUD. Inline small resources, or split into
Tables/,Schemas/,Pages/. - Tables. Searchable / sortable / paginated lists with filters, relation
(dotted-path) columns (
author.name), row / header / bulk actions, column formatting (badge, boolean, money, alignment, width), configurable empty states, default sort and page-size selector. - Forms. A fluent field schema (text, number, select with dependent
optionsUsing, checkbox, toggle, radio, date/time, colour, tags, key-value, …) on a real layout tree —Grid/Section/Fieldset/Flex, plus Tabs and multi-step Wizards — with conditional visibility, cross-field reactivity (afterStateUpdated) and Symfony-constraint validation. - Actions. View-agnostic row / header / bulk / page actions with no-JS confirmation modals and dropdown groups; built-in View/Edit/Delete/bulk-delete plus custom server actions, all authorizable.
- Record View (infolists). Read-only View screens declared with an entry family — Text, Icon, Image, Colour, KeyValue, Code, Repeatable — laid out with the very same layout components as forms.
- Relations & nesting. Relation managers (one-to-many and many-to-many with
a server-driven tab strip) for create/edit/delete, associate/dissociate and
attach/detach, plus nested resources scoped under a parent record
(
/admin/course/12/lesson/…). - Dashboards & widgets. Routable dashboards arranging stat cards and Chart.js charts with the same layout primitives; widgets are embeddable anywhere and refresh independently (manual or polling).
- Notifications. Server-driven toasts raised from any component or controller, over a live channel (no reload) or a flash bridge (surviving a redirect), with optional in-toast link/event actions.
- Authorization & scoping. Per-resource / per-action gates plus
scopeQuery()for multi-tenancy, ownership or soft-deletes — applied to lists, counts, bulk actions and single-record resolution. - Lifecycle hooks & atomic saves. Record, form-validation and action lifecycle
hooks; bring your own persistence (
handleRecordCreation/ a command bus) inside a single transaction. - Self-contained & storage-agnostic. Ships precompiled Tailwind CSS and an icon
set (Symfony UX Icons / Lucide, any Iconify name) — no Tailwind config required.
The core holds no Doctrine types; data access goes through a swappable
DataProvider(Doctrine adapter included).
Status: pre-1.0, under active development. Everything above is implemented and tested; the public API may still change in a 0.x minor (changes are flagged). See the integration guide to build with it, the
docs/PRDs/PRD.mdfor the roadmap.
Documentation
The integration guide is the place to start — install and build your first resource, then dive into resources, tables, forms, actions and data.
Requirements
- PHP >= 8.4
- Symfony 8.1
Installation
Register the bundle (Symfony Flex does this automatically; otherwise add it to
config/bundles.php):
Defining a resource
A resource is one PHP class per entity — point it at the entity, describe the table and the form, and Atrium discovers it automatically (no tags, no YAML) and serves a full CRUD screen:
That's a searchable, sortable, paginated list with Edit/New actions and a
validated create/edit form, at /admin/tag. Non-trivial resources delegate to
dedicated Tables/, Schemas/ and Pages/ classes; small ones inline as above.
See the getting-started guide for the
full walkthrough.
Quality gates
License
MIT.
All versions of atrium with dependencies
symfony/config Version ^8.1
symfony/dependency-injection Version ^8.1
symfony/framework-bundle Version ^8.1
symfony/http-foundation Version ^8.1
symfony/http-kernel Version ^8.1
symfony/property-access Version ^8.1
symfony/routing Version ^8.1
symfony/twig-bundle Version ^8.1
symfony/ux-chartjs Version ^3.1
symfony/ux-icons Version ^3.0
symfony/ux-live-component Version ^3.0
symfony/ux-twig-component Version ^3.0
symfony/validator Version ^8.1