PHP est un excellent outil, il peut être simple ou complexe. Différents projets doivent utiliser différents PHP.
Petit projet - PHP simple et direct
Généralement, pour un site web de moins de 20 pages fonctionnelles, on peut utiliser une structure framework très simple pour l'écrire. À cette échelle, je suggère d'utiliser une méthode de codage plus directe, orientée processus. La raison est très simple. Il n'est pas nécessaire de créer N plusieurs fichiers de classe. Par conséquent, il n'y a qu'un seul nouveau dans le contrôleur. Bien entendu, les projets dont les exigences changent fréquemment sont exclus.
A ce niveau, les avantages de PHP sont évidents : un développement rapide, clair en un coup d'oeil. Les défauts sont également bien cachés.
Projet de taille moyenne - OO PHP magnifiquement structuré
Pour un projet de taille moyenne, je recommande d'utiliser un framework bien conçu. Ce framework peut être basé sur le modèle MVC et encapsuler de nombreuses opérations sous-jacentes. Bien sûr, il doit y avoir un bon fonctionnement optimal. La meilleure chose est un mécanisme de cache transparent, afin que le mécanisme OO que nous ajoutons pour s'adapter aux changements puisse fonctionner plus rapidement et mieux.
à ce niveau. Les défauts de PHP ont commencé à apparaître, comme un support OO incomplet (ce PHP5 a été grandement amélioré) et un mode mono-thread uniquement. De plus, certains outils périphériques commencent à manquer de support. Par exemple, PHP ne dispose pas de bons outils de refactoring et il n'existe pas de bon outil de tests unitaires intégré à l'EDI. Les avantages sont bien sûr le développement rapide original et la large gamme de ressources open source disponibles.
Grands projets - PHP étendu et optimisé
Les grands projets ici font simplement référence à des projets distribués, c'est-à-dire que votre programme doit être déployé sur N serveurs. A ce niveau, PHP manque vraiment de support par rapport à j2ee. J'ai discuté en détail avec shadow sur 735 de certains des problèmes qui doivent être résolus si PHP doit être appliqué dans de grands systèmes. Bien entendu, ces problèmes ne sont pas seulement des problèmes liés au langage PHP, mais incluent également des problèmes de développement environnant :
1 Partage de code de page PHP, PHP Une fois le code source chargé une fois en mémoire, il y est conservé - cela peut être fait avec les optimiseurs d'APC et Zend.
2 Partage d'objets de données entre pages PHP. Un objet de données, tel qu'un tableau, peut être partagé entre a.php et b.php. Cela peut désormais être fait en utilisant la sérialisation, mais il y aura un fichier io. Cela peut être fait en utilisant shared. mémoire ou memcached pour le gérer.
3 Pool de connexion à la base de données PHP, car dans le cas de plusieurs frontaux, PHP ne peut pas contrôler la connexion à la base de données, il est donc nécessaire de créer un pool de connexions devant la base de données, quelque chose de similaire à sqlrelay. De plus, la mise en cache des données est également très importante. Il existe une astuce pour le développement sous haute pression : ne touchez pas à la base de données si vous le pouvez.
4 Système de cache frontal PHP. Un mécanisme de cache transparent et contrôlable pour garantir que les pages du site Web interrogent la base de données le moins de fois possible. Il existe de nombreuses implémentations de cela, mais je n’en ai pas trouvé une particulièrement bonne.
5. Une fois qu’une application PHP a résolu ces problèmes avec succès, elle n’aura aucun problème à faire face à une pression légèrement plus élevée.
A ce niveau, il est important d'intégrer PHP, Java, C++, python etc. pour en faire un système efficace. Nous pouvons utiliser Memcached pour la gestion de la mémoire distribuée, Lucene pour la récupération de texte intégral et des conteneurs ejb pour placer certains composants de logique métier. PHP sert de ciment entre le front-end et le système pour les relier de manière rapide et flexible.