Maison  >  Article  >  développement back-end  >  Pourquoi PHP est-il adapté au front-end et JAVA au back-end lors de l'apprentissage de PHP ?

Pourquoi PHP est-il adapté au front-end et JAVA au back-end lors de l'apprentissage de PHP ?

小云云
小云云original
2017-11-09 14:42:304695parcourir

Quand vous verrez ce titre, vous aurez forcément des doutes. PHP n'est-il pas utilisé pour le backend ? Il est très pratique d'utiliser un seul langage. Ici, PHP convient au front-end et JAVA au back-end, destiné aux grands sites Web ou systèmes. Par exemple, le langage de développement principal de Taobao utilise JAVA, mais la couche de présentation frontale utilise PHP. Question à nouveau : il existe de nombreux langages de développement Web, tels que Python, Ruby et Perl. net, pourquoi choisir PHP ?
C'est parce que :
PHP est flexible, rapide à démarrer, facile à modifier et rapide à publier. Les inconvénients sont qu'il est facile de faire des erreurs (communes comme les fautes d'orthographe, l'injection SQL, l'exécution du téléchargement). , etc.), une faible efficacité d'exécution et un manque de cache global. Les avantages de Java sont qu'il est stable et fiable, qu'il a une efficacité de fonctionnement élevée et qu'il n'est pas facile de commettre des erreurs (typage fort, précompilation, les exceptions doivent être interceptées, etc.). L'inconvénient est l'efficacité du développement et du développement. la libération est relativement faible. Il s'agit ici d'un terme relatif. Cela ne signifie pas que PHP ne peut pas développer des sites Web à grande échelle, ni que JAVA est inefficace. Ceux qui ont suffisamment d'expérience et de capacités sont toujours très efficaces.
Ensuite, du point de vue de la hiérarchie MVC, dans le cycle de développement d'un projet général de site Web, la Vue présente les changements d'exigences les plus fréquents et le plus d'ajustements, suivie par le Contrôleur, et enfin le Modèle. C’est très simple à comprendre. Qui change la structure des données chaque jour s’il n’a rien à faire ? La structure de contrôle doit être modifiée à chaque fois que la version est mise à niveau, plus ou moins. Quant à View, quand ne changez-vous pas de BU, de PM ou d'UED pendant deux jours ?
Pour la communication entre les deux, la technologie RPC est actuellement suffisamment mature. Qu'il s'agisse d'API Web Service/Hessian/RESTful, les développeurs peuvent se concentrer sur le développement fonctionnel sans avoir à trop considérer les différences et les différences entre les plateformes hétérogènes. Cela signifie que la solution consistant à utiliser deux langues en même temps dans une grande entreprise n’introduit pas trop de complexité ni de charge de travail.
En général, étant proche du front-end de l'utilisateur, l'utilisation de PHP peut effectuer plus rapidement des mises à jour fréquentes et triviales du front-end et répondre librement aux changements de divers besoins. L'ajustement structurel de la page, la vérification de base du contenu saisi par l'utilisateur, la logique simple liée uniquement à l'interaction de l'utilisateur, etc. sont tous adaptés au développement à l'aide de PHP. Les modifications de page peuvent même être migrées vers l'équipe front-end via des technologies de modèles telles que Smarty. La logique métier de base et les mises à jour des données sont développées à l'aide de Java, ce qui peut améliorer efficacement la réutilisabilité, les performances et le débit, et éviter les problèmes de sécurité. Une légère diminution de l'efficacité du développement entraîne une amélioration de la maintenabilité, et la lenteur de la publication n'est pas un problème, car généralement les ajustements de la logique métier de base sont généralement modifiés dans leur ensemble et ne peuvent être publiés qu'après des tests et une confirmation couche par couche.
Par conséquent, les sites Web à grande échelle utilisent PHP pour le front-end et Java pour le back-end, qui est facile à recruter et à maintenir, dispose d'un système stable, de hautes performances et augmente considérablement la sécurité. La réutilisation du code et l’exhaustivité de la documentation ont également été améliorées. Lorsque vous disposez des avantages ci-dessus, ce n'est pas du tout un problème d'exiger un plus large éventail de connaissances d'architecte.

Pourquoi ne pas utiliser un seul langage :

Une seule solution peut en fait réaliser une bonne isolation, et PHP peut également fournir des services. En fait, les problèmes de performances sont souvent causés par des problèmes d'algorithme et d'architecture plutôt que par des problèmes d'architecture. question des différences de langue. Comme Velocity ou JSTL sont également d’excellentes solutions d’isolation.
Mais nous savons tous que la réalité est souvent bien plus maigre que les idéaux. Ces solutions exposeront de nombreux problèmes sous haute pression et refléteront les avantages du bilinguisme. Celles-ci sont en fait mentionnées ci-dessus, détaillant certaines des choses difficiles à changer. Points :
1. En raison des caractéristiques du langage de script dynamique de PHP, les classes, fonctions et constantes doivent être exécutées à plusieurs reprises dans chaque cycle de requête avant que l'environnement d'exploitation puisse être établi afin de garantir la vitesse d'analyse ; L'application FastCGI est utilisée, mais elle réutilise uniquement le processus pour traiter les requêtes afin de réduire les coûts de fork, contrairement à d'autres langages. Après initialisation, les données sont obtenues via l'interface FastCGI et les données sont renvoyées avec l'interface correspondante. Il est fondamentalement impossible de retrouver les performances d'origine en termes de performances. Pire encore, Java conduit désormais une voiture de sport de marque JIT.
2. Il est si facile de faire des erreurs en PHP et difficile à trouver Même si vous utilisez le Zend Studio officiel, cela ne peut pas changer le fait : pour vous assurer que votre programme est de haute qualité et ne contient pas d'erreurs majeures. doit avoir une expérience suffisante, une rigueur suffisante et une assurance qualité responsable. Huang Shang de Taobao a plaisanté un jour à propos de l'IDE. La raison derrière la blague "manque de middleware" s'est beaucoup améliorée ces dernières années, principalement parce que le support de nombreux middlewares est devenu plus étendu, ce qui a profité à PHP, mais la racine de son développement réside toujours dans les communautés C et Java. . Les performances et la propension aux erreurs sont des difficultés techniques causées par les caractéristiques du langage, et elles constituent également le prix nécessaire de la flexibilité et de la rapidité. Il est difficile d'espérer des améliorations fondamentales.
3. Il existe également JSTL, Velocity et Freemaker dans le monde Java, mais comparé aux capacités dynamiques flexibles et puissantes de PHP, aux fonctions et bibliothèques de classes riches, aux coûts d'apprentissage faciles et à la documentation scandaleuse, c'est tout simplement de la racaille, c'est de la racaille. ! Est-il nécessaire de redémarrer le Context après avoir changé de JSTL ? Est-il nécessaire de redémarrer Velocity même si le cache est désactivé ? Est-il possible que Velocity ait de faibles performances lorsque la mise en cache est activée ? Même si celles-ci sont ignorées, est-il nécessaire de redémarrer l'action lors de l'ajustement d'une certaine règle de vérification des données ?

Maintenant, tout le monde devrait avoir une réponse claire à cette question.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn