Questa pagina raccoglie una serie di consigli e buone pratiche per aiutarti a scrivere codice di alta qualità, sicuro e manutenibile con SismaFramework.
Non creare un unico, grande modulo "Application". Suddividi la tua logica in moduli funzionali e riutilizzabili (es. User, Blog, Shop). Questo approccio:
SismaFramework è costruito su PHP 8.3+ e fa largo uso della tipizzazione forte. Usala sempre:
Un codice fortemente tipizzato è più leggibile, meno soggetto a errori e più facile da analizzare per gli strumenti statici.
Model (es. getBy..., countBy...) o crea metodi personalizzati che costruiscano query SQL mirate. Questo è molto più efficiente.Permission: Non inserire la logica di autorizzazione direttamente nei controller. Usa il sistema di Voter e Permission per proteggere le tue actions. È più pulito, riutilizzabile e sicuro.Form gestisce automaticamente la protezione CSRF. Assicurati che sia sempre attiva per tutti i form che modificano dati.htmlspecialchars() in tutte le viste quando stampi dati che potrebbero provenire da un utente, per prevenire attacchi XSS.La logica di business non deve risiedere nelle viste. Una vista dovrebbe solo occuparsi di presentare i dati che riceve dal controller.
.php di una vista.
La cartella SismaFramework/ dovrebbe essere considerata "read-only". Non modificare mai i file al suo interno, altrimenti renderai impossibili gli aggiornamenti futuri.
Per personalizzare il comportamento del framework:
Config/config.php.
Il logging non serve solo per gli errori. Usa il logger PSR-3 (SismaLogger) per registrare eventi significativi dell'applicazione (es. un utente amministratore che esegue un'azione critica, un pagamento andato a buon fine). Questo crea una traccia di audit (audit trail) che può essere preziosa.
$logger = new \SismaFramework\Core\HelperClasses\SismaLogger();
$logger->info('Pagamento completato', [
'code' => 'PAYMENT_SUCCESS',
'file' => __FILE__,
'line' => __LINE__
]);
Sfrutta i diversi livelli di log PSR-3 (debug, info, warning, error, critical) per categorizzare correttamente gli eventi.
Indice | Precedente: Gestione Errori e Logging | Successivo: Deployment in Produzione
Se hai trovato errori o vuoi suggerire miglioramenti, apri una issue su GitHub.
Report Issue Edit on GitHub