Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Rendere la variabile della connessione pubblica: leggi
Forum - PHP - Rendere la variabile della connessione pubblica: leggi

Avatar
NewAge (Normal User)
Pro


Messaggi: 153
Iscritto: 23/08/2009

Segnala al moderatore
Postato alle 16:59
Giovedì, 18/11/2010
Sto iniziando a lavorare con il Zend Framework per vedere se finalmente riuscivo a mettermi in testa di usare php non come un semplice programmino dotato solo di funzioni, ma come un complesso programma con classi e tutto il resto annesso...

Mi sono quasi subito imbattuto in un problema, o meglio, in una scocciatura enorme: dover ridichiarare la connessione dentro ogni singola funzione di ogni classe. C'è un modo per fare questo?

Io invece che dover scrivere questo codice:
Codice sorgente - presumibilmente Php

  1. class my{
  2. function test(){
  3. $db = zend_db_connect(eseses);
  4. $db->query("SELECT 1");
  5. }
  6. function test2(){
  7. $db = zend_db_connect(eseses);
  8. $db->query("SELECT 1");
  9. }
  10. }



vorrei fare una cosa del genere:
Codice sorgente - presumibilmente Php

  1. $db = zend_db_connect(eseses);
  2.  
  3. class my{
  4. function test(){
  5. $db->query("SELECT 1");
  6. }
  7.  
  8. function test2(){
  9. $db->query("SELECT 1");
  10. }



Grazie per l'aiuto!

PM
Avatar
a_butta (Member)
Expert


Messaggi: 578
Iscritto: 16/03/2010

Up
0
Down
V
Segnala al moderatore
Postato alle 17:28
Giovedì, 18/11/2010
Codice sorgente - presumibilmente Php

  1. class my{
  2. var $db;
  3. function __construct() {
  4.   $this->db = zend_db_connect(eseses);
  5. }
  6. function test(){
  7. $this->db->query("SELECT 1");
  8. }
  9.  
  10. function test2(){
  11. $this->db->query("SELECT 1");
  12. }


PM
Avatar
NewAge (Normal User)
Pro


Messaggi: 153
Iscritto: 23/08/2009

Up
0
Down
V
Segnala al moderatore
Postato alle 18:35
Giovedì, 18/11/2010
Ma in questo modo ogni volta mi crea una nuova istanza giusto?

A me piacerebbe tanto fare una cosa del genere:
Codice sorgente - presumibilmente Php

  1. $connessione_globale = Zend_Db::factory('Pdo_Mysql', array(
  2.     'host'             => '127.0.0.1',
  3.     'username'         => 'root',
  4.     'password'         => 'root',
  5.     'dbname'           => 'root'
  6. ));
  7.  
  8. class my{
  9. private $connessione = null;
  10.        
  11.         function __construct(){
  12.                
  13.                 global $connessione_globale;
  14.                 $this->connessione=&$connessione_globale;
  15.                
  16.         }
  17. }


e inoltre fare in modo che la variabile $connessione all'interno della classe venisse riconosciuta in automatico dall'editor ( Zend Studio, fatto con Eclipse ) come classe del tipo 'Zend_Db_Adapter_Pdo_Mysql' ossia lo stesso tipo di classe di $connessione_globale, in modo che l'editor mi dia il suggerimento mentre scrivo il codice dentro la classe ( cosa che in questo modo non fa ). E' possibile?

Grazie ancora

PM