¿Cómo se ve la configuración de la base de datos y la sesión como en Kohana?

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

  •  13-09-2019
  •  | 
  •  

Pregunta

No entiendo esto: Ellos dicen, es bueno para hacer un "controlador base" que crea la instancia de la base de datos y la sesión:

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

Así que me acaba de hacer una clase de controlador como cualquier otro controlador, y luego dejar que todos mis otros controladores "reales" heredar de éste, de modo que tengan una conexión de base de datos y una sesión de usuario?

¿Fue útil?

Solución

En Kohana, hago todo mi trabajo db en mis modelos. Puede agarrar el objeto DB en el modelo sólo por hacer

$this->db

Lo mismo sucede con muchos de los otros objetos, por ejemplo $this->uri. Mi implementación del patrón MVC significa que todo mi trabajo db está en mis modelos, no estoy seguro si esta es la mejor manera de hacerlo, pero funciona para mí.

En cuanto a las sesiones, siempre puede utilizar los métodos estáticos para obtener un producto único como

$mySession = Session::instance();

Estoy bastante seguro de que todos / la mayoría de los ayudantes / bibliotecas tienen una forma similar de usarlos -. Iniciarlos desde $ tal o utilizar el método estático

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top