Não sei se você sabe, mas a partir da versão 5.5 do PHP a função Mysql_* ficou totalmente obsoleta, ou seja, caiu em desuso. Essa mudança ocasionou na utilização em massa das alternativas Mysqli e PDO.
O Mysqli é uma extensão do próprio PHP e pode ser utilizada de forma procedural ou orientada a objetos, digamos que seja uma versão melhorada do Mysql. No artigo abaixo eu falo mais sobre isso e mostro como realizar uma conexão simples também com o PHP.
“Ah Wilker, qual devo utilizar então?”, Calma, nesse artigo eu explicarei o que é o PDO e mostrarei o porquê dessa classe ser um dos métodos mais recomendados para quem vai trabalhar com banco de dados em conjunto com o PHP.
O que é PDO?
PDO significa PHP Data Objects ou objetos de dados do PHP para os íntimos. Basicamente serve para realizar a conexão e facilitar o trabalho com banco de dados.
O interessante dessa classe (Sim, o PDO é uma classe) é que com algumas pequenas modificações, você pode mudar de gerenciador de banco de dados, sem precisar modificar todas as suas queries.
Algumas vantagens notáveis dessa classe são:
- Código mais limpo e moderno;
- Fácil migração para outros gerenciadores de banco de dados;
- Segue o padrão de orientação a objetos, o que torna sua manutenção mais enxuta.
Em relação a orientação a objetos, vale lembrar que você precisará desse conhecimento para poder trabalhar com PDO, portanto, conhecimentos básicos de lógica serão necessários.
Segue um material que pode te ajudar nesse quesito:
É normal no inicio ficar um pouco intimidado com a sua utilização, até por que as pessoas que estão migrando do Mysql acharão o trabalho com a API um pouco difícil, e isso é normal, pois trabalhar com Mysql era muito fácil.
Como realizar a conexão ao banco de dados…
Bom, para realizar a conexão do Mysql com PDO é importante termos o nosso ambiente de desenvolvimento pronto.
No meu caso, estou utilizando o Wampserver e o Sublime Text como editor de texto. Vou mostrar exatamente o passo a passo que eu fiz.
Primeiro, eu criei um banco de dados via PHPMyadmin intitulado “test”. Esse banco servirá como teste para o nosso tutorial.
Depois que realizar esse procedimento, você deve verificar se o PHP está com o PDO ativo, para isso, basta apenas informar no seu editor de texto o seguinte comando:
1
2
3
4
5
| <?php phpinfo(); ?> |
Vai aparecer uma tela muito similar a essa:
Basta apenas você rolar a página e verificar se o PDO está habilitado. Feito isso, começaremos a nossa codificação:
1
2
3
4
5
6
7
8
| <?php define( 'SERVER' , 'localhost' ); define( 'BANCO' , 'test' ); define( 'SENHA' , '' ); define( 'USER' , 'root' ); ?> |
No exemplo acima foram criadas três constantes que assumirão os valores padrões de conexão ao banco de dados “test”. A primeira diz respeito ao servidor utilizado (no nosso caso o localhost), o nome do banco (test), a senha de acesso e o usuário. Até agora tudo muito parecido com o tutorial de conexão com Mysql utilizando a função nativa do PHP.
Agora sim, iremos realizar a conexão através do construtor da classe PDO. Ou seja, iremos apenas repassar os valores informados nas constantes.
1
2
3
4
5
6
7
8
9
10
| <?php define( 'SERVER' , 'localhost' ); define( 'BANCO' , 'test' ); define( 'SENHA' , '' ); define( 'USER' , 'root' ); $con = new pdo( 'mysql:host=' . SERVER . ';dbname=' . BANCO, USER, SENHA); ?> |
No exemplo acima, instanciamos a classe PDO e como parâmetro passamos os valores necessários para fazer a conexão funcionar.
OBS: Nessa parte ‘mysql:host’ determinamos o driver do gerenciador de banco de dados a ser utilizado, no nosso caso o Mysql. Caso queira mudar de gerenciador, basta apenas informar o novo no lugar do Mysql.
Depois de realizado todo esse procedimento, a conexão já estará funcionando, caso contrário aparecerá um erro fatal na tela do seu navegador. A esse erro damos o nome de exceção, ou seja, caso a mesma surja, o funcionamento da aplicação será interrompido.
Para evitarmos essa interrupção, devemos colocar um try catch para tratar a exceção PDO Exception. Voltando ao código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <?php define( 'SERVER' , 'localhost' ); define( 'BANCO' , 'test' ); define( 'SENHA' , '' ); define( 'USER' , 'root' ); try { $con = new pdo( 'mysql:host=' . SERVER . ';dbname=' . BANCO, USER, SENHA); } catch (PDOException $e ){ echo "Erro gerado " . $e ->getMessage(); } ?> |
O acréscimo do Try…Catch tornará sua aplicação mais robusta e preparada contra erros inesperados. Veja uma explicação breve dos comandos utilizados no tratamento das exceções:
- PDOException $e = Armazenamento da exceção dentro da variável $e;
- getMessage() = Esse método serve para retornar a mensagem da exceção como uma string, logo quando eu dou o print com o “echo”, estarei automaticamente imprimindo na tela a mensagem de erro.
Feito isso, a conexão Mysql com PDO estará terminada e funcionando perfeitamente bem. Para enriquecer ainda mais o nosso tutorial, eu gravei um vídeo exclusivo mostrando todo o passo a passo visto até aqui, dar uma olhada:
Nenhum comentário:
Postar um comentário