Cos'è un ORM in un'applicazione Web?

Recentemente ho ricevuto una risposta da una società di server che chiedeva se stiamo utilizzando un ORM nella nostra applicazione che fa tutto il lavoro di setacciamento lato applicazione (come Rails) o se scriviamo risme di SQL, funzioni incorporate ecc che farebbero fare al server database l'elaborazione per te.

Qualcuno può spiegare cosa si intende con questo. La nostra applicazione web è composta da script PHP con funzioni che effettuano chiamate al database per recuperare righe di dati, quindi PHP elabora queste righe in base alle necessità per restituire all'utente i risultati.

Grazie

In pratica rende le tabelle del tuo database come oggetti sul lato PHP del tuo sito in modo da poter facilmente manipolare i dati.

Ad esempio, se si dispone di una tabella Utente, get il nome di questo utente è semplice: $myUser->getName();

l'aggiunta di un nuovo utente nel database potrebbe essere:

 $myUser = new User(); $myUser->setName('John Doe'); $myUser->save(); 

Ovviamente questo è pseudo codice (in realtà codice PHP Symfony / Doctrine), ma è un semplice esempio in modo da get il punto.

È una mapping relazionale oggettuale. Vedi il link a wikipedia qui sotto.

http://en.wikipedia.org/wiki/Object-relational_mapping

Un ORM è un'astrazione che dovrebbe semplificare il lavoro con un database relazionale in un linguaggio orientato agli oggetti. È fondamentalmente un insieme di classi e methods che ti permettono di creare, recuperare e aggiornare i dati senza usare direttamente SQL.

Ad esempio, invece di scrivere $ result = mysql_query ('seleziona * da sandwiches where color =' green 'e size =' 2 ');

puoi usare un'interface come $ result = $ sandwiches> get ('color' => 'green', => 'size' => '2');

e l'ORM trasforma questo in SQL ed esegue la query, avendo cura dei join, ecc.

Gli ORM PHP popolari sono Doctrine e Propel

Se non sai se lo stai usando, è piuttosto improbabile che tu lo sia!

ORM è Object Relational Mapper. che associa gli oggetti java alle tabelle del database e consente di eseguire alcune transactions di database approfondendo il codice. Gli strumenti EX di ORM sono come Hibernate, Ibatis ..

ORM viene utilizzato per il mapping degli oggetti del database agli oggetti dell'applicazione.

In una semplice applicazione che utilizza ORM, dovresti avere le funzioni che ottiene / imposta i dati da / verso DB dovrebbero restituire oggetti / oggetti applicativi appropriati.

ORM è un articolo di Wikipedia sulla mapping relazionale degli oggetti.

L'Object Relational Mapping è un modo semplice per mappare gli oggetti Database (tabelle, viste …) in classi / oggetti in OOPL. Hibernate e NHibernate sono alcuni esempi di ORM. fa tutto il noioso task di gestire e mappare i set di risultati ..