MÉDIATHÈQUE PHP MYSQL : ANYTHEK

Signaler
Messages postés
215
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
10 mars 2014
-
gullac
Messages postés
2
Date d'inscription
lundi 11 août 2008
Statut
Membre
Dernière intervention
30 mars 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/49431-mediatheque-php-mysql-anythek

gullac
Messages postés
2
Date d'inscription
lundi 11 août 2008
Statut
Membre
Dernière intervention
30 mars 2009

Bonjour,

excéllent!!!
merci
cs_cynix
Messages postés
20
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
9 mars 2009

salut
je pense que tes problèmes d'accents viennent d'un problème d'importation du fichier sql. As-tu réglé l'interclassement de ta base en utf8 avant d'importer le fichier?

Pour ce qui est de la différence entre '' et "", je pense que l'on ne s'en rend pas compte tant qu'on a pas dépassé plusieurs dizaines de milliers d'entrées, et encore je suis pas persuadé lol mais dans l'absolu c'est vrai qu'il parait que c'est très légèrement plus rapide ^^
cs_mfaraday
Messages postés
144
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 janvier 2010

Salut

Bon j'ai résolu mon problème de bdd...

Alors dans un premier temps, des caractères bizarres ("") apparaissent et quand on regarde dans les listes déroulantes, les accents sont remplacés par d'autres caractères (dans ce cas je pense que c'est lié à l'utf8)

Au niveau du code j'ai rien vu de particulier.

Juste une petite chose, '' est plus rapide que "". Enfin c'est ce que j'ai lu plusieurs fois sur le site :)

Sinon bon code j'aime le principe.

Florian
cs_cynix
Messages postés
20
Date d'inscription
dimanche 7 novembre 2004
Statut
Membre
Dernière intervention
9 mars 2009

Bonjour
Merci pour ces remarques, cela met au clair un certain nombre de doutes que j'avais lors du developpement :)
Je ne savais pas que les implémentations étaient également héritées dans les classes filles, effectivement il n'y a donc plus de raison d'avoir la commande d'implémentation dans toutes les classes.
Pour les getters/setters j'ai utilisé la génération auto de netbeans donc voila je n'ai pas vraiment besoin d'autres methodes et cela fonctionne bien comme ça ^^
quant à la methode __toString, je ne connaissais pas son existence sinon je l'aurai sans doute utilisé, je me doutais qu'une fonction de ce genre existait mais j'ai eu la flemme de chercher j'avoue :)

Je metterai une version mis à jour du code suivant vos conseils

Merci encore ;)
codefalse
Messages postés
1127
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1
Bonsoir :)

Quelques points et quelque remarques.
Déjà, vous commentez votre code, c'est bien, mais c'est inutile de mettre la mention copyright, author et version pour chaque version. Une seule fois, au début du fichier suffit. (Dans le cas de plusieurs auteurs, mettre plusieurs fois la balise @author, ou les séparer par des virgules suffira largement).

Vous n'utilisez pas les indicateurs de portée pour les fonctions. Je sais que par défaut, ils sont publiques, et que "ce n'est pas nécéssaire, de ce fait, de les mettres". Mais cela ne change rien au code, et ca permet de mieux comprendre le code de manière plus rapide ! :)

Ensuite vous utilisez quelques méthodes magiques (__construct), ce qui est bien, mais plus bas, je vois "function toString". Il existe une méthode magique "__toString ()" qui fasse, en mieux, ce que vous proposez ici.

De plus, faire une méthode __destruct juste pour appeler le parent, ca ne sert à rien. De plus, si on remonte les appels, on finit par voir que la classe Media, au final, ne fait rien, dans ce __destruct...

Ensuite, vous implémentez l'interface DbInteraction dans toute les classes filles de Media ainsi que Media. C'est inutile !
Vous implémentez l'interface dans la classe mère Media, et vous laissez vos classes filles implémenter la fonction.
De plus, dans votre exemple actuel (si j'ai bien compris), la classe media récupere les données dans la table media, la classe fille Video, dans la table video, etc.
Ce qui fait que vous faites plusieurs requêtes sql alors qu'une seule pourrait être faite.

A propos des methodes magiques, vous faites un getCollector/setCollector. Il existe des méthodes magiques __get, __set. Mais peut-être que votre structure prévoyait l'utilisation de méthodes de ce type, ce qui n'engage que vous :)

Voilà pour mes quelques conseils. Mis à part cela, vous avez fait un boulot qui semble intéressant. Reste plus qu'à le tester ! :)

Et dans ce type d'application, ce que je demande toujours :
UNE DEMO !!! Faites nous profiter de votre travail de manière facile et rapidement accessible :)

Bonne continuation !