PHP Orientado a Objetos: Singleton e MySQL
Autor: Jonathan Isaac
Categoria: Design Patterns, MySQL, PHP |
Graças aos famosos Design Patterns, ou padrões de projeto (desenvolvimento), coisas interessantes surgem no PHP, como a implementação do Singleton para conexões à banco de dados, o que chegam a reduzir bruscamente o tempo de processamento das páginas.
Nosso exemplo prático irá abordar uma conexão ao MySQL com a seguinte idéia (idéia básica):
“A reutilização, em diversos pontos, de uma conexão ao banco de dados”
Recomento a leitura de : Singleton no Wikipedia
class Mysql {
[...]
static private $con;
[...]
static function getConexao($host, $base, $user, $pass) {
if(!Mysql::$con) {
Mysql::$con = new Mysql($host, $base, $user, $pass);
}
return Mysql::$con;
}
[...]
}
Apesar de ser muito dedutivo, ai vai uma explicação:
Criamos uma variável estática (static) chamada $con e nosso método (também estático) getConexao, responsável por gerenciar se existe ou não uma instância de conexão já criada.
A idéia é simples, o uso so static representa que não precisaremos instanciar a classe para usar o método/variável (não faria sentido termos que criar uma instancia da classe toda vez que quisermos utilizar o método/variável), sendo assim sempre que o método getConexao é chamado nós verificamos se já existe a instancia aberta.
Lembre-se: Isso é só a pontinha de um segmento mal explorado no PHP.