À partir d'un cadre 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.
- j'aimerais entendre plus au sujet de pourquoi vous avez dit à propos de l'utilisation du cadre de la prise de 3-4 fois du temps par rapport à des non-cadre .. avez-vous l'esprit de l'élaboration de plus à ce sujet?
- L'un des avantages de CI, ou n'importe quel cadre, est qu'il vous oblige dans le modèle de conception qui est plus facile pour les développeurs qui ne sont pas habitués à votre développement particulier de style à maintenir. Aussi, dans les environnements de grande taille, en séparant les points de vue de la logique est essentiel afin que votre CSS gourous peuvent faire leur chose sans marcher sur les développeurs orteils.
- La grande question, si jamais j'ai un choix, j'utilise uniquement du PHP. Mais la plupart du temps, les gens avec qui je travaille pour moi d'utiliser un framework, donc je viens de lui facturer les heures supplémentaires 🙂 je pense que mon code est lisible, bien structuré et stable. Peut-être qu'ils craignent de devoir de vous tenir sur le conseil d'administration si une catastrophe se produit et tout le code est dans un "votre-custom-cadre-que-personne-d'autre-peut-lecture" de l'état.
Vous devez vous connecter pour publier un commentaire.
Actuel des versions de PHP5 inclure une grande partie de la structure de sécurité que vous recherchez dans le cadre de la bibliothèque standard.
httponly
attribut session_set_cookie_params() (Protège contre les scripts de la lecture du cookie de session dans les navigateurs compatibles)httponly
attribut avec la fonction setcookie().Si vous êtes en acceptant le HTML comme entrée, je vous recommandons de prendre un HTML Purificateur d' 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. Le 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é à ce jour:
De template:
Des choses que je n'ai toujours pas regardé correctement:
Je ne crois pas dans les cadres... j'ai travaillé dans beaucoup d'entre eux.
Raisons de les 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 & 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.
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).
Avec beaucoup d'expérience derrière vous, vous devez avoir votre propre ensemble de bibliothèques préférées, ramasser et venir avec votre propre cadre simple. Cadre ou non cadre (et qui en plus) dépend du type de projet à portée de main, pas de gant s'adapte à tous. Donc, je suggère fortement que si vous vous sentez que les cadres actuels sont vous ralentir, passer quelque temps et de trouver un cadre qui travaille en fonction de vos besoins.
Zend Framework est vraiment super pour ça. Vous pouvez utiliser autant ou aussi peu que vous le souhaitez. Son tout codé en php et open source, donc vous pouvez juste pirater et en faire votre propre. Les différents composants ne sont pas dépendantes de eachothers autant que dans d'autres cadres.
Vous pouvez construire vous-même un simple cadre à l'aide de certains composants de Zend sans aucun problème.
Vérifier ça!
Je Sais exactement de la façon dont vous vous sentez. J'ai commencé à 4~5 ans en PHP (je viens de Delphes, lol), et a commencé en pur php. Ce que j'avais à l'arrière était un "CMS Panneau, comme" à qui il suffit de lire toutes les tables de champs et de créer la forme. Après quelque temps, j'ai atteint une certaine façon dans la connaissance des Frameworks PHP, j'ai essayé de CakePHP pour la première et n'ai pas aimé, après, est entré dans le Yii qui à mon avis est assez intuitif et facile à utiliser (Avec Gii générateur de roches assez bien). J'ai Essayé de Symfony, zend framework 2, Laravel, Yii2-Bêta et certains cadres de la SAR, mais je ne me sentais pas assez vite comme avant la cadres de.
Est arrivé que j'ai développé mon propre framework (Il était naturellement pas exactement ce que je me suis réveillé un jour et dit: "je vais créer un nouveau cadre", qui s'est passé avec le temps) . Je Sais que c'est un mauvais mauvais mauvais de la pratique et de "réinventer la roue" se déplacer, MAIS, maintenant, je développe mes projets beaucoup plus rapide (plus de PHP uniquement).
Puisque c'est le code est un DÉSORDRE total, j'ai commencé il y a un mois à la reformulation de mon cadre de travail, maintenant il utilise compositeur, suit des règles communes qui existe entre les frameworks php, MVC est.
Pourquoi je suis la reformulation ? Parce que si quelqu'un a besoin de réparer un projet de mine il ne sera pas un monde autre chose.
Donc, je vous Comprends.
Mon Conseil, préparation des outils (appelons un cadre, un preset-app ou que ce soit les noms de personnes), et de l'utiliser de la façon dont vous vous sentez mieux, mais toujours suivre certaines règles communes (Comme MVC, "facile à module" les choses qui vous pouvez le remplacer en cas de rupture.
Pour la sécurité de base, j'utilise un filtre personnalisé méthode qui enveloppe vers le haut de mon superglobales. Sa syntaxe besoins s'habituer, mais est plus simple que le PHP filter_var() de l'API et ne pas vous laisser glisser assainissement:
Il a également permis inline $_REQUEST->sql() de s'échapper. Mais pour le travail de base de données gardez à l'aide de SQL paramétrée, ou votre DAL/ORM de choix.
J'ai fait une journée d'étude de ToroPHP et l'a trouvé très agréable. C'est un minimaliste cadre ciblé à Reposante applications. Cela permet de garder le côté serveur de code modulaire, sans avoir à traiter avec ballonnement de tout cadre.
Je ne sais pas ce qui vous trouble, mais codeigniter est un grand cadre.Elle a beau documentation et depuis beaucoup de gens utiliser codeigniter, vous trouverez toute l'aide dans sa documentation,ou sur le forum ou sur stackoverflow.J'ai travaillé sur de nombreux cadres (Codeigniter,CakePHP,Zend,Spring 3.0, Ruby on Rails),mais je dois dire que codeigniter a la meilleure documentation.Il y a beaucoup de choses dans codeigiter qui sont gérées automatiquement et vous n'avez pas à vous soucier de la sécurité.
Travailler sur la base de PHP, c'est comme re-inventer la roue. Bien la chose la plus importante est que le passage d'un noyau de cadre aurez besoin de beaucoup de vos efforts une fois que vous êtes habitué, vous pourrez commencer à l'aimer.Aussi Ruby on rails est également un excellent cadre une fois que vous connaissez les tenants et les aboutissants, vous pouvez avoir le double de la vitesse.