Il 21/01/23 19:38, Enrico Maria Chellini ha scritto:
> Il giorno Sat, 21 Jan 2023 19:09:05 +0100
> Enrico Maria Chellini <
bi...@bitit.it> ha scritto:
>
>> Il database te lo gestisci e crei a a parte con un tool tipo
>> mysqlworkbank o sempre tramite synfony?
>>
di solito uso un client , ad oggi dbeaver
https://dbeaver.io/
è un client multidatabse
>>>
>>> i progetti li ho sempre basati su pattern MVC (piccoli o grandi
>>> progetti, non fa differenza, dal servizio rest API, alla paginetta
>>> dei contatti di un sitarello)
>>
>> devo installare un modulo e disistallare orm?
>
> Aspetta non avevo capito, MVC Model View Controller
> non è un modulo tipo ORM ma il framwork, scusa mi sono coglionato da
> solo.
MVC non è un framework, ma un pattern di sviluppo
la maggior parte dei framework utilizzano il pattern MVC
>
> comunque il discorso non cambia, per lavorare sena ORM c'è da
> installare un modulo particolare che ti ritorna i file sotto indicati?
>
per lavorare senza orm, non c'è bisogno di nessun modulo se vuoi, puoi
scriverti le tue classi come preferisci.
non so cosa sono gli oggetti criterea, mi spieghi meglio o mi dai un
link dove andarli a vedere?
>
> quindi ti riscrivi tutte le query di sana pianta, ma rimangono
> compatibile con altri moduli symfony o c'è dopo da smanettare?
non mi "RIscrivo" tutte le query ma le scrivo una volta.
nella maggior parte dei casi sarà difficile che avrai bisogno di dati da
una singola tabella, ma avrai bisogno di un aggregato di dati da più
tabelle e magari con elaborazione delle informazioni (concatenazioni,
somme, sottogruppi, ecc) o sicuramente quando aggiorni/inserisci, non lo
farai su una singola tabella, ma devi comunque mantenerne l'integrita
(ad esempio se aggiorni un anagrafica, la storicizzi, quindi update e
insert su più tabelle), ad esempio in un applicazione quando viene
aggiornato un certo tipo di dato (come i dati sensibili dell'anagrafica
o finanziari), vengono memorizzate diverse informazioni su chi ha
effettuato l'aggiornamento ed in casi particolari viene inviata una
notifica verso un altro dipartimento che si occupa di sicurerzza.
>
> perchè a parte il lavoro in più, mi si perde un po' il senso del
> framwork; posso riscrivere tutto a mano e via.
>
un framework non è altro che una collezione di classi organizzate in
modo organico
puoi avere dei framework monolitici o come va da qualche anno a questa
parte dei microfrawerok
la differenza tra i due è che il primo, symphony ad esempio, al suo
interno contiene tutti i moduli che in genere hai bisogno per scrivere
applicazioni di livello enterpise (e non solo), ad esempio ha le classi
che gestiscono il db, quelle che gestiscono l'email, classi per la
gestione e creazione delle form, per i messaggi, l'autenticazione, il
routing, HTTP-message (PSR-15) DI (dipendency injection) PSR-11, il
caching, gli eventi, la gestione degli errori, la validazione
dell'input, un template system, ecc, il tutto incentrato sul pattern
MVC, ha una sua sintassi, e una sua curva di apprendimento.
si chiamano monolitici perchè ti impongono di usare l'intera
infrastruttura del framework stesso, in genere sono robusti ma "più
lenti" perchè magari si precaricano in memoria moduli core che per
progetti piccoli magari non ti servono come può essere il caching o la
gestionde degli errori (se sai dove guardare si disabilitano).
i microframework ti mettono a disposizione solo lo scheletro per la tua
applicazione,
per gli ultimi progetti sto utilizzando slim
(
https://www.slimframework.com/)
di suo mette a disposizione il routing, la dipendency injection (DI)
tramite container (PSR-11), HTTP-message (PSR-7), e middleware (PSR-15)
ogni altro componente che ti dovesse servire hai facolta di scrivertelo
da te o andare di composer (questo è valido anche per synphony se non
dovessi trovare un modulo che ti serve)
così puoi utilizzare ad esempio doctrine/lamina/lavarel/ecc per il db o
scriverti le query come faccio io, puoi usare un qualsiasi modulo
composer per gestire l'email, il caching, i form, la validazione ecc
l'importante che siano compatibili PSR-11 (container)
> Enrico
>
>
>