Maison >développement back-end >PHP7 >Les pièges que j'ai rencontrés lors de l'utilisation de php7 au cours de ces années
Bien que PHP soit devenu « le meilleur langage de programmation au monde », certaines de ses fonctionnalités nous ont encore causé des problèmes inconnus lors du processus de développement. Vous trouverez ci-dessous quelques pièges sur lesquels j'ai marché au cours du processus de développement. J'espère que tous les téléspectateurs pourront en tirer des leçons et éviter les pièges.
1. N'utilisez pas la fonction mysql_
Le jour est enfin venu, non seulement vous ne « devriez pas » utiliser la fonction mysql_. PHP 7 les a tous supprimés du noyau, ce qui signifie que vous devez migrer vers la bien meilleure fonction mysqli_ ou vers l'implémentation PDO plus flexible.
2. N'écrivez pas de code indésirable
Celui-ci est peut-être facile à comprendre, mais il deviendra de plus en plus important car l'augmentation de la vitesse de PHP 7 peut cacher certains de vos problèmes. Ne vous contentez pas de la vitesse de votre site, car la migration vers PHP 7 l'a rendu plus rapide.
En tant que développeur, vous devez toujours vous assurer de charger des scripts à la demande, de les connecter lorsque cela est possible, d'écrire des requêtes de base de données efficaces, d'utiliser la mise en cache lorsque cela est possible, et bien plus encore.
3. N'utilisez pas de balises de fermeture PHP à la fin du fichier
Vous pouvez jeter un œil, lorsqu'un fichier se termine par du code PHP, la plupart des codes principaux de WordPress ont supprimé la balise PHP à la fin. En fait, le Zend Framework le désactive spécifiquement. PHP ne nécessite pas de balise de fermeture à la fin du fichier, et nous pouvons garantir qu'aucun caractère d'espacement n'est ajouté à la fin en le supprimant.
4. Ne faites pas de passage par référence inutile
Personnellement, je n'aime pas le passage par référence. Je sais que parfois c'est utile, mais d'autres fois cela rend le code difficile à comprendre et les résultats plus difficiles à prédire.
On dit que certaines personnes pensent que cela accélère l'exécution du code, mais selon certains programmeurs PHP expérimentés, ce n'est pas vrai.
Un exemple de la raison pour laquelle les citations sont mauvaises est que PHP a intégré shuffle() et sort(). Ils modifient le tableau d'origine au lieu de renvoyer le tableau traité, ce qui est assez illogique.
5. Exécuter des requêtes en boucle
Exécuter des requêtes en boucle est très inutile. Cela exerce une pression inutile sur votre système et peut permettre d'obtenir les mêmes résultats plus rapidement en dehors de la boucle. Lorsque je rencontre une situation où j'ai besoin de quelque chose comme ça, je résous généralement le problème avec deux requêtes distinctes que j'utilise pour créer le tableau de données. Je vais ensuite parcourir le tableau sans avoir besoin d'effectuer de requête dans le processus.
Étant donné que WordPress est utilisé ici, il peut y avoir quelques exceptions. Bien que get_post_meta() obtienne beaucoup de données de la base de données, vous pouvez l'utiliser en boucle si vous parcourez les métadonnées d'un article de blog particulier. En effet, WordPress récupère toutes les métadonnées et les met en cache lorsque vous l’appelez pour la première fois. Les appels suivants utilisent ces données mises en cache sans effectuer d'appels à la base de données.
La meilleure façon de comprendre cela est de lire la documentation de la fonction et d'utiliser un outil comme Query Monitor.
6. N'utilisez pas * dans les requêtes SQL
Bien sûr, cela ressemble plus à un problème MySQL, mais nous sommes habitués à écrire du code SQL en PHP, donc c'est pareil. Quoi qu'il en soit, n'utilisez pas de caractères génériques dans les requêtes SQL si vous pouvez l'éviter, surtout si la base de données comporte de nombreuses colonnes.
Vous devez spécifier explicitement quelles lignes sont nécessaires et les obtenir uniquement. Cela permet de réduire les ressources utilisées, de protéger les données et de rendre les choses aussi claires que possible.
Pour SQL, vous devez connaître toutes les fonctions disponibles et tester leur vitesse autant que possible. Lors du calcul de moyennes, de sommes ou de calculs numériques similaires, utilisez les fonctions SQL au lieu des fonctions PHP. Si vous n'êtes pas sûr de la vitesse d'une requête donnée, testez-la et essayez quelques autres compilations, puis utilisez la meilleure.
7. Ne faites pas confiance aux entrées des utilisateurs
Il n'est pas sage de faire confiance aux entrées des utilisateurs. Validez, filtrez, échappez-vous, vérifiez et laissez toujours une issue. Il existe trois problèmes avec les données utilisateur : nous, les développeurs, n'envisageons pas toutes les possibilités, elles sont souvent incorrectes et elles pourraient être délibérément compromises.
Un système bien pensé protège contre ces menaces. Assurez-vous de vérifier les valeurs appropriées à l'aide de fonctions intégrées telles que filter_var() et d'échappement (ou de précompilation) lorsque vous utilisez la base de données.
WordPress a quelques fonctions pour résoudre le problème. Consultez l’article Validation, échappement et filtrage des données utilisateur pour plus de détails.
8. Ne soyez pas intelligent
Votre objectif devrait être d'écrire un code élégant pour exprimer plus clairement vos intentions. Vous pourrez peut-être optimiser 0,01 seconde sur chaque page en raccourcissant tout à une variable d'un seul mot, en utilisant plusieurs couches de logique ternaire et d'autres moyens. Mais cela ne fera que créer de gros problèmes pour vous et votre entourage.
Nommez judicieusement les variables, documentez votre code et privilégiez la clarté à la brièveté. Il est encore préférable d'utiliser du code standard orienté objet, qui est plus ou moins le document lui-même, sans avoir besoin d'un ensemble de valeurs en ligne.
9. Ne réinventez pas la roue
PHP existe depuis longtemps maintenant et les sites Web sont créés depuis encore plus longtemps. Il y a de fortes chances que, quoi que vous ayez besoin de construire, quelqu'un l'ait déjà construit. N'ayez pas peur de demander l'aide des autres, Github est votre ami, Composer aussi et Packagist aussi.
Des outils de journalisation aux outils de correction des couleurs, des analyseurs de performances aux frameworks de tests unitaires, de l'API Mailchimp au Twitter Bootstrap, tout est disponible en appuyant simplement sur une touche (ou en tapant une commande), utilisez-les !
10. N'ignorez pas les autres langages
Si vous êtes un programmeur PHP, vous pourrez mieux comprendre HTML, CSS, JavaScript et MySQL. Il est temps de réapprendre JavaScript. JavaScript n'est pas jQuery et vous devez apprendre correctement JavaScript pour l'utiliser plus efficacement.
Il existe également du PHP orienté objet, qui fait gagner du temps et s'améliore lorsque la taille du code est plus grande. Pour les langages comme C# et Java, ils sont également plus faciles à comprendre une fois que vous avez compris la POO.
Développez vos connaissances en découvrant les gestionnaires de packages, les scripts de build, CoffeeScript, LESS, SASS, YAML, les moteurs de script et d'autres outils puissants. Je vous recommande fortement de jeter un œil à d'autres frameworks, notamment Laravel.
Que diriez-vous d'apprendre le développement d'applications Ruby, RoR, Android, iPhone et Windows Phone pendant que vous les utilisez pour faire le travail avec brio ? Vous pensez peut-être que cela ne sert à rien parce qu’ils sont en dehors de votre zone de confort et de ce que le travail exige, mais c’est ce qu’ils sont. Chaque langue a des choses pratiques à apprendre, ainsi que de nouvelles choses que vous n'avez jamais rencontrées auparavant.
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!