Quels sont les avantages de PHP? [fermé]

14

Tout le monde sait que les gens ont des préjugés contre certains langages de programmation. En particulier, PHP semble souffrir de problèmes de son passé et d'autres choses (comme les types lâches) et est souvent appelé un langage de programmation non sérieux qui ne devrait pas être utilisé pour des applications professionnelles.

Dans ce cas particulier, PHP: Comment discutez-vous de l'utilisation de PHP comme langage de programmation choisi pour les applications Web? Quels sont les avantages, où PHP est-il meilleur que ColdFusion, Java, etc.?

acmé
la source
5
PHP est une approche régionalisée et mini-invasive du traitement du cancer qui fait actuellement l'objet d'essais cliniques de phase II et III. PHP peut également aider à mieux comprendre les collisions de hachage. Les organisateurs du projet PHP aident également divers organismes chargés de l'application des lois à lutter contre les délits de publipostage privé et commercial non sollicité et le travail global visant à réduire la quantité de spam envoyée et reçue sur Internet. PHP propose des groupes de support dans plusieurs dizaines de sites à travers le Massachusetts. PHP est un type de programme utilisé pour traiter la maladie mentale et la toxicomanie. PHP est dans le VPN MPLS de couche 3 (RFC2547).
Job
Chaque langue a ses ennemis / admirateurs. Je ne dirais pas que PHP est particulièrement détesté par rapport aux autres langages. En fait, je dirais que plus une langue admire, plus elle a de haineux. Je suis sûr que nous pourrions codifier: (admirers lang X/haters lang X) = AcmeConstant . AgeFactor(Lang X Age). Où AcmeContant est inchangé pour toutes les langues <(;-)
Martin York
1
J'utilise php pour montrer aux gens comment ne pas concevoir de langages.
dan_waterworth

Réponses:

13

Josh K a souligné de très bons points , donc je ne le répéterai pas. Au lieu de cela, j'en ajouterai plus.

C'est interprété.

Il suffit de FTP / SSH dans votre compte, changez les choses doit être changé et hop! Pas besoin de compiler, de déployer, de redémarrer le serveur.

Bien sûr, c'est quelque chose qui convainc pour les personnes travaillant dans un environnement de développement non formalisé, sans contrôle de version, tests automatisés, builds automatisés, etc.

C'est en fait facile

Sérieusement. Au moins pour le vrai débutant, c'est vraiment facile. Si facile que lorsque mon cousin a exprimé son intérêt pour apprendre à programmer, je lui ai acheté un livre en Python à la place. Les conventions de PHP peuvent vous apprendre de mauvaises habitudes.

Il est capable

J'ai une querelle mutuelle à vie avec les langages C / C ++. D'une manière ou d'une autre, nous ne nous aimons pas. À l'université, quand je devais faire des projets impliquant des calculs, je choisissais PHP plutôt que C ++ et dans chaque cas, je pouvais réaliser ce que je voulais. Peut-être que l'exécution du programme était en fait plus lente que si elle était écrite en C ++, mais ce n'était pas un facteur dans ce cas.

Quoi qu'il en soit: réseaux de neurones, algorithmes génétiques, logique floue ... J'ai fait tout cela en PHP. Oui ... les gens m'avaient dit que j'étais bizarre.

Mchl
la source
+1 pour interprété et capable. Une chose qui m'a toujours dérangé sur le travail Web avec Java est le besoin constant de recompiler et de déployer. Utiliser quelque chose comme Grails atténue une partie de cela, mais c'est loin d'être aussi bon que PHP.
Josh K
Interprété et capable est vraiment un bon argument. +1 Toutes les réponses étaient bonnes et donnaient de bons arguments, mais la vôtre résume assez bien.
Acme
Il suffit de regarder ce code pour gérer les entiers 64 bits: mysqlperformanceblog.com/2007/03/27/… Vous appelez sérieusement cela facile?
ThomasX
Non je ne sais pas. Veuillez noter que j'ai écrit: "Au moins pour le vrai débutant, c'est vraiment facile." Les vrais débutants n'ont généralement pas besoin de se soucier de la portabilité entre les plates-formes (si c'est une bonne chose - c'est une toute autre question). Conseil général: si vous prévoyez de traiter avec de grands nombres entiers en PHP, utilisez l'extension BCMath (et oui, je sais que ce n'est pas la meilleure solution possible ... mais c'est ainsi que PHP est;))
Mchl
17

