Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2005
    residenza
    http://www.okkioalprezzo.com/it/
    Messaggi
    206

    ZF1 moduli e connessione database nel file application.ini

    Salve a tutti!
    sto creando una app con Zend Framework 1 e la sto sviluppando con i moduli, fin quì tutto bene, il problema è quando cerco di connettermi al database, i parametri che si trovano in application.ini per la connessione al database non li prende, e quando invoco $db = Zend_Db_Table::getDefaultAdapter(); mi restituisce nullo..

    qualcuno sa come ovviare il problema?

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    quale risorsa stai usando per configurare la connessione? db o multidb?
    Hai la proprietà isDefaultAdapter settata a true per una delle configurazioni?
    Da quale punto stai cercando di fare quella chiamata?

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2005
    residenza
    http://www.okkioalprezzo.com/it/
    Messaggi
    206
    Ciao e grazie per la risposta!
    ho risolto creando nel boostrap principale una chiamata al database e settandolo di default in questo modo:
    Codice PHP:
        protected function _initDb()
        {
            
    $config = new Zend_Config_Ini(APPLICATION_PATH '/configs/application.ini''staging');
            
    $adapter $config->resources->db->adapter;     
            
    $params=array(                   
                    
    'host'     => $config->resources->db->params->host,
                    
    'username' => $config->resources->db->params->username
                    
    'password' => $config->resources->db->params->password,
                    
    'dbname'   => $config->resources->db->params->dbname
            
    );

            
    $db Zend_Db::Factory($adapter,$params);
            
    $db->setFetchMode(Zend_Db::FETCH_OBJ);
            
    $db->query("SET NAMES 'utf8'");
            
    $db->query("SET CHARACTER SET 'utf8'");
            
    Zend_Db_Table::setDefaultAdapter($db);

            
            return 
    $db;
        } 
    Adesso però ho un'altro problema!
    con la creazione dei moduli in ZF1 tramite una richiesta url non riesco a puntare ad un metodo di un controllo...
    mi spiego meglio:
    se punto su www.nomesito.it/nomeModulo/nomeController la richiesta è ok! mentre se punto su http://www.nomesito.it/nomeModulo/no...ler/nomeMetodo mi da un errore!!
    come posso fare per risolvere questo problema??

  4. #4
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    io direi con l'iniziare a risolvere il primo problema..
    Ti consiglio di usare la risorsa multidb per configurare il tuo database,
    anche se la tua applicazione ne utilizza solo uno, mantenere il codice risulterà più
    semplice, vedi qui http://framework.zend.com/manual/1.1...ources.multidb .

    Dal tuo codice mi sembra di capire che tu stia già utilizzando la risorsa db ( ->resources->db-> ), creare il metodo _initDb non ti serve a nulla in quanto il lavoro è già fatto dalla risorsa.
    Ti consiglio di vedere bene cos'è una risorsa in ZF1, quali sono le risorse disponibile e come creare una risorsa custom, può tornarti davvero utile, specie lavorando utilizzando diversi ambienti (development, production ecc..), vedi link sopra.

    Il db impostato come default = true sarà automaticamente disponibile nei 'modelli' (dbTable) che risiedono in application/models/.

    Una possibile gestione è di creare una dbTable per ogni tabella ed inserire al suo interno i metodi che ti servono per leggere e scrivere i dati ( su quella tabella ), internamente non sarà necessario recuperare la connessione in quanto sarà già automaticamente disponibile.

    Per il problema sul routing forse è meglio che crei un altro post siccome direttamente non c'entra nulla con la configurazione della/e connessioni al db.

    Spero di esserti stato di aiuto,

    ciao

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