Salut
Venant du monde java, je rencontre des possibilités
dangereuses dans PHP, au sens où ce sont des modes de fonctionnement qui induisent des erreurs de codage ou bugs parfois invisibles. Exemple :
- Affectation : $a=$b ne fait pas du tout la même chose si $b est un objet, un array, une valeur simple string etc (au sens de la copie des données), et l'on peut croire modifier un élément de tableau alors qu'on ne modifie que sa copie
- La répétition des requêtes sql due à l'absence de vrai "Singleton" : dans une application normale, des données stables sont requêtées une fois pour toutes au début de l'application ou lors du premier appel, puis stockées dans un "Singleton". Ce n'est pas possible en Php, et le développeur a tendance à appeler Mysql à chaque fois qu'il veut une donnée, même si elle ne change jamais. Ceci peut provoquer des étranglements de la base de données, et peut être partiellement évité avec des variables en session (la mémoire des serveurs est très grande de nos jours)
- Absence de racine de l'application. Php n'ayant pas de notion de racine d'application (document_root n'est pas toujours le point de départ de mon application) , le développeur peut facilement se mélanger les pinceaux entre les urls relatives des php, js et images, confondre les url et les répertoires, et au final préférer des url absolues, parfois même avec le nom de domaine ! ce qui n'est pas la bonne solution.
- if ($a==null) répond oui même si $a="" ou $a=[] !! chose inimaginable dans d'autres languages
- le fameux strpos()>=0 au lieu de strpos()!==false
- etc. il y en a certainement d'autres toujours spécifique au Php et à son mode de fonctionnement, son API...
Je ne suis pas très expert en Php, mais il me semble que le chapitre "les dangers du Php" pourrait intéresser les nouveaux venus.
Veuillez me pardonner s'il y a des erreurs de débutant dans ce message.
Riccardo
7 |
0 |