C'est quelque chose sur lequel tout le monde ne sera pas d'accord, mais je pense qu'une autre raison pour laquelle PHP est si populaire est qu'il est facile d'obtenir un compte d'hébergement gratuit.

De nombreux jeunes étudiants qui souhaitent se lancer dans le développement Web choisissent PHP car la mise en place d'un serveur en ligne ne leur coûtera rien et ils pourront donc jouer avec / apprendre gratuitement.

Bien qu'il existe des options d'hébergement gratuites pour d'autres langues (java, ruby, .net), elles sont beaucoup plus difficiles à trouver.

mrwooster
la source
Le coût est certainement un facteur majeur de l'utilisation généralisée.
Orbling
14

Templating

PHP a des modèles intégrés, sans balises étranges, analyse ou surcharge. Certains aiment ça, d'autres non.

Portable

PHP peut être exécuté pour presque tous les serveurs et la plupart des plates-formes. En fait, il est exécuté sur la plupart des serveurs. Vous pouvez l'exécuter sous IIS, Apache, Nginx, etc. Cela signifie que vous avez une portabilité d'écriture à exécution unique. Cette portabilité comporte certaines restrictions, selon les paramètres d'environnement que vous devez prendre en charge. Cela variera entre les applications commerciales et les applications open source / largement répandues.

Populaire

PHP a une énorme communauté et elle continue de croître. Cette communauté est le résultat de la grande popularité de PHP. Vous avez des listes de diffusion très actives, des forums de discussion et un grand nombre de personnes qui peuvent répondre aux questions lors du développement.

Coût

PHP lui-même est gratuit, et la majorité des éléments avec lesquels il fonctionne (Apache, PostgreSQL, MySQL) sont gratuits. Cela donne à votre projet un seuil de coût initial très bas.

Josh K
la source
Je ne dirais pas vraiment que la portabilité était un point fort de PHP. Si vous voulez réellement écrire du PHP portable, vous devez contourner le fait que le langage peut être configuré de nombreuses façons différentes, par exemple, vous devez vérifier l'option de configuration pour les guillemets magiques et exécuter stripslashes()parce que certains ont l'option de configuration activée et certains ne le font pas. 't.
Jim
2
@Jim - C'est beaucoup plus portable que la plupart des choses.
Orbling
@Orbling - Vraiment? À quelles caractéristiques similaires d'autres langues pensez-vous?
Jim
1
@Jim: J'écris du code qui attend un environnement de "meilleures pratiques". Si je faisais un projet d'OS je mandat un certain nombre d'options / paramètres (par exemple, magic_quotes_gpctourné au large ). La meilleure façon de gérer cela (si vous le deviez) serait d'encapsuler ces blocs de traitement if / else dans des fonctions d'assistance, ce qui éliminerait la nécessité d'inclure la vérification des devis avec votre code d'application.
Josh K
1
@Josh - Je ferais la même chose que vous si j'écrivais encore PHP en grande quantité de nos jours, mais si votre code dépend d'un environnement de "meilleures pratiques", il n'est pas portable. Plus précisément, il y aura des bogues de corruption de données sur de nombreux hôtes pourris car des contre-obliques parasites sont ajoutés à toutes les données fournies par l'utilisateur. Étant donné que l'omniprésence de l'hébergement PHP est considérée comme l'un des principaux avantages de l'utilisation de PHP, je pense qu'il est juste de prendre en considération tous ces hôtes de merde. Les fonctions d'assistance que vous décrivez sont la manière typique de gérer cela, mais c'est une solution de contournement pour un problème de portabilité.
Jim
5

