89 votes

Passant d’un cadre à la non-cadre

J'ai développé en PHP pour près de 8 ans en tant que hobby. En 2009, j'ai ramassé codeigniter et depuis, je n'ai pas réussi à obtenir un seul projet développé.

Je trouve qu'il ralentit moi vers le bas en essayant de travailler sur la façon de modifier ça fonctionne comme je veux, lorsque je travaillais en pur PHP, je voudrais savoir ou je serais en mesure de trouver rapidement un extrait.

J'ai essayé de CodeIgniter, Kohana et Symfony. J'aime la facilité d'utilisation (et j'ai aussi commencé à utiliser de la doctrine comme un ORM qui massivement accéléré mon travail de base de données), mais je trouve que les projets sont me prendre 3 à 4 fois la quantité de temps qu'il a fallu en pur PHP. Je s'ennuyer et frustré quand je ne peux pas trouver une solution à un problème que j'ai déjà résolu en pur PHP.

Quelqu'un a repris, à partir de l'aide de cadres à un non-cadre de l'approche. Il n'y a rien comme un cadre de sécurité (éviter les attaques de type XSS, filtre à données publiées, de fournir une fonction de nettoyage pour une utilisation avec des bases de données)? Je pense que quelque chose comme ça serait avantageuse pour moi bien plus qu'une gamme complète de cadre. Je pense que l'apprentissage du travail avec les cadres m'a beaucoup appris, mais je serais plus heureux en travaillant avec mon propre code.

100voto

ssokolow Points 6549

Des versions à jour de PHP5 inclure une grande partie de la structure de sécurité que vous recherchez dans le cadre de la bibliothèque standard.

Si vous êtes en acceptant le HTML comme entrée, je vous recommandons de prendre un HTML Purificateur et de l'appeler via un FILTER_CALLBACK ligne dans votre filter_input_array de l'installation. Sa liste blanche de l'approche fondée sur les entrées de sécurité fait un grand (et très puissant) première ligne de défense contre les attaques de type XSS.

Aussi loin que je peux dire, PHP n'est pas doté d'un mécanisme de protection contre les cross-site request forgery, mais je suis sûr que Google peut vous aider avec ça. L' OWASP de Sécurité Cheatsheets inclure une section sur elle, si vous souhaitez mettre en place votre propre protection.

Par curiosité, j'ai décidé de commencer à regarder des composants autonomes et voici ce que j'ai trouvé pour l'instant:

Template:

  • PHP Héritage de Template (Régulier PHP en plus de l'héritage de modèle)
  • BRINDILLE (Django/Jinja2/Liquide-la syntaxe de style, y compris autoescape et bac à sable. Compile de cache PHP pour la vitesse.)
  • Dwoo (plus rapide, plus plein de fonctionnalités, PHP5-ish successeur de Smarty. Comprend un système de compatibilité pour les templates Smarty.)

Des choses que je n'ai toujours pas regardé correctement:

  • Route de dispatching (Seulement trouvé RouteMap et Net_URL_Mapper jusqu'à présent. Merci, cweiske.)
  • ORM (Juste au cas où nu PDO n'est pas votre truc)

10voto

Jugger Points 21

Je ne crois pas dans les cadres... j'ai travaillé dans beaucoup d'entre eux.

Raisons pour haïr les frameworks MVC:

1) augmentation du Code, j'ai acheter la version premium classes de m'aider dans le développement. Comme la forme de classes ou de SQL classes.

2) je crois que le MVC cadres ne sont pas facilement portable en particulier lors de l'utilisation de la dépendance des gestionnaires.

3) je crois qu'en fait vous écrire plus de code avec un framework MVC alors si vous avez à utiliser un passe-partout avec une tonne de classes utiles que gérer l'authentification etc.

4) la Plupart des cadres aussi répondre pour un ou deux bases de données en mode natif.

Je suggère de trouver un framework de formulaire à l'authentification et l'éditeur de texte et un sql cadre comme madoo + un e-mail de classe...

90% de votre application est toujours forms , sql & ajax CLASSES - le reste peut seulement être acquise que lorsque nécessaire

Je suis un minimaliste et j'ai du mal avec l'idée d'avoir le code de mon application qui n'est pas de faire quoi que ce soit ... juste au cas où j'ai besoin d'elle ne fonctionne pas pour moi.

8voto

coolgeek Points 685

Basé sur votre relevé de compte que vous avez été à l'aide de PHP comme un passe-temps, ainsi que votre profil de déclaration "Doucement", cela semble être une courbe d'apprentissage question. Vous ne semblent pas avoir la profondeur et l'étendue de l'expérience à un) comprendre la façon de travailler au sein de la structure que le cadre impose et b) vous êtes donc dans l'impossibilité de bénéficier de l'efficacité que le cadre permet.

Je vous exhorte à rester avec elle. Revenir au début avec les didacticiels vidéo. Trouver et lire les autres peuples de code jusqu'à ce que vous le comprenez. Construire vos projets de bas en haut - commencer simplement, et d'ajouter des fonctionnalités. Suivez les forums, en essayant de répondre à des questions vous-même avant de lire les réponses.

J'ai été de programmation professionnel depuis près de 20 ans, à travers une variété de plates-formes, et toujours il m'a fallu un certain temps pour être à l'aise avec l'IC. Mais maintenant que je suis, je ne voudrais pas revenir à la pure PHP (pour mes propres projets) si je n'avais pas un site de taille suffisante qu'il est exposé quantifiables des problèmes de performances (pensez à Twitter).

7voto

Sabeen Malik Points 8542

Avec qui beaucoup d’expérience derrière vous, vous devez avoir votre propre ensemble de bibliothèques préférés, main Cueillez-les et venir avec votre propre cadre simple. Cadre ou non cadre (et celui qui a cette) ne dépend du type de projet à portée de main, aucun gant adapte tous. Donc je suggère fortement que si vous sentez que les cadres actuels sont vous ralentir, passer un certain temps et arriver à un cadre qui travaille selon vos besoins.

2voto

Iznogood Points 7535

Zend Framework est vraiment super pour ça. Vous pouvez utiliser autant ou aussi peu que vous le souhaitez. Ses tout codé en php et open source vous pouvez juste hack à elle et faire votre propre. Le composant différent ne dépendent pas eachothers autant que dans d’autres cadres.

Vous pouvez construire vous-même un cadre simple à l’aide de quelques composants de Zend sans aucun problème.

Vérifier dehors !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X