mmitasch / flow4ember
TYPO3 Flow 遇见 Ember。
dev-master
2013-12-09 04:11 UTC
Requires
- typo3/flow: *
This package is not auto-updated.
Last update: 2024-09-23 14:39:01 UTC
README
此包提供了一种简单的方法来实现一个使用TYPO3 Flow(PHP框架)作为服务器后端和Ember.js作为前端的前端应用程序。它主要提供以下两个主要功能:
创建符合Ember约定的REST API的超级快速方式
- 通过在相应的Flow域模型上添加注解或
- 通过将模型添加到Ember.yaml配置文件中
脚手架/启动机制
- 从Flow模型语义启动EPF模型
- 启动构建基本CRUD应用程序所需的所有其他组件(Flow控制器、Flow路由配置、Ember路由、Ember控制器、Ember视图、Handlebars模板)
快速入门
- 完成所有Flow设置任务并创建一个新的包含域模型的新Flow包
- 将此包添加到你的包的composer依赖项中(包名:mmitasch/flow4ember)并安装它。
- 为应提供REST API端点的模型添加Ember.Resource注解
- 通过
./flow ember:all YourCompany.PackageName
启动完整的CRUD应用程序 - 享受吧!
查看入门指南以获取更详细的描述。
支持哪些Ember持久层?
当前的REST实现(EpfRestController + EpfSerializer)支持
- EPF(Ember Persistence Foundation)
- Ember Data(至版本0.13)
脚手架机制支持
- 仅EPF
未来我们计划支持当前的Ember Data和JSON API格式用于REST API。将研究Ember Data脚手架的可能性。
更多文档
查看其他文档
- 入门:逐步说明如何基于此包开始一个项目。
- 命令:命令行功能的概述。
- 配置:通过注解和Ember.yaml配置选项的配置选项概述。
- 架构:本包结构的描述。
当前限制
目前仅支持以下模型关联:
- 单向一对一
- 双向一对多(通过所有者端持久化 - 其中定义了inversedBy)
多对多关联目前任何Ember持久层都不支持,但可以通过一个过渡模型建模(该过渡模型与其他两个模型具有一对多关联)
其他限制与doctrine启用模型复杂图持久化的方式有关。通常的解决方案是显式调用存储库的方法。由于此包试图以更通用的方式解决这个问题,因此存在当前的限制。这将在未来得到解决。
路线图
更好的错误处理(而不是抛出异常,返回可用于Ember应用程序的错误json格式)
通配符模型配置
Ember Data/JSONAPI支持
启动命令的合并策略
适当的测试覆盖率
重构属性映射和持久化策略
- 支持更多关联类型
- 从一方(父方)保存OneToMany关联的可能性(目前由于Doctrine内部原因,仅通过多方[子方]通用地实现;目前这没有问题,因为EPF期望相同的行为;但能够从关联的双方都能实现将是非常好的)