3.6 KiB
3.6 KiB
Walkthrough — Port PHP + Agenti Custom
Ho completato tutte le attività pianificate per la realizzazione della struttura in PHP delle custom pages elixForms e per la configurazione dei due agenti dedicati ("React" e "PHP").
Modifiche e Creazioni Effettuate
1. Libreria Comune PHP (php/common/)
Abbiamo replicato la stessa logica e architettura della libreria comune React in PHP 8.0+:
- QueryParamHelper.php: Fornisce metodi statici tipizzati per estrarre e decodificare i dati provenienti dalla query string (
$_GET). - ElixFormsElement.php: Gestisce il layout standard a due colonne (label a sinistra, input a destra) con le classi Bootstrap.
- ElixFormsComponent.php: Classe astratta base che definisce il ciclo di rendering dell'intera pagina e tutti i metodi factory dei campi (testo, textarea, checkbox, radio, dropdown, boolean). Gestisce automaticamente la presenza dei parametri obbligatori elixForms ed inserisce il JavaScript client-side per la sincronizzazione dei checkbox.
2. Pagina di Esempio PHP
- index.php: Una pagina "Scelta Carriera" d'esempio che estende
ElixFormsComponente definisce tutti i campi form (dropdown, text, textarea, boolean, radio, checkbox), replicando fedelmente la controparte React.
3. Nuove Skill PHP
Abbiamo creato tre nuove skill all'interno di .agents/skills/ per guidare lo sviluppo PHP futuro:
- php-common-library/SKILL.md: Dettaglia i metodi factory, il layout ed i parametri del componente base.
- php-create-new-page/SKILL.md: Guida passo-passo per lo scaffolding e testing locale di nuove pagine.
- php-project-architecture/SKILL.md: Definisce le differenze architetturali rispetto al mondo React e le modalità di deploy su Apache.
4. Configurazione degli Agenti Dedicati
Abbiamo strutturato due file di istruzioni separati che istruiscono l'IDE sul comportamento da adottare a seconda che si stia lavorando in React o in PHP:
- react/AGENTS.md (Agente React): Focalizzato su Vite, bundling single-file, TypeScript (
import type), e React Class/Functional Components. - php/AGENTS.md (Agente PHP): Focalizzato su PHP 8.0+ puro, PSR-4 namespaces, server locale integrato, e deploy diretto su Apache.
Istruzioni per il Test Locale PHP
- Navigare nella cartella della pagina di esempio:
cd php/scelta-carriera - Avviare il server built-in di PHP:
php -S localhost:8080 - Visitare l'URL inserendo dei parametri fittizi di prova per bypassare il controllo di autenticazione:
http://localhost:8080/?RWE2_MODULE_ID=123&RWE2_REQUEST_ID=456&custom-workflow-back-url=http://example.com&custom-workflow-generic-id=1&custom-workflow-current-tabrel-genid=2&custom-workflow-source-field=src&crc=abc&MODULE_TESTMODE_KEY=key&ELANG=it&COL0002=ValoreTest - Il form caricherà la pagina con il tema e layout corretti di Bootstrap Italia e i campi pre-popolati.