Вход на сайт

Просмотр новости

Найдите то, что Вас интересует

milpa/admin (v0.1.0)

Дата публикации: 28-07-2026 01:21:09

The administration panel of the Milpa PHP framework: a discoverable section shell over the plugin, settings and routing surfaces a host exposes — server-rendered, no JavaScript required.

Основное содержимое страницы с новостью.

The administration panel of the Milpa PHP framework: a discoverable section shell over the plugin, settings and routing surfaces a host exposes — server-rendered, no JavaScript required.

Maintainers

b80f2749e9bbd00f8b8456d76817e679e4d62623733777f72b866fe21ef1d19e?s=48&d=identicon

v0.1.0 2026-07-28 01:21 UTC

This package is auto-updated.

Last update: 2026-07-28 01:21:20 UTC


README

Milpa

The administration panel of the Milpa PHP framework — a section shell that discovers what your app can actually do, server-rendered, no JavaScript required.

CI Packagist PHP License

Add one plugin to your app and /milpa/admin exists: a navigation, a settings form, a plugin manager, and a route inspector — behind your own auth, rendered on the server.

Install
composer require milpa/admin
// config/plugins.php
return [
    Milpa\Admin\AdminPlugin::class,
    // ...
];
The one idea

The panel knows no section by name. It asks every booted plugin for its sections and renders what it gets back:

final class BillingPlugin implements PluginInterface, AdminSectionProvider
{
    public function adminSections(): array
    {
        return [new AdminSection('billing', 'Facturación', '/milpa/admin/billing', 40)];
    }
}

That is the whole extension point. Your section appears in the navigation, in order, with no change to this package — and the same list drives the terminal shell (coa:admin, coa:tui), so a section you add is a section you can also inspect without a browser.

What it ships with
Section What it does
Settings The site configuration, as a form generated from the schema of a governed tool — with CSRF, validation, and redisplay of what you typed when it is rejected.
Plugins What your app has, what boots, and a button per row. It drives milpa/plugin's operations, so the panel and coa plugins.list cannot disagree.
Sistema The route table, read-only.
What a host has to provide

Nothing is assumed and nothing is faked. A capability you did not wire simply does not appear — there are no dead controls (that is a rule, not a habit: see ADR-0005, surface honesty).

You register You get
SessionStore + milpa/auth's scope middleware The panel at all — every section is behind milpa.admin.
PluginRegistryInterface The Plugins section: list, enable, disable.
PluginInstallerInterface Install, update and remove on top of it. Without it those three operations do not exist, so no surface renders a button that fails when pressed.
RouteTableSource The Sistema section. Every host builds its route table differently; this port is how yours gets in.
No JavaScript required

Every control is a real <form> with a real submit. The panel enhances with JS when it is there and works identically when it is not — which matters most at the exact moment you need it: turning off the plugin that broke the page is not the time to depend on that page's JavaScript.

Two more decisions worth knowing:

  • Installing is not consenting to run. A freshly installed plugin arrives disabled.
  • A plugin declared in your code cannot be removed from the panel — it would delete files your own source still names. The panel says so, and offers to disable it instead.
Requirements Contributing

Contributions are welcome — see CONTRIBUTING.md. Please report security issues via SECURITY.md, and note that this project follows a Code of Conduct.

License

Apache-2.0 © Rodrigo Vicente - TeamX Agency.

Milpa is designed, built, and maintained by Rodrigo Vicente - TeamX Agency.

Схожие новости

#Наименование новостиТональностьИнформативностьДата публикации
1milpa/http-symfony (v0.1.0)012.3128-07-2026
2milpa/skeleton (v0.10.0)020.428-07-2026
3milpa/auth (v0.3.0)010.9428-07-2026
4milpa/live (v0.2.0)017.7928-07-2026
5milpa/orchestrator (v0.3.0)016.0428-07-2026
6milpa/live-web (v0.2.0)018.4828-07-2026
7milpa/live-tui (v0.3.0)012.428-07-2026
8ginger-tek/faktura (1.0.4)036.6728-07-2026
9seip25/lila-php (v1.59)03828-07-2026
10linkrobins/birdseye (v1.5.0)014.1728-07-2026

Классификация: Пресс-релизы. Схожих патентов: 0. Схожих новостей: 10. Тональность: 0. Информативность: 11.16. Источник: packagist.org.