En fait, un simple, doux et court :Oui, plus nécessaire.
Passons en revue le code non pas que nous ayons perdu quelque chose :
-
__construct
- Le constructeur contenait simplement toute la configuration. PDO a un concept beaucoup plus simple ici, une chaîne de connexion contenant le plus d'informations :mysql:host=127.0.0.1;dbname=people;charset=UTF-8
De plus, PDO fournit le constructeur pour une utilisation prête à l'emploi, donc le double n'est pas nécessaire.
-
connect
- La fonction de connexion n'est plus nécessaire non plus. Cela se fait en instanciant déjà PDO. Vous pouvez rechercher des exceptions, le manuel PHP contient un exemple sur sa page constructeur . -
selectDb
- Cette fonction compliquée n'est plus nécessaire non plus. Wow, la troisième fonction que nous pouvons supprimer à cause de la chaîne de connexion PDO. Beaucoup de puissance avec tellement moins de personnages. Santé ! -
__destruct
- Le destructeur. Soyons justes :MySQL n'en avait pas besoin non plus. Cependant, avec PDO, nous l'obtenons gratuitement - sans écrire une seule ligne de code.
Cela semble bon! Vous avez réussi à migrer de cette classe de base de données obscure vers PDO en supprimant le code obsolète ! Félicitations :
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
Si vous pensez maintenant, qu'en est-il si je veux avoir une classe de base de données par moi-même ? Eh bien, vous pouvez le faire, car vous pouvez étendre à partir de PDO (oui ça marche !) :
class DB extends PDO
{
... my super-new-shiny-code
}
Pourquoi voudriez-vous faire ça? Aucune idée, mais c'est peut-être plus fluide pour votre code. Si vous cherchez un meilleur exemple de code, j'en ai un sur PHP/MySQL Table with Hyperlinks .