mmitasch/flow4ember

TYPO3 Flow 遇见 Ember。

安装: 69

依赖者: 0

建议者: 0

安全: 0

星标: 7

关注者: 9

分支: 1

开放问题: 4

语言:JavaScript

类型:typo3-flow-package

dev-master 2013-12-09 04:11 UTC

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期望相同的行为;但能够从关联的双方都能实现将是非常好的)