In che modo la configurazione del database e la sessione assomigliare a Kohana?

StackOverflow https://stackoverflow.com/questions/969252

  •  13-09-2019
  •  | 
  •  

Domanda

Non capisco questo: Si dice, è bene fare un "Controller di base" che crea un'istanza del database e la sessione:

// Base Controller code
$this->db = Database::instance($db_group);
$this->session = Session::instance();
// Now in any controller which extends Base Controller
$var = $this->session->get('var');
$query = $this->db->query('SELECT * FROM `table`);

Quindi, vorrei solo fare una classe controller come qualsiasi altro controller, e poi lasciare che tutti i miei altri controller "reali" ereditare da questa, in modo che abbiano una connessione al database e una sessione utente?

È stato utile?

Soluzione

In Kohana, faccio tutto il mio lavoro db nei miei modelli. È possibile prendere l'oggetto DB nel modello solo facendo

$this->db

Lo stesso vale per molti degli altri oggetti, per esempio $this->uri. La mia implementazione del pattern MVC significa che tutto il mio lavoro db è nei miei modelli, non sono sicuro se questo è il modo migliore per farlo, ma per me funziona.

Per quanto riguarda le sessioni, è sempre possibile utilizzare i metodi statici per ottenere un Singleton come

$mySession = Session::instance();

Sono abbastanza sicuro che tutti / la maggior parte degli aiutanti / librerie hanno un modo simile di usarle -. Iniziarli da $ questo o utilizzare il metodo statico

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top