Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Programmazione ad oggetti consiglio..

    Ciao a tutti. Ho letto di recente l'articolo Validare i moduli con PHP.
    Volevo incominciare a programmare ad oggetti,quindi ho creato una classe per la connessione di php ad un db. e questo e' quello che ho fatto,mi dite se sbaglio qualcosa o se sono sulla strada giusta?

    <?php
    /*
    Classe che rappresenta una connessione al db
    */
    class ConnDb extends AbstrErrHandler
    {

    var $server;

    var $db_name;

    function ConnDb($server,$db_name)
    {
    parent::AbstrErrHandler();

    $this->server=$server;
    $this->db_name=$db_name;
    }

    function connetti()
    {
    switch($this->server)
    {
    case "MySQL":

    $db_host="host";
    $db_user="utente";
    $db_password="password";
    if(empty($this->db_name))
    {
    $this->errors[] = sprintf(IS_REQUIRED, $this->db_name);
    return;
    }
    $conn=mysql_connect($db_host,$db_user,$db_password );
    if(!$conn)
    {
    $this->errors[] = sprintf(NOT_CONNECT, $this->server);
    return;
    }else{
    $this->seleziona_db($conn);
    return $conn;
    }
    break;

    default:
    $this->errors[] = sprintf(BAD_SERVER, $this->server);
    return;

    }
    }
    function seleziona_db($conn)
    {
    $this->conn=$conn;
    if(!$this->conn)
    {
    return;
    }
    switch($this->server)
    {
    case "MySQL":

    if(!mysql_select_db($this->db_name,$this->conn))
    {
    $this->errors[] = sprintf(NOT_CONNECT, $this->db_name);
    return;
    }
    break;

    default:
    $this->errors[] = sprintf(BAD_SERVER, $this->server);
    return;

    }
    return;

    }
    function disconnetti($conn)
    {
    $this->conn=$conn;
    if(!$this->conn)
    {
    return;
    }
    switch($this->server)
    {
    case "MySQL":

    mysql_close($this->conn);
    break;

    default:
    $this->errors[] = sprintf(BAD_SERVER, $this->server);
    return;

    }
    return;

    }
    }// End class

    Che ne dite? ..poi avrei delle domande...
    Ciao grazie!!!!

  2. #2

  3. #3
    Ciao,
    degli esempi dell'articolo hai preso la gestione degli errori, è la cosa di cui mi sento meno sicuro...però io mi trovo bene e la uso quasi ovunque.

    Per quanto riguarda la gestione dell'accesso al DB è un discorso molto lungo, ti consiglio di progettare la classe o le classi prima guardando l'interfaccia (ovverò l'utilizzo di chi la deve usare non di chi la deve creare) e poi confrontarla con quello che hai fatto tu per eventualmente ritoccare.

    Per le interfacce degli oggetti prendi ad esempio ADODB o PEAR::DB
    per favore NIENTE PVT TECNICI da sconosciuti

  4. #4
    Ciao e grazie per l'attenzione....
    Ho riflettuto sulla tua risposta....
    Ma a questo punto non mi converrebbe usare direttamente i PEAR:B?

  5. #5

  6. #6
    certo che ti conviene, però è un prodotto che non hai fatto tu quindi non puoi modificarlo facilmente al meno di non spakkarti il cervello.
    se ti fai una classe da solo, anche se non si dimostrerà un gran che potrai gestirla in base alle tue esigenze e soprattutto imparerai come astrarti dal db.
    "0 è tutto finito. 1 è solo l'inizio"
    HO IL CERTIFICATO DI RESISTENZA.

  7. #7
    Quindi secondo te potrebbe andare bene per come ho impostato la classe nel primo post?

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.