Laravel adotta lo schema convieni anziché configurare che in sostanza vuol dire adeguarsi ad uno standard convenuto per i nomi dei file in modo tale da evitare di dover scrivere e manutenere prolissi file di configurazione in cui, oggetto per oggetto, definiamo il nome che devia dalla convenzione.
Un esempio rende tutto chiaro.
Se abbiamo un modello CompanyType (in CamelCase al singolare), dovremo comportarci così per tutti gli altri oggetti
- il nome della tabella è al plurale (company_types)
- il nome del controller è al singolare (CompanyController)
- i nomi delle chiavi esterne prendono dalla tabella al singolare e aggiungono _id (company_type_id)
- i nomi delle rotte sono al plurale (/companies)
Più avanti estenderò questa lista aggiungendo altre convenzioni. Ma intanto riassumo n una tabella:
Oggetto | Modalità | OK | KO |
Controller | singolare, CamelCase | PostController | PostsController |
Route | plurale | posts/1 | post/1 |
Named Route | snake_case con notazione punto | posts.show_active | show-active-posts |
Model | singolare, CamelCase | Post | Posts |
Tabella DB | plurale, snake_case | company_types | company_type |
Proprietà Model | snake_case | $model->created_at | $model->createdAt |
Foreign Key | nome model singolare suffisso _id | company_type_id | companyTypeId, id_company_types |
Variabili | camelCase | $postAuthor | $post_auhtor |
Commenti recenti