Post by Sylvain SFPost by EloimsApres c'est vrai que comme dans tous les langages "grand public" on
voit tres souvent des choses effarantes qui sont écrites et publiées
un peu partout sur le net...
savoir que certains peuvent commettre çi ou ça avec tel langage
n'apprend pas grd chse sur ce langage - ce n'est pas un inconvénient
*de* PHP si certains codent comme des anes.
on est d'accord, mais ca ne change rien au faits.
Certains langages sont plus propices a faire des cochoneries que d'autres.
Bien que ce n'est plus le cas aujourd'hui vu que PHP a enormement
progresse, PHP reste l'inventeur "d'aide a la programmation" pas
forcement tres catholiques
- magic quoting: qui backslash toute les strings pour eviter l'injection SQL
Complètement stupide vu que selon la base de donnée qu'on utilise les
caractères a backslasher sont différents, et puis bon on a pas envie de
TOUT backslasher non plus.
Une fois je me suis retrouver a heberger un site perso sur un hebergeur
qui ne permettait pas de desactiver ce truc, et j'ai du mettre des
stripslahses() partout pour ne plus avoir de probleme d'affichage.
C'est fait dans le dos de l'utilisateur, et on n'y comprend rien.
- register globals: en debut de script toutes les variables en GET et
POST sont déclarées \o/
l'utilisateur peut donc declarer des variables dans nos scripts.
C'est la fete!
- une variable est estimée fausse si elle vaut "", 0, null ou false ou
qu'elle n'existe pas.
Donc en gros on était tente de faire !$variable pour tester l'existence
d'une variable (oui c'est mal! mais qd on debute on debute), et se
retrouvait avec des bugs incompréhensibles....
et mention speciale a dl() qui permettait de charger des .so/.dll sur la
machine de l'hebergeur, et de s'en servir (jusqu'à que le safe mode soit
ajouté pr controler la chose, c'est vrai que c'est pratique des fois dl())
Ceci dit on est bien d'accord sur un point: depuis PHP5 et 6, tout ceci
est fini, et j'attend beaucoup des versions a venir.
Peut être aura t'on la même évolution que de Action Script 2 a 3 (AS et
PHP n'ont rien a voir mais bon):
un langage qui devient explicitement typé, perso j'ai bien aim'e, meme
si la communauté Flash a l'air d'avoir detest'e.
(je n'ose pas ecrire statiquement type, ce n'est pas le cas pour l'AS)
Post by Sylvain SFPost by Eloimsca met la possibilité de publier du contenu a la portee de presque
tout le monde
c'est en effet une caractéristique plus significative.
comparé à des J2E, WebObjects, ou autre dotnetteries MS, PHP a
l'énorme avantage de permettre gratuitement avec n'importe quel
serveur libre d'implémenter ce qui requiert moultes dépenses ailleurs.
Post by EloimsGenre en effet, a chaque requete on repart de zero, tout les fichiers
sont re-pars'es, la config de l'appli qui tourne recharg'ee etc
choix du langage, pas défauts du langage.
on parle ici de pages ouèbes générées par un serveur http, le module
PHP devrait-il garder un contexte (d'un des N visiteurs) en mémoire
alors que rien ne permet de savoir si la prochaine page (requête)
sera faite dans 2 sec. ou 2 heures ?
doit-on cacher ce contexte alors que le serveur apache d'une part et
l'OS d'autre part participent déjà à la gestion de mise en cache des
fichiers souvent lus ?
Je ne parle pas de contexte attache a un utilisateur precis ($_SESSION
qui est serialise entre chaque requete, a moin qu'on aille changer les
handler <= ca c'est bien fait par contre).
Dans le cas des framework, clairement oui.
Une grande partie du contexte est partagee par tous les utilisateurs de
l'application, et php se voit obliger de recharger le tout a chaque requête.
Je suis effare par la quantité de fichiers de config ayant toujours le
même contenu que php doit reparser a chaque requête avec Symfony (ou
autre framework php... c'est clairement pas la concurrence qui manque!
et ne parlons pas des CMS).
Rien a voir, d'ailleur, mais j'y pense maintenant.
Un avantage enorme de PHP: la quantitee de projets opensource disponible.
On a vraiment tout sous la main, frameworks, cms, bbs, blogs etc
et avec les lib qui sont fournies avec php on peut par exemple manipuler
et generer des images en quelques lignes
Quand on se lance sur un projet, la majoritee du truc est clairement
souvent deja faite.
C'est moin le cas en Python ou Ruby on Rails (frameworks mis a part,
peut etre plus, mais je me suis pas assez renseign'e)
Post by Sylvain SFPost by EloimsBon il y a des histoires pour faire du byte code avec le php je crois?
ou au moin des systeme de cache, mais c'est une fausse solution pour
recuperer d'un cote ce qu'on pert de l'autre.
hmm, non, une compilation des définitions de classes PHP serait en
effet un truc significatif pour améliorer le traitement des scripts,
bcp plus que le cache des instances de ces classes.
bon ok je vais me cacher.