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

    [OOP] Ereditare la connessione al db in una classe istanziata dentro un'altra

    Ciao a tutti!
    sto realizzando un sistema per inserire i dati di un foglio excel automaticamente in una tabella su un db.

    Ho realizzato una classe estrazioneDatiExcel che estrae i dati e li mette in un array di oggetti dati.

    Prima di inserire i dati nel database, devo ovviamente controllare se sono nel formato corretto. Questo lavoro lo fa una classe controllaDatiExcel. Alcuni controlli vanno fatti attraverso una query nel database. Attualmente per ogni riga della tabella excel istanzio un oggetto dati che apre una connessione al database nel modo seguente:

    Codice PHP:
    class controllaDatiExcel {

        private 
    $mysqli;
        private 
    $riga;
        private 
    $msg_errore = array();
        
        function 
    __construct() {
            
    $this->mysqli = new mysqli HOSTUTENTE_DBPASSWORD_DBNOME_DB );
        } 
    Il problema è che così apro n connessioni per ogni riga del foglio excel. C'è un modo per aprire la connessione una sola volta nella classe controllaDatiExcel ed ereditare questa proprietà all'interno della classe controllaDatiExcel che è istanziata al suo interno (anche se non è una estensione della prima classe)?

    Grazie mille
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  2. #2
    Ti suggerisco di trovare un buon libro sulla programmazione ad oggetti e rivedere il concetto di ereditarietà.

    Per fare quello che chiedi ci sono vari modi.

    Puoi utilizzare una variabile globale con al connessione, utilizzare una classe singleton, puoi creare mysqli in estrazioneDatiExcel e passarla nel costruttore quando crei una istanza di controllaDatiExcel.

  3. #3
    Ok, grazie.

    Posso chiederti un'altra cosetta? come faccio a calcolare l'impegno in memoria del mio script per evitare che venga inserito un file la cui elaborazione ecceda i 64Mb del memory limit del mio server?

    grazissimo

    [OT]
    Il tuo sito è irraggiungibile.
    [/OT]
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

  4. #4
    Originariamente inviato da pezzo
    Ok, grazie.

    Posso chiederti un'altra cosetta? come faccio a calcolare l'impegno in memoria del mio script per evitare che venga inserito un file la cui elaborazione ecceda i 64Mb del memory limit del mio server?

    grazissimo

    [OT]
    Il tuo sito è irraggiungibile.
    [/OT]
    Prova con memory_get_usage

    tempo fa ho usato questo snippet:

    Codice PHP:
    if(((int)ini_get('memory_limit')) < 32){
                if(@
    ini_set("memory_limit","32M")===false){
                    throw new 
    InvalidArgException('memory_limit isn\'t allowed by the server.');    
                }
            } 
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Thx, domani lo vedo. Sono troppo stanco!
    Disegnatori e romanzieri d'Italia, visitate il mio sito, cerchiamo favolieri dark ed illustratori dark fantasy... http://www.neilgaimania.it

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.