PHP est partout. Quel que soit l'hébergeur bizarre que vous avez, il est très peu probable que PHP ne soit pas installé dessus. Cela signifie que si vous écrivez une application Web qui doit s'exécuter sur les serveurs d'autres personnes, vous pouvez toujours dépendre d'un certain ensemble de fonctionnalités PHP (classes PHP 4/5 et extensions par défaut) et augmenter la base d'utilisateurs tout en diminuant le support.

David Kendal
la source
5

Disponibilité Presque tous les hébergeurs le prennent en charge

Rapidité de développement Tout ce dont vous avez besoin est un éditeur de texte, aucune compilation requise

Facile à installer Même s'il n'est pas installé, il est facile à installer, il est même préemballé avec des serveurs LAMP / WAMP

Documentation Il existe des tonnes d'exemples, de groupes de soutien, de livres, etc.

pics sauvages
la source
1

Quelques avantages de PHP:

  • Gestion intégrée du téléchargement des entrées de fichiers
  • Gestion intégrée des données de GET, POST et COOKIES
  • Gestion de session intégrée
  • Rapide à écrire
  • Facile à mélanger le code et le HTML (remarque: cela est également considéré comme un inconvénient)

Maintenant, il présente également plusieurs inconvénients flagrants:

  • Pas de concept de variables locales ... les variables sont globales ou à portée de fonction. Cela va vous brûler à un moment donné, en particulier si vous utilisez des boucles.
  • Les variables globales ne sont pas disponibles dans la portée de la fonction, sauf si vous les demandez spécifiquement avec le globalmot - clé.
  • L'environnement de programmation change en fonction de php.ini. Cela inclut les changements dans le comportement de fonctions spécifiques et de tableaux intégrés (par exemple $_GETet les $_POSTchangements de valeurs en fonction du magic_quotes_gpcparamètre)
Powerlord
la source
1
Personne sain d'esprit ne resterait magic_quotes_gpcallumé. Je remets en question la santé mentale de la personne qui a ajouté ce ballonnement sans valeur au moteur en premier lieu.
Josh K du
1
"Les variables globales ne sont pas disponibles dans la portée de la fonction à moins que vous ne les demandiez spécifiquement" - ne voyez pas vraiment en quoi c'est un inconvénient. Il y a des langues qui le font de cette façon, d'autres qui ne le font pas.
Mchl
1
@Mchl: La plupart des langues ne le font pas, et c'est un piège définitif si vous ne le savez pas. Du haut de ma tête, TCL est le seul autre langage que j'ai utilisé qui fait cela.
Powerlord
1
@Josh K: le serveur principal de mon entreprise précédente l'a toujours, comme le programmeur en chef avant moi l'aimait, et en tant que tel, la plupart du vieux code PHP hérité flottait dessus. Pas le temps de recoder des centaines de sites Web. : - /
Orbling
1
@Mchl: Ada a tendance à s'habituer là où les échecs entraîneraient la mort, beaucoup de morts. adaic.org/advantages/projects
Orbling
1

Je pense que certaines personnes n'aiment pas PHP parce que vous pouvez l'utiliser comme vous le souhaitez. Parce que tout le monde peut l'utiliser très facilement, beaucoup de code merdique arrive dans le monde. Certains programmeurs qui n'ont jamais fait de véritable PHP là-bas peuvent penser que c'est la façon dont vous travaillez avec PHP. Et certaines personnes n'aiment pas PHP parce qu'elles aiment autre chose et ont peur de nouvelles choses.

Personnellement, j'aime PHP parce que je peux l'exécuter presque partout. Vous pouvez obtenir beaucoup d'aide sur le Web et c'est gratuit. Il existe également de bons frameworks comme le Zend Framework. Mais la plupart des gens ne peuvent pas y arriver.

Pimmetje
la source