Skip to content

API Reference — PHP

A curated per-package reference (PHP 8.3+). Each page documents the public classes, fluent setters, oracles, and HTTP endpoints.

One-line install

bash
composer require arqel-dev/framework
php artisan arqel:install

arqel-dev/framework is the meta-package that aggregates every core package via composer.json and exposes the root ArqelServiceProvider with the arqel:install command. Consumer apps don't need to declare individual dependencies.

Packages

PackageContentsPage
arqel-dev/frameworkMeta-package + InstallCommand + MakeUserCommandCore →
arqel-dev/coreResource, ResourceRegistry, Panel, PanelRegistry, controller, middlewareCore →
arqel-dev/fieldsField abstract, FieldFactory, 21 field types, ValidationBridgeFields →
arqel-dev/tableTable builder, 9 column types, 6 filter types, TableQueryBuilderTable →
arqel-dev/formForm builder, 7 layout components, FieldRulesExtractor, FormRequestGeneratorForm →
arqel-dev/actionsAction abstract, 4 variants, Confirmable + HasForm + HasAuthorization, ActionControllerActions →
arqel-dev/authAbilityRegistry, PolicyDiscovery, ArqelGate, EnsureUserCanAccessPanel, helpersAuth →
arqel-dev/navNavigationItem, NavigationGroup, Navigation builder, BreadcrumbsBuilderNav →

Total: 8 PHP packages (1 meta + 7 core).

General conventions

  • Every package declares declare(strict_types=1) at the top of every source file
  • Classes are final by default; abstract ones (Resource, Field, Action, Column, Filter, Component) have a final __construct to prevent override
  • Setters return $this for chaining; getters are typed
  • Service Providers are auto-discovered via composer.jsonextra.laravel.providers
  • Singletons (ResourceRegistry, PanelRegistry, AbilityRegistry) are bound in Provider::register

Auto-generation (TODO)

This reference is still manually curated — the canonical source for each package is the SKILL.md file at packages/{pkg}/. Auto-generation via phpDocumentor or Doctum ships as a follow-up:

yaml
# .github/workflows/docs-deploy.yml (future)
- name: Generate phpDocumentor
  run: phpdoc -d packages/ -t apps/docs/reference/php/_generated

The DOCS-005 criteria ("CI regenerates on every push", "every public class documented via docblock") covered by auto-generation remain pending until that PR.

MIT License — built with Inertia + React + Laravel.