Je sais que cela ressemble à une question pointilleuse, mais laissez-moi vous expliquer d'où je viens.
À la sortie de l'université, j'ai trouvé un emploi dans une boutique PHP. J'y ai travaillé pendant un an et demi et j'ai pensé que j'avais appris tout ce qu'il y avait à apprendre sur la programmation.
Ensuite, j'ai trouvé un emploi en tant qu'atelier de développement interne individuel dans une grande entreprise où tout le travail était en C #. Dans mon engagement à ce poste, j'ai commencé à lire une tonne de blogs et de livres et j'ai rapidement réalisé à quel point j'avais tort de penser que je savais tout. J'ai appris sur les tests unitaires, l'injection de dépendances et les modèles de décorateurs, le principe de conception du couplage lâche, la composition sur le débat sur l'héritage, et ainsi de suite et ainsi de suite. Inutile de dire que mon style de programmation a complètement changé l'année dernière.
Maintenant, je me retrouve à ramasser un projet php en train de coder pour la start-up d'un ami et je me sens complètement contraint par opposition à la programmation en C #. Cela me dérange vraiment que toutes les variables d'une portée de classe doivent être référencées en ajoutant «$ this->». Cela me dérange qu'aucun des IDE que j'ai essayés n'a une très bonne intelligence et que mes méthodes de tests unitaires SimpleTest doivent commencer par le mot «test». Cela me rend fou que le typage dynamique m'empêche de spécifier implicitement le type de paramètre qu'une méthode attend, et que vous devez écrire une instruction switch pour effectuer des surcharges de méthode. Je ne supporte pas que vous ne puissiez pas avoir d'espaces de noms imbriqués et que vous deviez utiliser l'opérateur :: pour appeler le constructeur de la classe de base.
Maintenant, je n'ai pas l'intention de lancer un débat PHP vs C #, mais ce que je veux dire, c'est que je suis sûr qu'il y a des fonctionnalités PHP que je ne connais pas ou que je ne connais pas encore utiliser correctement. Je suis installé dans mon univers C # et j'ai du mal à voir à l'extérieur du bol en verre.
Alors je demande, quelles sont vos fonctionnalités préférées de PHP? Que pouvez-vous y faire que vous ne pouvez pas ou qui sont plus difficiles dans les langages .Net?