SismaFramework si basa su una serie di convenzioni per automatizzare molte attività comuni, come il routing e la mappatura dell'ORM. Conoscere queste convenzioni è la chiave per usare il framework in modo efficace. Questa pagina funge da rapido riepilogo.
/nome-controller/nome-action/nome-param/valore-paramkebab-case e vengono mappati in CamelCase nel codice./user-profile/show-detailsUserProfileControllershowDetails()index() del SampleController (configurabile in config.php).MODULE_FOLDERS in Config/config.php.'SismaFramework' contiene l'applicazione di esempio (cartella Sample/).// Opzione A: Con esempi del framework (opzionale)
const MODULE_FOLDERS = ['SismaFramework', 'Blog', 'UserModule'];
// Opzione B: Solo moduli personalizzati (setup pulito)
const MODULE_FOLDERS = ['Blog', 'UserModule', 'ApiModule'];
NomeModulo/Application/Controllers/Controller (es. PostController).SismaFramework\Core\BaseClasses\BaseController.public di un controller sono considerati "actions" e sono accessibili tramite URL.NomeModulo/Application/Views/Render::generateView('percorso/vista', ...) è relativo alla cartella Views.'post/index' mappa a NomeModulo/Application/Views/post/index.php.NomeModulo/Application/Entities/snake_case al singolare.Post -> tabella postUser -> tabella userPostComment -> tabella post_comment⚠️ Importante: SismaFramework utilizza nomi di tabelle al singolare, non al plurale come altri framework.
id.protected User $author; -> colonna author_id.$user->postCollection -> restituisce una collezione di tutti i Post il cui author è $user.NomeModulo/Application/Models/Model (es. PostModel).$postModel->getByAuthor($user) -> Trova tutti i post di un dato utente.$postModel->countByAuthor($user) -> Conta i post di un dato utente.$postModel->deleteByAuthor($user) -> Elimina i post di un dato utente.NomeModulo/Application/Forms/Form (es. PostForm).name di un campo <input> o <textarea> deve corrispondere al nome della proprietà nell'entità associata.NomeModulo/Application/Locales/LANGUAGE in config.php, con estensione .php o .json.LANGUAGE = 'it_IT' -> it_IT.php o it_IT.json.NomeModulo/Application/Assets/Assets./assets/css/style.css viene cercato in NomeModulo/Application/Assets/css/style.css in tutti i moduli registrati.| Componente | Posizione | Note |
|---|---|---|
| Data Fixtures | Application/Fixtures/ | Le classi devono estendere BaseFixture. |
| Voters | Application/Voters/ | Le classi devono estendere BaseVoter. |
| Permissions | Application/Permissions/ | Le classi devono estendere BasePermission. |
| Templates | Application/Templates/ | Usati da Templater per generare stringhe. |
| Enumerations | Application/Enumerations/ | Contiene le Enum specifiche del modulo. |
Indice | Precedente: Architettura a Moduli | Successivo: Controllori
Se hai trovato errori o vuoi suggerire miglioramenti, apri una issue su GitHub.
Report Issue Edit on GitHub