Question

J'ai commencé à écrire quelques applications en PHP et je me familiarise davantage avec le langage. Quelqu'un m'a parlé de CakePHP et de CodeIgniter. Je voulais mieux comprendre en quoi cela pourrait m'aider et savoir si cela valait la peine de passer du temps à apprendre un cadre.

Était-ce utile?

La solution

Quels sont les avantages d'utiliser les frameworks PHP MVC?

L’utilisation des frameworks PHP présente de nombreux avantages. Découvrez-en quelques-uns des principaux avantages.

  1. Ces frameworks PHP suivent un modèle de conception. Ainsi, lorsque vous utilisez un framework, vous devez suivre leur convention de codage, ce qui rend votre code propre et extensible à des fins futures.
  2. Les frameworks PHP populaires tels que CakePHP, CodeIgniter, Zend Framework et Symfony suivent le modèle de conception Model View Controller (MVC) qui sépare la logique métier de l'interface utilisateur, rendant ainsi le code plus propre et extensible.
  3. Comme tout le monde peut le deviner, ces frameworks contiennent de nombreuses bibliothèques pour faciliter votre travail. Par exemple: pour valider un formulaire, vous n'avez pas besoin d'écrire autant de code que dans un scénario de codage normal (sans utiliser de framework), quelques lignes de code appelant la bibliothèque suffisent généralement.
  4. Tout en travaillant sur un grand projet en équipe, un framework PHP MVC sera un excellent outil de développement, car vous pouvez affecter un développeur à développer une partie d'un module destiné à un développeur. L'intégration de ces modules développés sera relativement simple. au niveau final.
  5. Ces frameworks MVC vous aident vraiment à développer le projet rapidement. Si vous connaissez bien un framework, vous ne vous soucierez jamais de la date limite du projet.
  6. La plupart de ces frameworks MVC utilisent une approche d’URL claire rendant votre projet Web facile à SEO.

vérifiez article

Autres conseils

Ma philosophie est que vous ne devriez utiliser que quelque chose qui résout un besoin que vous avez actuellement.

Il existe une tendance réelle, en particulier dans ce domaine, à utiliser simplement un cadre pour pouvoir en utiliser un ou parce que vous sentez que vous devriez utiliser quelque chose. Je décourage de telles pratiques. Je pense également que les cadres ont plus de valeur lorsque vous avez fait les choses à la dure, ce qui vous permet de bien comprendre vos problèmes et de savoir comment ils peuvent vous aider dans cette situation . Le choix du cadre dépend de la situation.

Cela étant dit, le modèle MVC avec les applications Web est utile, vous n'aurez donc aucun mal à en apprendre au moins un. Je m'en tiendrai à un cadre assez minimaliste cependant. CodeIgniter vient ici à l’esprit.

Enfin, l’autre danger des frameworks est qu’ils peuvent être tellement invasifs que vous ne faites plus PHP, CakePHP, Symfony ou autre. Ce n’est pas nécessairement un problème, mais le risque qu’il soit si envahissant est que vous n’obtenez pas de bases solides en PHP et que si vous souhaitez un jour changer, il sera tout simplement trop difficile de ne jamais pouvoir le faire.

L'un des grands avantages des frameworks PHP est qu'ils minimisent la réinvention de la roue dans un grand nombre d'applications Web courantes. Les problèmes de sécurité, la gestion correcte des exceptions, les URL RESTful et la réutilisabilité du code sur votre site sont des considérations assez universelles.

Il peut être plus facile de vous familiariser avec les outils d’un framework, puis de voir si vous souhaitez utiliser le système MVC complet qu’il prend en charge. Pour cela, je vous suggère de vous familiariser avec Zend Framework. ZF fonctionne comme une bibliothèque de classes pouvant être implémentées individuellement pour des utilisations particulières - de la sécurité à la recherche Lucene -, mais contient des classes qui, utilisées ensemble, implémentent un paradigme MVC complètement développé.

Je veux juste parler de ma propre expérience en programmation, Je suis encore novice si

  1. Tout d'abord, en utilisant framework, vous vous habituerez à leur style / règle de codage, ce qui est bien, car la plupart des frameworks sont profondément réfléchis à la façon dont ils écrivent leur code. En bref, je reçois un meilleur style et un code plus propre
  2. Généralement, les frameworks viennent avec de nombreux arsenaux (plugins et / ou bibliothèques), que vous pouvez trouver sur Internet, cela réduira votre temps de codage, ainsi que le temps perdu. En bref, vous pouvez gagner votre temps précieux en pensant au processus d’entreprise
  3. avec l’utilisation du framework open source, il existe un autre programmeur qui connaît déjà et maîtrise probablement le framework, alors vous pouvez facilement collaborer avec d’autres.
  4. en vérité, je ne suis pas un programmeur bien organisé, mais c’était avant d’utiliser un framework open source. peut-être comme moi vous serez plus organisé

