Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    306

    OOP accedere ai vari db

    Ciao a tutti ragazzi
    sto proseguendo il mio studio nel mondo del php e sono arrivato alla connessione al db tramite la programmazione ad oggetti.

    Codice PHP:

    $host
    ='localhost';
    $dbname='nome_mio_db';
    $user='root';
    $pass='mia_passw';

    $dbh = new PDO("mysql:host=$host;dbname=$dbname"$user$pass); 
    così mi collego al mio database MySql .

    Questo pezzo "mysql:host=$host;dbname=$dbname" di informazioni è detto DNS che varia da db a db, e per questo motivo spesso si salva in un file di setting, in modo tale che io possa usarlo con altri db andando a modificare un unico file.

    Cosa significa di preciso???


    Ho queste altre tipologie di DNS ed informazioni necessarie per la connessione al db
    SQLite->sqlite: my/database/path/database.db
    SYSBASE->sysbase:host, dbname=$dbname, $user, $pass

    come si rende un file di setting adatto per essere modificato a seconda del tipo di db?

  2. #2
    Il dns serve per dire al driver come connettersi al database richiesto. Fornisce tutta una serie di informazioni al driver che utilizzi e, a seconda del database, puoi modificare determinati comportamenti. Ogni driver/database ha il suo dns e le opzioni che esso supporta. Una volta c'era un sito che dava un esempio di dns per tutti i database, ma ora non lo trovo più. Cmq sul manuale di php http://php.net/manual/en/pdo.drivers.php dovresti trovare tutto.

    per il file delle proprietà, beh non è che ci sia uno standard, se vuoi possiamo fare due esempi:

    codice:
    //file .yml
    parameters:
        database_driver: pdo_mysql
        database_host: 127.0.0.1
        database_port: null
        database_name: mydb
        database_user: mydbuser
        database_password: mydbpassword
    dove ovviamente, dato il driver, devi ricostruire te il dns. Oppure

    codice:
    spring.datasource.url = jdbc:postgresql://localhost:5432/mydatabase
    spring.datasource.driver-class-name=org.postgresql.Driver
    spring.datasource.name = org.springframework.jdbc.datasource.DriverManagerDataSource
    spring.datasource.username=mydbuser
    spring.datasource.password=mydbpassword
    dove si specifica direttamente tutto il dns nella url.

    Detto questo, visto che per esperienza personale cercare di impare l'OOP interfacciandosi con la persistenza è una pessima idea, ti suggerisco di partire da qui http://docs.doctrine-project.org/pro...bal/en/latest/ e di arrivare a qui http://docs.doctrine-project.org/pro...orm/en/latest/ per quanto riguarda l'interfacciamento col database (è un argomento molto complesso, soprattutto perchè vai ad interfacciare due sistemi diversi, uno orientato agli oggetti - il tuo codice - e uno no - il database - con una marea di problematiche da tenere a mente che "te dico calmate" oltre ad una serie di particolarismi che variano da db a db).
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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 © 2026 vBulletin Solutions, Inc. All rights reserved.