switch to php composer
This commit is contained in:
+5
-3
@@ -14,7 +14,8 @@ In caso di conflitti di ID (ad esempio con input `hidden`), applicare il suffiss
|
||||
|
||||
2. **Namespace PSR-4**:
|
||||
- Tutte le classi nella libreria comune usano il namespace `ElixForms\Common;`.
|
||||
- Il caricamento è manuale tramite `require_once __DIR__ . '/../common/ElixFormsComponent.php';`.
|
||||
- L'autoload PSR-4 è gestito da Composer tramite `vendor/autoload.php`.
|
||||
- Gli entry point includono `require_once __DIR__ . '/../../vendor/autoload.php';`; le classi comuni non devono includersi manualmente tra loro.
|
||||
|
||||
3. **Rendering Server-Side**:
|
||||
- I file PHP generano direttamente l'HTML server-side usando il design system Bootstrap Italia di UniPR.
|
||||
@@ -24,12 +25,13 @@ In caso di conflitti di ID (ad esempio con input `hidden`), applicare il suffiss
|
||||
- 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.
|
||||
- **Dipendenze**: dalla root del repository eseguire `composer install --optimize-autoloader` oppure `composer-install.bat`.
|
||||
- **Deploy**: Eseguire `composer install --no-dev --optimize-autoloader` e caricare sul server sia `php/` sia `vendor/`, mantenendole allo stesso livello.
|
||||
- **Server locale**:
|
||||
- **PHP CLI**: Avviare il server dalla cartella `php/` tramite `php -S localhost:8080` (le pagine saranno raggiungibili su `http://localhost:8080/<nome-pagina>/`).
|
||||
- **Docker**: Dalla root del repository, eseguire:
|
||||
```bash
|
||||
docker run --rm -p 8080:8080 -v "${PWD}/php:/app" -w /app php:8.2-cli php -S 0.0.0.0:8080
|
||||
docker run --rm -p 8080:8080 -v "${PWD}:/app" -w /app/php php:8.2-cli php -S 0.0.0.0:8080
|
||||
```
|
||||
|
||||
## Skill PHP Correlate
|
||||
|
||||
@@ -4,9 +4,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace ElixForms\Common;
|
||||
|
||||
require_once __DIR__ . '/QueryParamHelper.php';
|
||||
require_once __DIR__ . '/ElixFormsElement.php';
|
||||
|
||||
/**
|
||||
* Classe astratta base per le custom page PHP di elixForms.
|
||||
* Equivalente PHP di ElixFormsComponentAbstract.tsx nel progetto React.
|
||||
|
||||
@@ -6,13 +6,13 @@ services:
|
||||
context: .
|
||||
dockerfile: ../.docker/php/Dockerfile
|
||||
container_name: elixforms-www
|
||||
working_dir: /app
|
||||
working_dir: /app/php
|
||||
extra_hosts:
|
||||
- "host.docker.internal:host-gateway"
|
||||
ports:
|
||||
- "8080:8000"
|
||||
volumes:
|
||||
- .:/app
|
||||
- ..:/app
|
||||
- ../.docker/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
|
||||
#environment:
|
||||
# XDEBUG_MODE: debug
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require_once __DIR__ . '/../common/ElixFormsComponent.php';
|
||||
require_once __DIR__ . '/../common/QueryParamHelper.php';
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use ElixForms\Common\ElixFormsComponent;
|
||||
use ElixForms\Common\QueryParamHelper;
|
||||
|
||||
@@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
require_once __DIR__ . '/../common/HttpClient.php';
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use ElixForms\Common\HttpClient;
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
require_once __DIR__ . '/../common/ElixFormsComponent.php';
|
||||
require_once __DIR__ . '/../../vendor/autoload.php';
|
||||
|
||||
use ElixForms\Common\ElixFormsComponent;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user