3.1 KiB
Agente PHP — Regole e Convenzioni
Questo file definisce le istruzioni specifiche, le regole e le convenzioni per lo sviluppo e la manutenzione delle pagine custom e dei componenti scritti in PHP 8.0+ nella cartella php/.
Gestione ID dei Form Element
Gli ID dei campi del form (es. nel Dropdown, Checkbox, TextField) creati tramite i metodi della classe ElixFormsComponent.php non devono mai essere cambiati o manipolati (ad es. aggiungendo suffissi come _dropdown), in quanto la piattaforma elixForms si basa sul loro nome ed ID esatto.
In caso di conflitti di ID (ad esempio con input hidden), applicare il suffisso _hidden all'input hidden e mantenere l'ID originale senza suffissi sull'elemento principale visibile.
Convenzioni di Codice e Framework
-
PHP Puro (No Framework):
- Utilizzare PHP 8.0+ con tipizzazione forte (
declare(strict_types=1);). - Sfruttare le feature moderne come
matchexpression, property promotion e typed properties. - Le pagine custom ereditano da
ElixFormsComponente sovrascrivonocreateCustomFormFields().
- Utilizzare PHP 8.0+ con tipizzazione forte (
-
Namespace PSR-4:
- Tutte le classi nella libreria comune usano il namespace
ElixForms\Common;. - Il caricamento è manuale tramite
require_once __DIR__ . '/../common/ElixFormsComponent.php';.
- Tutte le classi nella libreria comune usano il namespace
-
Rendering Server-Side:
- I file PHP generano direttamente l'HTML server-side usando il design system Bootstrap Italia di UniPR.
- Non c'è alcun passaggio di build o bundling JS.
-
Checkbox e Stato:
- I checkbox inviano il proprio stato serializzato come stringa separata da virgole tramite un input hidden (gestito client-side da uno script JS automatico).
Deploy e Server Locale
- Deploy: Le cartelle vengono caricate direttamente su web server Apache.
- Server locale:
- PHP CLI: Avviare il server dalla cartella
php/tramitephp -S localhost:8080(le pagine saranno raggiungibili suhttp://localhost:8080/<nome-pagina>/). - Docker: Dalla root del repository, eseguire:
docker run --rm -p 8080:8080 -v "${PWD}/php:/app" -w /app php:8.2-cli php -S 0.0.0.0:8080
- PHP CLI: Avviare il server dalla cartella
Skill PHP Correlate
Fai riferimento alle seguenti skill per maggiori dettagli operativi:
- elixforms-php-common-library: Classi, metodi factory e helper.
- elixforms-php-create-new-page: Guida passo passo per la creazione di nuove pagine.
- elixforms-php-project-architecture: Struttura delle cartelle, convenzioni e deploy.
- elixforms-css-design-system: Linee guida del design system UniPR.
- elixforms-custom-workflow-logic: Query parameters ed integrazione elixForms.