Tutoriel PHP : PHP Framework Discussion

Source : Internet
Auteur : utilisateur

Ça a été une année faisant ROR et il sent vraiment bon. coopérer avec les pratiques agiles (à l’exception de la paire, qui est une collaboration à distance avec des ingénieurs américains.) La vitesse de développement est vraiment rapide. un total de trois personnes écrire du code, juste la moitié d’une année, le projet est essentiellement plus...

Maintenant que les nouveaux projets sont à venir, les clients ont un moment difficile de choisir entre PHP et les Rails. Je vais également saisir cette occasion pour faire connaissance avec PHP.
La personnalisation du projet étant encore relativement élevée, veulent changer l’estimation par la mature CMS et autres systèmes ne va pas être.
Développer à partir de zéro et se sentent trop lent. Je tiens donc à commencer avec le framework open source.

Il s’avère que certains des cadres en plein essor de PHP sont fondamentalement une étude propre (ou plagiat, notamment cakePHP, qui est simplement copié trop.) Rails. Et ces cadres ont bien évolué et deviennent de plus en plus populaires auprès de la communauté PHP. Par exemple, cakePHP à l’étranger, la familiale Fleaphp, QeePHP et ainsi de suite, pas apparaît.

Hier fait une démo simple avec cakePHP, n’a copié des rails qui est copiée très franchement. Même râteau a quelque chose en place pour le remplacer. Je n’ai pas trouvé la chose correspondante sauf migration et filtre. J’aimerais une personne qui ne comprend pas le PHP, peut encore être rapide pour commencer.

Sur la complainte d’une seule main PHP copie rails ce approfondie, d’autre part aussi déplorer ces plagiat apporte également l’amélioration de l’efficacité du développement PHP. Bien que pour la raison de PHP lui-même, la mise en place du cadre a un impact relativement important sur les performances. Mais l’émergence de ces cadres signifie beaucoup de la réorganisation de la communauté PHP. (Au moins clients nous disent qu’à l’aide de rails est meilleur que cakePHP, afin qu’ils n’entraînent pas plus de risques.) Ils ont également présenté à plusieurs équipes aux États-Unis et transféré à cakePHP des rails.)

Je me demandais, et au moment où je pensais que rails faisait route vers le marché PHP... Maintenant au contraire l’impression que les idées des rails ont sauvé PHP...

Pensez-vous que nous devrions continuer à convaincre nos clients ? Ou utilisez-vous juste Shanzhai rails ?



Réponse de maître Robbin :
----------------------------------------------------------------


Il y a une différence fondamentale entre les mécanismes de fonctionnement de PHP et Python/Ruby : PHP est l’initialisation de toutes les ressources (telles que la création de liens de base de données, système de chargement class libraries, créant des caches et ainsi de suite) chaque fois que de requêtes HTTP arrivé au-dessus, traitement et libérant toutes les ressources, contrairement à Python / Un langage de script avec GC, tels que Ruby, Python/Ruby est l’initialisation d’une ressource lorsqu’il est commencé, et les demandes ultérieures n’ont pas à initialiser la ressource à nouveau.

La différence entre ce mécanisme est que :

1, PHP est extrêmement difficile d’apparaître un problème de fuite de mémoire grave, quel que soit votre code écrire comment pourri, en tout cas, chaque demande comme complète, toutes les ressources mise en lumière. Python/Ruby, en revanche, doit compter sur GC de recycler la mémoire, avec insouciance un peu, il y aura un problème de fuite de mémoire qui ne peut pas libérer le GC.

PHP 2, chaque demande pour initialiser les ressources, cette surcharge est très grande. Ainsi, pendant l’exécution de l’analyseur PHP lui-même est extrêmement rapide, une fois que vous utilisez un framework PHP complex, la dégradation des performances est sévère en raison de la nécessité d’initialiser l’ensemble du cadre, chaque fois que vous le demandez, et le résultat de votre utilisation d’un framework PHP très complexe, c’est que la performance globale est jetée par Ruby. C’est une des raisons pourquoi la communauté PHP n’a pas été très enclin à utiliser le cadre pendant tant d’années.

3, à cause de PHP, le mécanisme de chaque initialisation de la demande de ressources, mais aussi causé PHP pour ajouter des fonctionnalités avancées entre les demandes est assez difficile, qui est une grande limitation de PHP lui-même, mais sur le revers, c’est cette limitation qui maintient le PHP dans un langage web relativement simple, Et c’est pourquoi PHP est devenu l’Internet WEB premier langage de programmation n’est pas nécessairement mauvais.

En bref, la différence entre PHP et Ruby est toujours très grande, ne convient pas de mettre ensemble pour comparer, en fait, devrait être comparé à Ruby et Python est juste.

Donc je pense que Rails cette approche cadre de PHP après que ce qui suit, en fait, est d’aligner les voies mauvaises, de PHP n’est plus que Rails à induire en erreur le développement de PHP. Soit dit en passant : DHP utilisait PHP avant d’écrire Basecamp et avait écrit un framework de développement rapide pour PHP, et quand il est passé à Ruby, il a transplanté le framework PHP qu’il avait écrit lui-même, qui était en fait le prototype original de Rails. Alors pourquoi la DHP ne-Rails directement basés sur PHP ? vous voulez passer à Ruby avant de publier les rails ? Vous pouvez voir que ce genre de mécanisme de fonctionnement de PHP sait que PHP pour faire un cadre de développement web complexe n’est pas un chemin lumineux.

Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.