it-swarm-fr.com

Quand dois-je utiliser un cadre?

Je suis nouveau dans la programmation Web et à ce stade que j'apprends PHP. J'aimerais savoir quand dois-je utiliser un PHP-cadre tel que CakePHP? Quelles sont les choses que cela et d'autres personnes similaires PHP offre pour moi? Et est-il vraiment important d'utiliser un cadre pour être un professionnel?

  • Et puis-je créer mon propre cadre pour fournir les fonctionnalités que j'aime?
15
Goma

Lorsque vous êtes à l'aise avec PHP, vous pouvez commencer à utiliser un cadre. Et vous devriez toujours les utiliser:

  1. C'est beaucoup, beaucoup plus rapide que de tout coder tout
  2. Il facilite la modification, comme le changement de bases de données ou des vues changeantes
  3. Travailler avec d'autres personnes sera également plus facile, car ils sont souvent utilisés pour les cadres de modèle MVC, utilisez

Vous pouvez créer votre propre cadre, mais je ne le recommanderais certainement pas. C'est compliqué, il y a déjà beaucoup de bons frameworks, et il n'est probablement pas probable que vous trouverez une fonctionnalité manquante. À côté, ils fournissent souvent des moyens d'y ajouter vos propres fonctions, sans avoir à en faire un tout nouveau.

10
DistantEcho

Comme -- Niphra dit, commencez uniquement à utiliser un cadre lorsque vous pouvez utiliser PHP sans cadre (c'est-à-dire accéder à la base de données, envoyez des en-têtes et du contenu, le traitement des chaînes, les données manipulation, etc.). En ce qui concerne vos questions:

  • Quand dois-je utiliser A PHP cadre tel que CakePHP ? Lorsque votre projet se développe au-delà de quelques PHP fichiers; Au moment où vous commencez à séparer fermement la logique en éléments distincts et la fonctionnalité de modularisation/partage (sessions, etc.) est lorsque vous devez utiliser un cadre.

  • Quelles sont les choses que cela et d'autres personnes similaires PHP offre pour moi ? abstraction ; Au lieu d'interagir directement avec la base de données, vous pouvez utiliser un mappage d'objet-relationnel (ORM) pour gérer la structure et les relations entre vos données dans la base de données. La plupart des framework dans de nombreuses langues fournissent à ORM de faciliter l'interaction avec la couche de base de données de votre application. De même, les cadres séparent souvent les couches de réponse à l'interaction de l'utilisateur. La séparation la plus courante est le paradigme du contrôleur d'affichage du modèle (MVC), qui, pour être bref, une logique de base de données de résumés dans le modèle (une interface à l'ORM, dans de nombreux cas), des demandes de traitement et d'interagir avec des modèles dans le contrôleur et le Rendu du HTML/PDF/Image/etc. dans la vue. Les cadres fournissent souvent d'autres outils tels que le routage (pour permettre un traitement complexe de l'URI de la demande (par exemple: cartographier la demande " http://example.com/users/1 " aux utilisateurs du contrôleur, qui Recherchez ensuite le modèle utilisateur avec l'ID de 1) et une abstraction de sessions et d'autres structures de base.

  • et est-il vraiment important d'utiliser un cadre pour être un professionnel ? Pas nécessairement; Les cadres rendent la vie plus facile; Mais vous n'avez pas à utiliser un pour être un professionnel. Les cadres fournissent une abstraction et une normalisation pratiques, mais elles ne sont pas nécessaires dans la plupart des cas.

4
dirk

Après avoir lu certaines des réponses, j'aimerais dire d'abord que vous n'avez pas souvent une option sur quel cadre vous allez utiliser ou si vous allez utiliser un ou non (en tant que professionnel). Je ne veux pas vous intimider, mais vous devrez construire suffisamment de compréhension de PHP pour permettre de passer d'un cadre à un autre en utilisant plus d'un cadre à la fois.

quand dois-je utiliser un PHP tel que CakePHP?

