Como o banco de dados e sessão de configuração semelhante em Kohana?

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

  •  13-09-2019
  •  | 
  •  

Pergunta

Eu não entendo isto: Eles dizem, é bom fazer um "Controller Base" que instancia o banco de dados e sessão:

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

Assim, gostaria de fazer apenas uma classe de controlador como qualquer outro controlador, e depois é só deixar todos os meus outros controladores "reais" herdar de um presente, para que eles tenham uma conexão de banco de dados e uma sessão de usuário?

Foi útil?

Solução

Em Kohana, eu faço todo o meu trabalho db em meus modelos. Você pode pegar o objeto DB no modelo apenas fazendo

$this->db

O mesmo vale para muitos dos outros objetos, por exemplo $this->uri. Minha implementação dos meios padrão MVC que todo o trabalho minha db está em meus modelos, eu não tenho certeza se esta é a melhor maneira de fazê-lo, mas ele funciona para mim.

Como para as sessões, você sempre pode usar os métodos estáticos para obter um singleton como

$mySession = Session::instance();

Eu tenho certeza que todos / a maioria dos ajudantes / bibliotecas têm uma maneira semelhante de usá-los - iniciá-los a partir de $ this ou usar o método estático

.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top