Maison > Article > développement back-end > Pourquoi PHP ne peut-il pas créer des systèmes à grande échelle ?
Pourquoi PHP n'est-il pas adapté à la construction de grands systèmes ? Tout le monde doit penser qu’il s’agit d’une question de sécurité. Mais ce n'est pas seulement cela. Laissez-moi vous le présenter ci-dessous.
Pourquoi PHP ne peut-il pas créer des systèmes à grande échelle ? Quelle est la raison ?
Licences déroutantes
Vous pensez peut-être que PHP est gratuit, et que tous les modules PHP mentionnés dans le manuel sont également gratuits. Faux ! Par exemple, si vous souhaitez générer des fichiers PDF en PHP, vous trouverez deux modules dans le manuel : PDF et ClibPDF. Mais ces deux produits sont sous licence commerciale. Ainsi, pour chaque module que vous utilisez, vous devez vous assurer que vous acceptez sa licence.
Règles de dénomination des fonctions incohérentes
Certains noms de fonctions sont composés de plusieurs mots. Il existe généralement trois habitudes de combinaisons de mots :
Épissage direct : getnumberoffiles
Séparés par des traits de soulignement : get_number_of_files
Règle de Camel : getNumberOfFiles
La plupart des langues choisissez-en un. Un collège. Mais PHP est utilisé.
Hell of Magic Quotes
La citation magique peut protéger les scripts PHP des attaques par injection SQL. C'est bien. Mais pour certaines raisons, vous pouvez désactiver cette configuration dans le php.ini. Donc, si vous souhaitez écrire un script flexible, vous devez toujours vérifier si les références magiques sont activées ou désactivées. Une telle « fonctionnalité » est censée faciliter la programmation, mais en fait, elle la rend plus compliquée.
De nombreux modules PHP ne sont pas thread-safe
Il y a quelques années, Apache a publié la version 2.0 du serveur Web. Cette version prend en charge le mode multi-threading, dans lequel une partie du logiciel peut exécuter plusieurs parties en même temps. L'inventeur de PHP affirme que le cœur de PHP est thread-safe, mais que les modules non essentiels ne le sont peut-être pas. Mais neuf fois sur dix, vous souhaitez utiliser ce module dans un script PHP, mais cela rend votre script incompatible avec le mode multithread d'Apache. C'est pourquoi l'équipe PHP déconseille d'exécuter PHP en mode multithread d'Apache 2. La mauvaise prise en charge du mode multithread par PHP est souvent citée comme l'une des raisons pour lesquelles Apache 2 reste impopulaire.
Caractères de format de date non standard
De nombreux programmeurs sont familiers avec les caractères de format de date, qui proviennent des langages UNIX et C. Plusieurs autres langages de programmation ont adopté cette norme, mais curieusement, PHP possède son propre jeu de caractères de format de date totalement incompatibles. En C, "%j" représente le jour de l'année, et en PHP il représente le jour du mois. Cependant, pour rendre les choses encore plus confuses : la fonction strftime et la fonction date_format de Smarty (un moteur de modèles PHP populaire) utilisent des caractères de formatage C/UNIX.
Apprentissage recommandé : Tutoriel PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!