Il n'y a pas de réponse universelle à cela. En tant que professionnel, vous allez être chargé de résoudre des problèmes spécifiques et ce sera le facteur déterminant pour le moment et ce qui est de chaque projet, en particulier si un client a une demande spécifique. Mais d'une manière générale, vous utiliserez toujours une forme de cadre avec PHP, sauf si vous modifiez ou d'étendre une application préexistante qui a son propre cadre (tel que Wordpress ou PHPBB).

Quelles sont les choses que cela et d'autres personnes similaires PHP offre-t-on pour moi?

Comme dit par Dirk, ils offrent une abstraction. Cela signifie qu'ils prennent des procédures communes, multitaptions et tentent de les rendre aussi simples et simplifiées que possible. En bref, ils essaient de présenter des solutions simplement ajoutées de l'eau pour des tâches communes.

Et est-il vraiment important d'utiliser un cadre pour être un professionnel?

De manière générale, non, il n'est pas important de tiliser un cadre comme un professionnel. Mais de manière réaliste, vous n'aurez pas beaucoup de carrière si vous n'êtes pas familier avec au moins un couple de cadres communs. =PHP sans cadre est comme C++ sans une bibliothèque STD. Vous n'en avez pas besoin, et vous pouvez en réalité en faire plus sans cela puisque vous serez directement à l'aide du bloc de builing inférieur Fonctionnalité de la langue, mais cela vous mènera beaucoup plus longtemps pour faire la même chose.

Et puis-je créer mon propre cadre pour fournir les fonctionnalités que j'aime?

Oui. En fait, vous allez probablement finir par le faire même si involontairement. De par là, je ne veux pas dire un cadre complet do-tout, mais plus comme un sac à outils de fonctions de base et de scripts que les tâches ne sont pas suffisamment courantes ou génériques pour être gérées par le cadre moyen. Le mien est fondamentalement composé de divers systèmes de fichiers, de manipulation de processus et de bits Rex-ex avec quelques utilitaires de boucle et de socket/socket différents.

3
JSON

tilisez un cadre lorsque vous connaissez les technologies sous-jacentes assez bien pour savoir ce que le cadre fait pour vous, et pourquoi c'est bon (ou mauvais).

Un cadre est en quelque sorte un méta-outil, ce qui vous permet de travailler avec vos outils (langue, base de données) un peu plus rapidement sans avoir à vous soucier de certains des détails de ce que vous faites, ce qui est bon si vous connaissez vraiment votre outils.

Ce que vous ne voulez pas que vous n'ayez pas eu d'arriver, c'est que vous apprenez le cadre au lieu des outils et devenir canalisé en une certaine manière de faire des choses, et finissez par ne pas vraiment prendre une maîtrise des langues et des concepts sous-jacents - cela devrait être un Outil, pas une béquille.

1
Eli

Commun de la personne qui a passé des années à pirater mes propres moyens de parler à une base de données et de parler à des API en ligne et que je commence à utiliser des cadres, utilisez-les lorsque vous comprenez au moins la compréhension de ce que leur faire, si possible.

Ne sautez pas immédiatement pour - Redbéen lors de votre première utilisation avec une base de données, travaillez avec le DB manuellement en premier. De cette façon, vous avez une compréhension approfondie de ce que vous avez réellement récupérer et de faire à la DB, qui peut vraiment aider avec évolutivité. Vous pouvez également faire votre propre solution lorsque le cadre que vous utilisez ne fait pas quelque chose que vous devez faire.

Une fois que vous avez compris ce qui se passe, utilisez un cadre! Cela rend les choses tellement plus faciles. La follement avec stocker une requête puis boucler sur les résultats avec mysql_fetch_assoc Est tout parti, réduit à un seul appel: $book = R::load( "book", $id ). Vous serez bien plus productif et pourra réparer les futurs bugs ou ajouter des fonctionnalités futures beaucoup plus faciles.

1
TheLQ