2010-06-04 6 views
8

Je connais PHP et je commence juste avec MySql (mais je prévois d'utiliser ODBC). Je n'ai pas besoin de livres pour l'expliquer.Web-apps: à cadre ou non à cadre?

Je suis probablement qualifié pour développer un site web simple, mais je vise à prendre des applications assez ambitieuses. J'imagine que presque toutes les applications web ont des points communs comme la sécurité, l'évolutivité, etc. (je n'ai absolument aucune idée de la façon de distribuer une base de données ou une application sur des serveurs serveurs, par exemple). Puisque je ne peux pas prévoir la nature exacte des applications que je pourrais développer (autre que PHP & ODBC sera impliqué), est-il un point de se marier à un cadre, ou devrais-je juste réinventer la roue et personnalisez-le pour en faire mon propre cadre.

Si un cadre existant, alors lequel? La seule aide que je peux donner est que je ne suis pas susceptible de faire des sites Web, des portails, des sites d'achat, etc., probablement pencher davantage vers le suivi des actifs et l'exploration de données.

Répondre

6

L'utilisation d'un cadre vous permet d'économiser une tonne de temps et vous aide à organiser votre application mroe logiquement.

Si l'application est petite, les frameworks comme CodeIgniter ou Kohana sont idéaux.

Si vous construisez une application plus grande qui a besoin de mettre à l'échelle le Symfony ou possiblement Zend sont à regarder.

Si vous deviez commencer votre application dans Symfony serait instanly obtenir:

  • réécriture d'url en utilisant les itinéraires
  • un framework de formulaire pour manipuler tout faire avec votre forme web
  • internationalisation
  • et localisation
  • emailing
  • mise en cache
  • générateur de zone d'administration, pour vous aider à ajouter des données rapidement
  • cadre de tests unitaires

plus le cadre est tout extensible et custmisable pour répondre à vos besoins. En commençant sans cadre, vous devrez écrire tout cela vous-même. Ou intégrez plusieurs modules open source disparates.

Espérons que cela aide.

2

Les bons frameworks vous offrent une solution aux problèmes courants. Réinventer des solutions pour vous-même sera probablement un travail excessif. Comme un exercice d'apprentissage à venir avec des trucs pour yourslef a une certaine valeur. Pour réaliser un vrai travail efficacement, utilisez un framework.

Cela ne suppose que les bons cadres existent dans votre monde ...

+1

+1. Bien que la plupart des frameworks essayent de résoudre tous les problèmes à la fois et interopèrent avec n'importe quelle technologie populaire, mais rarement une tâche excellente. La plupart du temps, vous finissez par pirater beaucoup de choses dans ce cadre. L'alternative est d'écrire votre propre cadre spécifique à l'application. Une règle de base, que j'ai trouvée pour moi-même, est que si vous maîtrisez un framework, vous êtes extrêmement productif tout en couvrant vos besoins, mais vous pourriez ralentir considérablement cette ligne. un propre cadre prend beaucoup de temps pour concevoir et écrire, mais n'a pas ce problème (si vous le faites bien!). – back2dos

1

cadres sont parfaits pour faire en sorte que vous code à un mode enrégimentée et que votre code est lisible. Ils offrent également beaucoup de bibliothèque de code qui sera en mesure de vous faire gagner beaucoup de temps dans le développement d'applications web. Zend framework a une énorme quantité de bibliothèques de code que vous pouvez inclure dans votre application pour l'étendre facilement, et pour l'exploration de données ayant accès à ces bibliothèques serait très bénéfique car je suis sûr qu'il existe déjà de nombreuses bibliothèques de data mining fait pour Zend.

Symfony framework idéal pour développer des sites Web rapidement et est très strict en utilisant innodb pour ses tables de base de données qui assure l'intégrité de la base de données et est utile si vous avez l'intention de développer une base de données relationnelle stricte. Le générateur d'administration est également incroyablement rapide pour développer des systèmes de gestion de contenu pour les sites Web que vous concevez. Si vous voulez prendre un framework, je regarderais ce tutoriel http://anantgarg.com/2009/03/13/write-your-own-php-mvc-framework-part-1/ qui vous guidera dans votre premier framework MVC (model view controler) et qui est beaucoup plus simple que de sauter directement dans un framework complet comme Zend. Je voudrais juste suivre ce tutoriel jusqu'à ce que vous ayez un codage décent dans un style mvc, ce n'est pas vraiment la peine de réinventer la roue en raison du temps nécessaire et de la qualité des frameworks existants.

Hope this helps

Luke

1

Il y a déjà de bonnes réponses à la question «quel framework» pour PHP sur StackOverflow, donc je ne vais pas y aller. Cependant, en ce qui concerne les librairies, je recommanderais d'utiliser le ADODB library (désinfection correcte des entrées, prise en charge de plusieurs DB, meilleure API que les classes spécifiques de base de données natives de PHP) et d'écrire quelques classes.

Un bon exemple d'un cadre «allégé» qui fournit des modèles (et qui est aussi un bon exemple d'un cadre bien écrit) est Smarty (qui est utilisé par le W3C sur leur site Web - pas un mauvais endossement). Pour certains, il semble redondant d'avoir un langage de template en PHP, mais cela aide à imposer un degré notable de séparation entre la logique de présentation et la logique de l'application.

Je pense qu'il vaut mieux éviter les frameworks sur PHP jusqu'à ce que tu vois quelque chose qui répond vraiment à un besoin que tu ne peux pas résoudre facilement sans lui. Mon point de vue est que vous êtes heureux d'écrire vos propres classes et de petits frameworks spécifiques au site, vous serez plus à même d'évaluer d'autres frameworks plus facilement (je considère cela comme un défi unique avec PHP car il y a un peu de sur la fourniture de cadres minables qui empêche de trouver les bons).

+0

+1 Merci pour la bibliothèque ADODB. J'ai joué avec Smarty pour un site Web, par opposition à une application, mais je suis d'accord pour dire que la recommandation du W3C signifie quelque chose. Beaucoup semblent recommander Symfony, donc c'est comme un croisement entre ça et le mien. Je vais enquêter plus loin. – Mawg

+1

En venant à travers ADODB était un grand "Pourquoi n'ai-je pas entendu parler de cela avant?!" moment pour moi.Je serais intéressé de savoir quelles sont vos expériences si vous avez envie de mettre à jour le post sur toute la ligne. –

+1

Je suis en retard à la fête, mais après avoir travaillé à la fois avec ADODB et PDO, PDO a mieux fonctionné pour mes cas. –