C'est tout ce que je peux partager avec vous pour l'instant. Je ne suis pas doué pour écrire en anglais, désolé pour cela. mais le fait est que je vous recommande d'utiliser un cadre

Heureux ami codeur.

Je pense que c’est sans aucun doute un bon investissement de passer du temps à apprendre un framework PHP. Tout d’abord, cela vous apprendra comment on s’est attaqué au problème de l’architecture du framework, à l’organisation de votre code PHP et à la gestion de choses comme les sessions et les accès à la base de données ... etc ...

Pour l'essentiel, si vous êtes sérieux dans le développement d'applications Web, vous devrez utiliser une sorte de framework plutôt que d'écrire votre propre framework à partir de zéro.

Quelques raisons pour lesquelles vous ne devriez PAS écrire votre propre framework:

  1. Vous réinventez la roue alors que cela a déjà été fait à maintes reprises.
  2. Il est peu probable que vous fassiez un meilleur travail qu'un framework open source, qui a été testé et itéré par de nombreux développeurs.
  3. Vous passerez tout votre temps à écrire et à déboguer votre propre framework que pour la création de votre application.

Alors oui, découvrez quelques cadres et trouvez-en un qui vous convient le mieux!

Diclaimer: Je ne suis pas un programmeur php et je n’ai jamais écrit une application php. D'autre part, j'ai installé, personnalisé et utilisé beaucoup de php cmss pour mon site et mes paniers d'achat.

À mon avis, php souffre de graves problèmes. Le plus important est que & # 8220; framework & # 8221; semble être un mot étranger pour presque tous les grands projets et même ceux qui ont réussi. Le code php a tendance à devenir rapidement une salade de spaghettis: spaghetti html mélangé avec du code spaghetti et spaghetti sql.

osCommerce, l’un des paniers d’achat les plus populaires, est pour l’essentiel inaccessible. Cela s'applique également à la grande majorité des projets php.

Si vous devez utiliser un cadre pour votre projet, je dis oui! Absolument! Peu importe l’ampleur de votre projet, l’utilisation d’un framework Web vous permet de tout ranger et d’écrire du code maintenable.

Cela a également une incidence sur votre style de programmation, même lorsque vous n'utilisez pas de cadre.

L'utilisation de MVC-framework facilitera votre développement. Surtout les applications liées à la base de données. Il vous fournit une structure de dossiers limpide et de nombreuses bibliothèques de codes. Je vous conseillerais de commencer par CodeIgniter.

Les frameworks sont parfaits lorsque vous avez une équipe de développeurs travaillant sur le même projet. Le contrôleur MVC intègre parfaitement le concepteur et le programmeur. Cependant, la création de " framework-like " éléments et "réinventer" la roue n'est pas une si mauvaise idée. Si vous travaillez sur un projet de grande envergure, il est préférable de manipuler votre code et de personnaliser TOUT pour répondre à vos besoins. Il deviendra un produit plus puissant car il sera entièrement développé pour le projet.

Le message suivant répond à un fil de discussion qui a été fermé immédiatement, alors que je rédigeais ma réponse au message de RenderIn à l'adresse: https://stackoverflow.com/questions/3265509/what-are-the-benefits-of-us-a-programming-framework . Le fil était fermé et dans les commentaires un lien était placé le dirigeant ici, alors je vais essayer de répondre à sa question ici. Dans les citations ci-dessous, c’est ce que j’étais sur le point de soumettre:

"Permettez-moi de vous recommander Joomla! à vous et à votre organisation. Lors de mon dernier employeur, je devais utiliser PHP (n'ayant aucune expérience préalable) et, après environ un mois et demi de codage manuel de PHP, j'ai été chargé de coder un fichier Joomla! composant qui servirait des vidéos aux utilisateurs. Je devais également créer un système permettant aux administrateurs non techniciens de classer, éditer, supprimer, etc. les vidéos, ainsi que de leur fournir des vignettes, etc.

Maintenant, pour obtenir un prototype fonctionnel, il m'a fallu environ deux mois (à l'époque, j'étais stagiaire et je ne travaillais que 20 à 24 heures par semaine, alors si vous avez une bonne expérience de PHP et de Méthodologie de développement MVC, vous auriez probablement pu obtenir un prototype fonctionnel BEAUCOUP plus rapidement que moi). "

Maintenant en réponse à l'OP de ce thread: Passer du temps à apprendre un framework en vaut vraiment la peine (je ne l’ai jamais vu mentionné ici avant mon article, je le répète donc: pour un framework PHP, je recommanderais Joomla!).

