Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698

    Database e architettura

    Ciao a tutti
    Sono relativamente nuovo di php e fino ad ora per il web mi sono occupato prevalentemente di sviluppo j2ee.

    Ho dei dubbi per quanto riguarda l'architettura di piccole e medie applicazioni php che interagiscono con db.

    Sto cercando di costruire una base solida su cui puntare per costruire tutti gli applicativi in futuro, e volevo chiedere ai più esperti come sono soliti organizzare i loro:

    Io al momento, a partire dalla root del sito, prevedo una cartella db che contiene
    . un file db_global.php con le informazioni globali sul database (dbms,host,user,etc)
    .un file dbms.php, dove 'dbms' può valere mysql,db2,oracle,etc, che contiene una classe con i metodi di connessione e di interrogazione
    un file dbms_query.php che contiene delle funzioni che, per ogni tabella, restituiscono la query per il dbms in uso tipo
    'nome_tabella_get_insert($param,...)

    In questo modo quando mi trovo in una pagina client (es. inserisci_articolo.php) includo i global,dbms.php e query.php e riesco ad avere una situazione abbastanza 'centralizzata' e parametrizzata, nel senso che ad un cambio di dbms dovrei riconfigurare global.php, riscrivere le query e poi basta, perchè le chiamate 'client' non dovrebbero essere modificate.

    Ho il timore di aver scelto una strada un po troppo pesante:

    la scelta di approfondire php l'ho fatta perchè secondo me per piccole e medie applicazioni, a livello di produzione e di prestazioni, è molto più leggero, più adatto insomma

    d'altra parte però vorrei assolutamente evitare di inserire nel codice direttamente le query o qualunque altra cosa dipendente dal dbms, così da poter limitare le modifiche in caso di cambio.

    Conoscete una via di mezzo, magari uno standard, tra le due soluzioni?

    Scusate il post fiumara prometto di essere meno prolisso in futuro

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    274
    Piuttosto che costruire un unico file per ogni dbms lo dividerei in 'sezioni', ad esempio per le news creerei una classe dedicata, per i downloads lo stesso e così via.

    In questo caso ti ritrovi con le query al database che non sono infilate disordinatamente in mezzo al codice ma sono al tempo stesso divise per modulo/applicazione/componente (o come vuoi chiamarlo ) e puoi fare un include dinamico del tipo
    Codice PHP:
    include_once ('class/mymodulename'.$GLOBALS['dbms'].'.php'); 
    così che ad un eventuale cambio del dbms richiami la classe interessata - i metodi ovviamente avranno gli stessi nomi nelle diverse classi.

    banned,

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.