Joomla.it Forum

Non solo Joomla... => Sviluppo => : Cybassh 23 Jun 2010, 09:36:36

: [RISOLTO]Lavorare con due Db utilizzando le classi J!
: Cybassh 23 Jun 2010, 09:36:36
Salve a tutti,
  sto cercando di implementare un componente che lavori su due o piu' Db, possibilmente utilizzando le classi che mette a disposizione Joomla! °Fintanto che utilizzo il db "locale"(quello dell'istanza di joomla) . il problema sorge quando voglio accedere ad un db esterno. come posso fare? che classi ho a disposizione e come posso fare? ci sono dei componenti utili in tal senso?

grazie
: Re:Lavorare con due Db utilizzando le classi J!
: mau_develop 23 Jun 2010, 11:16:11
... se cerchi sul forum c'è, cerca bridge

M.
: Re:Lavorare con due Db utilizzando le classi J!
: Cybassh 23 Jun 2010, 11:55:03
ok.
chiedo scusa...ho visto che ho sbagliato  sezione (era meglio database)

grazie
: Re:Lavorare con due Db utilizzando le classi J!
: mmleoni 23 Jun 2010, 14:43:42
se vuoi usare le classi di joomla devi istanziare JDatabase o una delle classi derivate) e poi procedere da lì.
vedi docs.joomla.org/JDatabase

ciao,
marco
: Re:Lavorare con due Db utilizzando le classi J!
: Cybassh 24 Jun 2010, 09:48:51
la guida l'avevo letta, e c'è tratta il crud dell'istanza JDatabase. ma non son riuscito a trovare il modo per istanziare un altro oggetto JDatabase o JDatabaseMySQL ed inserirlo nella sessione dell'istanza Joomla
: Re:Lavorare con due Db utilizzando le classi J!
: Cybassh 24 Jun 2010, 09:59:41
Mi spiego meglio:
 
con
:
$db =& JFactory::getDBO(); prendo l'istanza db che punta a quella di Joomla(il db "interno" di J!)

poi con
:
$options = array(
 'driver' => 'mysql',
 'host' => 'hostxx',
 'user' => 'utonto',
 'password' => '???',
 'database' => 'zzz',
 'prefix'=> 'seserve_'
);

$db2 =& JDatabase::getInstance( $options );
faccio un'altra connessione.

pero' rimane in sessione o devo richiamarla ognivolta che mi serve una connessione  al db zzz?
: Re:Lavorare con due Db utilizzando le classi J!
: mmleoni 24 Jun 2010, 10:04:03
non mi sono mai posto il problema, ma molto dipende molto da che vuoi fare e come/dove vuoi usare la nuova istanza.

se devi inserirla nella sessione penso tu debba lavorare non poco sul core: modificare l'inizializzazione di joomla e la jFactory. mi viene però un dubbio: buona parte di queste classi sono disegnate per lavorare come singleton, quindi non so quanto possano gradire che vengano loro cambiati i parametri nel mezzo dell'uso

ciao,
marco

==
avevo già scritto prima del tuo post, ma mi pare valga lo stesso.
: Re:Lavorare con due Db utilizzando le classi J!
: Cybassh 24 Jun 2010, 10:54:40
ho trovato questa miniguida http://docs.joomla.org/How_to_connect_to_an_external_database e ora provo subito ;)

Grazie