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:installarqel-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
| Package | Contents | Page |
|---|---|---|
arqel-dev/framework | Meta-package + InstallCommand + MakeUserCommand | Core → |
arqel-dev/core | Resource, ResourceRegistry, Panel, PanelRegistry, controller, middleware | Core → |
arqel-dev/fields | Field abstract, FieldFactory, 21 field types, ValidationBridge | Fields → |
arqel-dev/table | Table builder, 9 column types, 6 filter types, TableQueryBuilder | Table → |
arqel-dev/form | Form builder, 7 layout components, FieldRulesExtractor, FormRequestGenerator | Form → |
arqel-dev/actions | Action abstract, 4 variants, Confirmable + HasForm + HasAuthorization, ActionController | Actions → |
arqel-dev/auth | AbilityRegistry, PolicyDiscovery, ArqelGate, EnsureUserCanAccessPanel, helpers | Auth → |
arqel-dev/nav | NavigationItem, NavigationGroup, Navigation builder, BreadcrumbsBuilder | Nav → |
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
finalby default; abstract ones (Resource,Field,Action,Column,Filter,Component) have a final__constructto prevent override - Setters return
$thisfor chaining; getters are typed - Service Providers are auto-discovered via
composer.json→extra.laravel.providers - Singletons (
ResourceRegistry,PanelRegistry,AbilityRegistry) are bound inProvider::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/_generatedThe DOCS-005 criteria ("CI regenerates on every push", "every public class documented via docblock") covered by auto-generation remain pending until that PR.
Related
- TypeScript: API Reference TS
- ADRs:
PLANNING/03-adrs.md - Roadmap:
PLANNING/07-roadmap-fases.md