介绍
Suphle是企业和SAASE的自以为是的PHP框架,用于构建从命令行应用程序到健壮的API到服务器渲染的Web应用程序,而不会损害SPA的高保真度。由于Suphle中的最后两个之间的界线不存在,因此您几乎可以从创建Web应用程序的后端到在心跳中具有版本的,已记录的API。除此之外,它可以保证您的应用程序将永远不会破坏。在产品发布或随后的维护之后进行。然后,它具有对模块化巨石的一流支持,可以将其挖掘成自己的微服务或用作扩展模块重复使用的模板。
suphle不仅仅是作者了解路由对控制器的工作方式的jamboree。它的预期受众是企业,拥有开发人员的企业动手实践,以创建解决方案,以积极影响用户依赖其效率。它在快速应用开发或经历功能蠕变的环境中开始发光
无论如何,您的结果程序都不应妥协成为建筑杰作 - 本身就是一种艺术形式
“复制它。TBF概述听起来很棒,但是它包含我当前的框架吗?”
在任何严重的后端框架中,您期望的常规罪魁祸首是什么?路由,容器,身份验证,授权,事件,DAL,测试,中间件,控制器。其余的很好:任务调度,会话,HTTP,缓存,模板,验证,异常处理,CLI。提醒我,如果我错过了什么。
苏弗(Suphle)拥有所有这些,还有更多。
“大胆的语句。有什么可能比那些更多?”
组件本身可以说不是一个框架。这就是为什么独立开发人员可以摆脱适合其需求的柔软随机库,而不是从巨大的家喻户晓的名字开始。 Suphle的第一个版本处理了中间件,一类<= 500 LOC中的身份验证和路由。从功能上讲,一个框架证明了不形式化组件的可能性。
这次做的不同是
- 正式化组件以更好地适应其现在更大的能力并认识到不同的责任。
- 更重要的是,将聚光灯从本身和本身的组成部分中移开,然后将其指向更大的图像。这涉及以下期望:
1)商业部门所感知的域维护
2)无缝的最终用户体验
3)可验证性
4)项目的演变而没有严格依赖:
i)协作指南或
ii)开发人员能力
5)更好的托管错误
最能说明组件无关紧要的因素之一是,大多数苏弗(Suphle)是由合同组成的民主。只要您选择的组件符合预期合同
这里的主要要点是将这些已知组件重新利用对这些目标,或者在改善现有目标时创建新目标。尽管框架数字中的框架数字,但核心图书馆甚至更大,但可以认为苏弗(Suphle)将事情进一步弥补了留下的差距。下面,我们查看上面概述的子弹点的现实生活示例:
- 内部功能发布和存档功能
- 通过修改依赖项来打破代码的不变部分,因为没有明确依赖关系链,当然,没有集成测试
- 要求一个完整的堆栈开发人员在我们的UI上工作(在移植到水疗中心之前)
- 整个页面崩溃了,因为错误影响着无关紧要的页面段/数据节点
- 在知道出现问题之前等待负面的客户反馈,然后纠缠错误日志
- 放弃SSR几小时就牺牲了男人。雇用了前端开发人员。后端必须复制到具有略有不同功能的API中。
- 为Spa-ey感觉/保真度的唯一目的,在水疗中心和后端进行了追逐和复制状态和错误
- 当我们的回调URL在Transit中破裂 时,无知
- API文档,测试,破坏客户的因素不加区分的更新,因为没有版本化
- 不负责任的做法,例如没有验证器的请求,获取所有数据库列,不适当或没有模型授权,倾倒我们无处可用于中间的任何东西,巨大的图像最终出现在服务器上,没有工厂的模型,没有工厂,流浪实体,何时浮出水面,他们的所有者模型被删除,不保护负整数免于从用户输入中潜入,我可以继续
- 损坏的数据被逻辑分开时,应该插入在一起的数据在 之间被打破
- 少数贡献者之间的冲突
如果您或您的团队正在挣扎,那么您很幸运!他们是苏弗(Suphle)解决的一些问题
“哈哈!我现在正在咆哮。tbh,尝试一下确实很诱人,但是考虑到它很小的时候和明显的图书馆,我有点怀疑。 ?”
是的,它是全新的,但没有比Laravel更多的库。桥接组件的适配器定义得很好,可以鼓励开发其他框架的插件。但是目前,Laravel适配器使您可以访问Laravel服务提供商,容器绑定,配置,配置,助手,迁移,而没有摩擦,这应该来自组合两个截然不同的框架。请注意,他们每个人都在选择加入。苏弗(Suphle)不使用独家美国与模型。这是一个包容的美国和他们。不要丢弃现有的应用程序或移植它们。
“你在跟我开玩笑吗?!”
谢天谢地,不是。事实是,文档中有一个附录,详细介绍了自动化测试的来源和出局,尤其是针对那些不知道该如何,尝试和未能包裹TDD的人 /工作流程的人,或者并不是真的认为测试很重要 - 开发人员的人口统计。它甚至包括用于进行性开发和包含新功能的文章,取代旧功能等。
“ ...”
“ ...”
ha!我认为您的意思是“拿我所有现有的代码库”。到目前为止,文档仍在进行中,我会说> 80%。可以克隆Docs Repo,以了解正在发生的事情。测试可以平均用来填补缺失的空白。直到官方发布之前,不会对API进行进一步的修改。它将在这里宣布,但您也可以观看回购。
如果您对贡献感兴趣,那么我绝对希望它确实伴随着第一个版本的一项功能是routing aggregator。这是上面讨论的蓝图的一部分,尚未实现。
表示支持,请考虑将一颗星星留在repo上。非常感谢您阅读