Emulation PDO

Avatar du membre
ViPHP
xTG
ViPHP | 7330 Messages

11 mai 2011, 09:35

Suite à un développement d'un logiciel pour la version 5.0.5 de PHP je me suis posé des questions de compatibilité...
Le serveur allant devoir accueillir mon logiciel allait être mis à jour, mais pas avant un ou deux ans, donc pas de PDO pour le moment.
Pour une compatibilité descendante j'ai donc émulé une partie des fonctionnalité de PDO au travers de class.

Pas de code à présenter sur le fonctionnement vu que cela reviendrait à mettre un code sur la syntaxe PDO. :D

Tout ce que je peux dire c'est qu'actuellement les seuls drivers supportés sont :
- Mysql (utilisation automatique de MySQLi si disponible)
- MySQLi
- PostgreSQL (non testé)

A noter aussi que je n'ai pas implémenté les transactions.

Le dépôt des sources : https://github.com/xTG/PDO

Mammouth du PHP | 1315 Messages

11 juin 2011, 04:25

Pourquoi pas mais déjà que perso je rechigne à travaillers sous des versions inférieures à 5.3 ... Perso, je pense que si on veut bien bosser, il faut de bons outils. Courageux tu as été d'émuler PDO, mais il serait tant que les serveurs mettent leurs versions à jour, et ne se limitent pas à des versions datant de 2005. J'en bave suffisamment pour le codage client, je m'arrache les cheveux des fois en sachant qu'en CSS3 je peux faire tout ce que je veux avec une seule balise div par exemple, alors que je dois me contenter du CSS2 avec des div imbriqué et du code sale. Quand je pense qu'il y en a qui me disent que le HTML 5 c'est l'avenir et qu'il faut coder avec ... C'est un beau sourire que je leur sers, mais pas de plaisir.
Compte supprimé

Avatar du membre
ViPHP
xTG
ViPHP | 7330 Messages

12 juin 2011, 09:54

Je te l'accorde... Je suis tombé des nues quand j'ai appris que le serveur pour lequel j'avais une appli à développer était en 5.0.5....
Et le pire dans tout ça c'est qu'ils vont pas lors de leur prochaine mise à jour tabler sur du 5.3 mais sur du légèrement en dessous... Un truc à devenir dingue !
Mais bon... Le client est roi... Et ce même s'il est débile. 8-|

Mammouth du PHP | 1315 Messages

14 juin 2011, 01:16

Tu pourrais aussi lui expliquer que php 5.3 est bien plus performant, plus logique, a plus d'extensions, et tout ...

Un exemple : moi j'ai développé une classe Singleton_Abstract pour pouvoir, juste en l'étendant, créer un singleton sans aucune ligne de code supplémentaire ... Bah ça marche pas sous php 5.2 car il faut la résolution statique à la volée.

Tu lui as pas aussi dit que MySQL 3 était top car rétro c'était tendance ?

^^
Compte supprimé

Avatar du membre
ViPHP
xTG
ViPHP | 7330 Messages

14 juin 2011, 08:05

Comment veux-tu en tant que stagiaire pouvoir expliquer cela à un ingénieur de 40 de métier qui a appris tout récemment ce qu'étais PDO ?
J'ai même eu du mal à pas le vexer en lui expliquant ce qu'apportait PDO donc... Pour leur expliquer que leur serveur est à la ramasse...

Enfin dans un certain sens, ils le savent bien. Mais selon eux c'est plus sécurisant de passer seulement d'une ou deux versions à la fois lors de leur mise à jour.
Donc avec une mise à jour du serveur tous les deux ans je vous laisse calculer quand ils pourront rattraper la version actuelle de PHP.
(A noter aussi que du fait ils recodent les 37 sites qu'ils hébergent en intranet pour les remettre à niveau à chaque fois qu'ils changent de version.)

Bref l'expérience et l'ancienneté c'est bien... Mais pas toujours selon moi...

Mammouth du PHP | 1315 Messages

14 juin 2011, 23:39

Oui, je n'ai pas dit que je ne comprends pas ta situation, moi même j'aurais aimé conseiller mon entreprise à passer à php5.3 mais pour le coup je n'ai même pas tenté car je ne veux pas être responsable d'incompatibilité, surtout au niveau des configurations.

C'est sur que 40 ans, on sait forcément tout. Je me suis pris il y a quelques mois, "le bec" avec un vieux patron d'une boite d'impression, qui avait bâclé une réponse à une demande de devis de ma part, et son argument de réponse était qu'il faisait comme ça depuis x et x année et que ça n'avait jamais posé de problème à personne. Au final, je n'aime pas m'engueuler avec les gens, et ma collègue au dessus de moi voulait passer par eux pour leurs prix, je me suis écrasé et on a passé commande et la qualité était au rendez vous, aucun problème. Là, c'était un problème qu'il m'avait envoyé un devis sans aucune coordonnées de leur part, je leur avais demandé de refaire le devis gentillement, il me renvoit exactement le même, alors j'ai été un peu désagréable. Au final, quelques temps après, leurs devis étaient en bon et du forme.

Pour en revenir, leur argument de passer doucement de version à version ne me convaint pas du tout. C'est typiquement comme ça que je réagis alors que je ne connais pas un produit. j'aurais considéré ça comme une marque de méconnaissance, car je ne vois pas où est le problème d'installer la dernière version stable ... et elle est de php 5.3.x ...

Donc, le soucis serait plutôt qu'ils ne veulent pas engager un vrai professionnel pour upgrader leurs serveurs, plutôt que de sortir des excuses bidons de passer de 2 versions à 2 versions, d'autant que certaines versions de php ont des bugs qui ont été résolus jusqu'alors. Et, je peux te le dire car je suis dans une entreprise dite sécuritaire (enfin j'ai fini dans 1 semaine), ce sont les mêmes qui ont les register globals à on et pas de open_basedir. En ayant accès à FTP dans ma boite sur un site, j'ai pu me trimbaler avec un simple script php sur tout le serveur ...

Je n'ai pas forcément raison, l'expérience me dira, et ton initiative est certainement très bonne. Le mot final serait plutot que je conseille autant que possible aux gens d'utiliser les bons outils, les plus récents stables si possibles. :P
Compte supprimé