Certains des avantages de l’apprentissage d’un framework (un framework open source tel que Joomla!):

  • Une immense communauté de personnes pouvant vous aider à répondre à vos questions (en plus de stackoverflow; lol)
  • Accédez à TOUS les codes sources afin de les personnaliser à votre guise.
  • Beaucoup de plugins tiers gratuits (et payants) pour améliorer les fonctionnalités.
  • Beaucoup de tutoriels.
  • Les frameworks s’occupent d’exécuter automatiquement de nombreuses tâches banales.

En référence au point quatre: Joomla! s'occupe de choses telles que la gestion des connexions à la base de données, de sorte que vous n'ayez pas à créer toutes vos propres fonctions personnalisées pour vous connecter à votre base de données MySQL ou à renvoyer différents types de résultats (par exemple, un enregistrement, le premier résultat du premier enregistrement, liste des enregistrements, etc.), vous appelez simplement les leurs. L’API de Joomla! Est ouvertement disponible sur le Web sur son site: http://api.joomla.org/

Quoi qu'il en soit, cela aide RenderIn et tous ceux qui s’interrogent sur les frameworks (en particulier ceux liés à PHP).

Un cadre pour moi est un bon outil pour vous aider à gagner du temps, rien que pour vous, ne voulez pas perdre votre temps à le refaire, pas parce que vous voulez gagner du temps. Je ne sais pas combien c'est. Si vous le faites, vous paierez pour cela.

Pour moi, le framework est bon si vous êtes déjà programmeur d'expérience et que vous avez l'impression de savoir comment le framework fonctionne en gros (en gros, pas exactement) et que vous êtes confiant de pouvoir vous dire si je le souhaite. re-créer sorte comme simplifier de ce cadre. Ensuite, un cadre est une voiture express pour vous et ne vous fera pas souffrir si vous voulez faire quelque chose que le cadre n’est pas prêt ou quelque chose d’inhabituel ou d’autres choses étranges.

Si ce n’est pas le cas, essayez de résoudre votre problème en utilisant du vieux PHP ordinaire et essayez de jouer la langue à la portée de la main et découvrez d’abord les bonnes pratiques de programmation, ainsi que les paradigmes et les modèles. Sinon, vous ferez partie de ces nouveaux diplômés rejoignant une grande équipe et leur premier projet porte sur un projet avec un cadre très puissant qui nécessite très moins de codage et davantage de configuration et de correction. Vous ne serez jamais un bon programmeur et ne pourrez pas créer une bonne application PHP à partir de rien.

Comment, dans une organisation utilisant un cadre complexe?

Consacrez un peu de votre temps à résoudre le problème sans rien changer dans ce cas-ci en PHP jusqu’à ce que vous obteniez le contact de ce que j’ai mentionné plus haut. Sinon, vous ne retrouverez jamais votre confiance en la programmation et continuerez à vous dire: "Je sais juste que ce sont les étapes à suivre pour le faire". Ce n'est pas de la programmation (un peu extrême :)).

Cadre complexe vs simple

Une partie du cadre, même si elle est utilisée par beaucoup, est trop lourde. Il y a trop de couches que vous allez perdre de vue. Ces frameworks sont généralement destinés à quelque chose qui est stéréotypé, à beaucoup de fichiers de configuration et si vous voulez faire quelque chose d'inhabituel, vous feriez mieux d'être le rédacteur de framework (un peu exagéré ici :)). Je ne veux mentionner aucun nom ici, mais vous le saurez quand vous en rencontrerez un.

CodeIgniter est un produit de l’équipe EllisLab dont le produit principal est Expression Engine, développé avec CodeIgniter.

Après un certain temps d'utilisation de CI, j'ai constaté que l'utilisation de Yii Framework est plus pratique. Il a beaucoup d'extensions. Et pas si difficile à comprendre avec de bons documents.

CakePHP, je pense, proche de CodeIgniter.

Je recommanderais fortement d'utiliser un cadre pour autre chose qu'un simple script. Cela peut sembler exagéré parfois, mais je dirais que ce n'est pas le cas. J'ai eu quelques occasions où je pensais ne pas en avoir besoin (application simple, CRUD de base dans des tableaux de 3 db).

Peu de temps après, je me suis retrouvé à faire manuellement mysql_escape_string, le filtrage XSS, etc. À partir de ce moment, j’écris du code non-framework lorsque je pense que l’installation nécessitera plus que le code de travail. Et cela arrive très rarement.

Si je devais recommander un framework PHP, il faudrait utiliser CodeIgniter ou Yii Framework, selon la complexité de votre projet.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top