首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在REST框架中使用Symfony理论模型

问在REST框架中使用Symfony理论模型
EN

Stack Overflow用户
提问于 2011-12-01 01:21:35
回答 1查看 1.2K关注 0票数 0

我有一个web应用程序,已经用symfony 1.4开发了。我有一个相当大的代码库(而且还在增长)。大约80,000行代码(动作、表单、模型、模板等)

我使用的是随symfony 1.4附带的默认理论版本。

我刚刚开始开发一个使用Sencha的移动版本。我不希望将symfony用于其他web服务,因为:

  1. Symfony 1.4中的REST服务不是很好。例如,如果我想要一个PUT请求,我必须传递一个“sf_method”参数,指定请求方法是PUT。这不是真正的休息,也不太适合桑查触摸。
  2. 我不需要所有不必要的symfony功能(例如,在ProjectConfiguration文件、表单框架等中自动加载的插件)。用来开发一个标准的网络应用程序。我所需要的只是定义我的REST路由并返回指定的JSON (因为Sencha touch需要返回的所有东西都是JSON)。

我想让我的手机应用程序尽可能的不臃肿、高效和快速。不幸的是,对于这个任务,Symfony 1.4并不是我的移动应用程序的后端架构的最佳选择。如果我选择了symfony2 (这是在它的beta阶段,唉),这将是一个不同的故事,因为symfony2支持真正的REST功能。然而,我需要的是在一个选择的REST框架中使用我目前的理论模型(我有大约90种模型)的能力。

基本上,简单地说,我所需要的是这样简单:

代码语言:javascript
复制
Call a rest route->Query my doctrine models->return the JSON without using symfony.

所以我的问题是,你的建议是什么?我不希望这个问题是哪个是最好的PHP rest框架,然而,我想知道的是,什么是一个好的REST框架,我可以高效、快速地开发REST服务,利用我的理论模型,并且很容易扩展。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-01 08:46:52

在我的雇主那里,我用ExtJS前端和Symfony 1.4后端创建了一个相当大的应用程序。老实说,我不觉得被Symfony 1.4限制了吗?

首先:我创建了自己的基础控制器类(它扩展了sfActions)。这个控制器可以处理(呈现)不同类型的数据。它具有对Doctrine_Query、Doctrine_Collection、Doctrine_Model和array类型的通用处理。

此外,插件让我帮助组织代码,在某些情况下,插件在不同的项目之间共享,所以这也是一个很大的好处。还有一些额外的功能,比如表单:它只是在自动加载程序中为您准备的,您不必使用它。我不认为这会导致任何真正的性能问题(至少对我来说不是这样)。但是我喜欢使用额外的sfValidator框架,以确保数据是正确的。

唯一真正的“问题”确实是HTTP命令,特别是PUT和DELETE。我只是通过为每个“可管理的”模型生成一个控制器来解决这个问题,并实现了特定的get、list、create、update和delete操作。因此,当我想管理一个Object时,我调用objects控制器,该控制器具有executeCreate、executeUpdate和executeDelete操作。我读到的原因,就是Symfony没有也不能实现这个特性,因为PHP确实不支持这个特性。我不知道这是否属实,但如果这是您唯一的“真实”问题,您可以尝试在Symfony核心中修复这个问题。

因此,我的建议是:如果原始性能是您的问题:尝试分析您的代码,安装一个操作码(APC)缓存,并分析您的代码(是的,这是双倍)。如果HTTP命令是您的问题:我要么解决这个问题(这就是我解决它的方法),要么尝试在核心中修复它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8335438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档