Comment la base de données et regardez la configuration comme dans la session Kohana?

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

  •  13-09-2019
  •  | 
  •  

Question

Je ne comprends pas: Ils disent, il est bon de faire un « contrôleur de base » qui instancie la base de données et de la session:

// 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`);

Je voudrais juste faire une classe de contrôleur comme tout autre contrôleur, puis juste laisser tous mes autres contrôleurs « vrais » hériter de celui-ci, de sorte qu'ils aient une connexion de base de données et une session utilisateur?

Était-ce utile?

La solution

Dans Kohana, je fais tout mon travail db dans mes modèles. Vous pouvez saisir l'objet DB dans le modèle juste en faisant

$this->db

va de même pour beaucoup d'autres objets, par exemple $this->uri. Ma mise en œuvre du modèle MVC signifie que tout mon travail db est dans mes modèles, je ne suis pas sûr que ce soit la meilleure façon de le faire, mais ça marche pour moi.

En ce qui concerne les sessions, vous pouvez toujours utiliser les méthodes statiques pour obtenir un singleton comme

$mySession = Session::instance();

Je suis assez sûr que tous / la plupart des aides / bibliothèques ont une façon similaire de les utiliser -. Les initier à partir de $ ceci ou utiliser la méthode statique

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top