Domanda

Ho ereditato un vecchio croccante PHP application, e vorrei effettuare il refactoring in qualcosa di un po ' più bello da affrontare, ma in modo graduale.In perl CPAN, c'è una serie di classi Classe::DBI, che consentono di utilizzare le righe del database come base per gli oggetti nel codice, con la biblioteca generazione accessor methods ecc, ma anche con la possibilità di aggiungere ulteriori metodi.

Qualcuno sa di qualcosa di simile a questo per PHP?Soprattutto è qualcosa che non richiede all'ingrosso adozione di un "quadro"...punti bonus se funziona in PHP4 troppo, ma ad essere onesti, mi piacerebbe avere un altro motivo per fosso.:-)

È stato utile?

Soluzione

Ora è defunto ma phpdbi è forse la pena dare un'occhiata.Se siete disposti a lasciar andare di alcuni caveat (il quadro di uno), ho trovato che Dottrina è abbastanza carino modo di accedere al Db in PHP.Vale la pena indagare in ogni caso.

Altri suggerimenti

Classe::DBI è un ORM (Object Relational Mapper) per il perl.La ricerca per "PHP ORM" su google dà buoni risultati, tra cui Doctrin, che ho avuto buona fortuna con.Mi piacerebbe iniziare c'e il tuo lavoro fino.

Sto cercando di ottenere più feedback sui miei progetti, quindi ti suggerisco di prendere la mia sulla ORM: ORMer

Esempi di utilizzo sono qui

È possibile fase in, non c'è bisogno di adottare MVC, e richiede molto poco di installazione.

La cosa giusta è quello di accedere al database tramite un livello di astrazione in modo che se si cambia RDBMS o da come è implementato l'accesso, è necessario modificare questo livello, mentre tutto il resto della tua applicazione rimane intatta.

Per fare questo, per liberare la vostra applicazione da sapere come comportarsi con il database, il vostro livello di astrazione per l'accesso a DB devono essere implementati in un quadro come ADODB.

Tutti i file relativi a questo livello deve essere situato in una sub-directory:

  • /ado

In questa directory, inserisci tutti i tuoi .php.inc file che contiene i metodi generali per l'accesso al database.

Come circa MDB2 da pera?

Esso fornisce un API per tutti RDBMS supportato.La differenza principale per la maggior parte di altri DB astrazione pacchetti è che MDB2 va molto più a garantire la portabilità.

Btw:@GaryF cosa sono quelle strane attributi del titolo del tuo link sono ?Hai aggiunto o hanno aggiunto COSÌ ?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top