从框架到无框架 [封闭]

2022-08-30 07:59:54

我已经在PHP中开发了大约8年的业余爱好。2009年,我拿起了codeigniter,从那时起,我就没有设法开发过一个项目。

我发现它减慢了我的速度,试图弄清楚如何修改它以我想要的方式工作,如果我在纯PHP中工作,我会知道,或者我能够快速找到一个片段。

我尝试过CodeIgniter,Kohana和Symfony。我喜欢它的易用性(我也开始使用教义作为ORM,这大大加快了我的数据库工作),但我发现项目花费的时间是纯PHP所花费时间的3-4倍。当我找不到以前在纯PHP中解决的问题的解决方案时,我会感到无聊和沮丧。

有没有人从使用框架回到无框架的方法。有没有像基本安全框架(防止XSS,过滤发布的数据,提供用于数据库的清理功能)?我认为这样的东西会比一个完整的框架更能使我受益。我认为学习使用框架教会了我很多东西,但是使用自己的代码会更快乐。


答案 1

PHP5的当前版本包括您正在寻找的许多安全框架作为标准库的一部分。

如果您接受HTML作为输入,我建议您抓取HTML Purifier并通过filter_input_array设置中的FILTER_CALLBACK行调用它。其基于白名单的输入安全方法是针对XSS的良好(且非常强大)的第一道防线。

据我所知,PHP没有提供防止跨站点请求伪造的机制,但我相信Google可以帮助您。OWASP 安全备忘单包括一个部分,如果你想实施自己的保护。

出于好奇,我决定也开始研究独立组件,这是我迄今为止发现的:

模板化:

  • PHP 模板继承(常规 PHP 加模板继承)
  • TWIG(Django/Jinja2/Liquid风格的语法,包括自动交换和沙盒。编译为缓存的 PHP 以提高速度。
  • DwooSmarty的更快,功能更强大,PHP5式的继任者。包括现有 Smarty 模板的兼容性系统。

我仍然没有正确研究的东西:


答案 2

我不相信框架...我曾在其中许多工作过。

讨厌MVC框架的原因:

1)代码膨胀,我购买了帮助我开发的高级课程。如表单类或 SQL 类。

2)我相信MVC框架不容易移植,特别是在使用依赖关系管理器时。

3)我相信你实际上用MVC框架编写了更多的代码,那么如果你必须使用一个样板,其中包含大量处理身份验证等的有用类。

4)大多数框架本身也只满足一两个数据库的需求。

我建议找到一个带有身份验证和文本编辑器的表单框架,以及一个像madoo +电子邮件类这样的sql框架......

90%的应用程序始终是form,sql和ajax CLASSES - 其余的可以在需要时获取

我是一个极简主义者,我努力在我的应用程序中使用不做任何事情的代码的想法......以防万一我需要它不适合我。


推荐