8721 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'aimerais avoir votre avis sur la question suivante :

Je reprends un site commencé il y a 4 ans, il est à moitié fini et m'a couté de nombreux mois de travail.

Comme Mysql était déjà obsolète à l'époque, j'étais passé passé à Mysqli procédural que je trouve assez pesant. Il se fait que j'ai jeté un coup d'oeil à Mysqli orienté objet et à PDO et je trouve qu'elles sont plus compactes, compréhensibles et faciles à mettre en oeuvre.

Ma question est : voyez-vous un inconvénient à utiliser l'une de ces deux API tout en gardant mon code en procédural ?

Merci à tous.
Modifié par Tropiques (15 Sep 2019 - 16:39)
Salut

Je tic sur = Mysql => obsolète ?

depuis quand Mysql est obsolète ?

Ensuite, le procedural... vaut mieux éviter !

le mieux reste PDO.
bacasable a écrit :


Concernant le fait d'utiliser des objets plutôt que des fonctions c'est une question de préférences. Il n'y a pas de mauvaise manière.


Je tic sur ta phrase.

Il y a BEAUCOUP de mauvaise manière dans le développement d'un application, encore plus en PHP.

Quand tu développe en procédural, la maintenance est horrible. la POO n'a pas était inventé pour rien Smiley smile

La programmation orientée objet ne permet pas de faire plus de chose que la programmation procédurale MAIS elle permet de mieux organiser son code et ça c'est un fait.

Tu as les notions d’encapsulation, d'héritage etc.. que tu n'a pas en procédural ce qui rallonge énormément de chose si tu veux faire quelque chose de sécure / maintenable

Coté POO il y a aussi beaucoup de mauvaise manière également, faut pas croire... mais dans l’ensemble c'est mieux à tous les points de vue (sauf performance normalement qui est la même.)
Tu sais certains pensent que le futur c'est la programmation fonctionnelle. Moi je crois que chacun des 2 mondes a sa place.

En l’occurrence en PHP il est impossible de programmer sans utiliser les fonctions et ici cela ne change probablement rien à la finalité du programme sauf a tout réécrire.
Bah justement, en POO pas besoin de tout réecrire.

Tu as ta classe CAD (Composant d'accès aux données par exemple), et c'est fini, tu gère ta connexion que labas. dès fois il vaut mieux passer du temps à refaire quelque chose qu'en perdre bcp plus à la corriger.
Modifié par JENCAL (16 Sep 2019 - 16:00)
Il aura besoin de tout réécrire car il a écrit son code avec les fonctions Mysqli. Smiley cligne

Je le redis car on digresse que ce n'est absolument pas une bonne raison de réécrire son code. La philosophie du code ça se décide en amont, pas en milieu ou fin de projet.

D'autre part pour un projet qui court depuis aussi longtemps je pense qu'il faut sérieusement songer à aller tout droit vers la fin. Après tout dépend si on souhaite apprendre ou terminer son projet.
Salut à tous et merci pour vos réponses !

Je vais essayer d'être plus précis. Mea culpa. Oui, ce sont les fonctions PHP MySQL qui sont absolètes depuis PHP 5.5.0, pas la base de données ... je me comprenais Smiley smile .

Alors pour ce qui est de ma question :

j'ai remplacé quelques requêtes MySQLI procédural par des requêtes PDO et ça marche très bien. [ select / insert/ create table ]. J'ai envie de remplacer toutes les requêtes MySQLI procédural par PDO sans pour cela réécrire mon code procédural.

Est-ce qu'il y aurait un risque dû à cette manière de faire ?

Merci encore
limipl

Merci pour le lien.
Il est possible que je confonde, je n'en refuse pas l'idée, mais c'est un autre débat.

Je voudrais juste une réponse à ma question qui est (en fait) :

Peut-on utiliser PDO sans risque et sans problème avec du code prodédural ?

Merci
Fondamentalement lorsque tu programmes, même à l'intérieur des objets, tu fais du code procédural donc ça ne change strictement rien que la structure de ton programme ne soit pas pensée en objet.

Donc aucun risque.
Tropiques a écrit :

Peut-on utiliser PDO sans risque et sans problème avec du code prodédural ?


aucun problème ! PDO s'en fout du procédural ou de la POO, PDO c'est une méthode.

bacasable a écrit :

Fondamentalement lorsque tu programmes, même à l'intérieur des objets, tu fais du code procédural donc ça ne change strictement rien que la structure de ton programme ne soit pas pensée en objet.

Donc aucun risque.


Exactement
bacasable a écrit :
Je te dirai de ne pas changer de façon de faire en cours de route pour conserver un cohérence dans ton code.

Concernant le fait d'utiliser des objets plutôt que des fonctions c'est une question de préférences. Il n'y a pas de mauvaise manière.

Concernant mySql, il parle de transfert l'ancienne façon de faire avec php ;

Je sui du même avis, continu tu est dans la bonne voie.
Modifié par Thierri002 (22 Sep 2019 - 09:03)