php - 任何 PHP 框架都实现了 ODATA 协议(protocol)?

标签 php laravel odata breeze jaydata

<分区>

是否有任何 php 框架实现了 odata 协议(protocol),原生的或扩展的?

我需要使用 breezejs在客户端上,我希望我不必自己实现 odata 的所有服务器端工作。

如果没有这样的东西,有没有breezejs的替代品?

jaydata不是替代方案,因为实际上它也需要服务器端实现odata协议(protocol),所以它们太相似了。

Rest 服务(如 angularjs 中的 restangular)也不是替代方案(至少对我而言不是)。它们只提供 breezejs 或 jaydata 的一部分服务。例如。它们不提供缓存数据、更改跟踪或复杂的丰富查询选项。

有什么想法吗?

谢谢

最佳答案

是的 - 有一个 OData Producer Library for PHPgithub 上可用.

这可能比您需要的更多或更少。 Breeze 客户端基本上需要服务器提供三样东西:

  1. 描述对象模型的元数据(可能是 written by hand )。 OData 的元数据可能不充分,因为它有时会省略外键。
  2. 处理保存更改的方法(我不认为 PHP 的 OData Producer 实现了这个)。
  3. 一种响应应用程序所需查询的方法。

您不一定需要完整的 OData 实现。查看breeze.server.php ;这可能就是您所需要的。

编辑 - breeze.server.php实际上使用 OData Producer Library .

关于php - 任何 PHP 框架都实现了 ODATA 协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24151768/

相关文章:

javascript - 在 jQuery 中设置动态选择器

c# - WebAPI OData $Skip 自定义 IQueryable 双应用

asp.net - 如何在 web api 2、odata 中隐藏元数据

javascript - 如何让我的 PHP API 将 JSON 返回到 Javascript HTTP POST/GET 请求?

php - oci_bind_by_name : PHP Fatal error: Only variables can be passed by reference

php - Laravel 数据库 'Where' 语句中断

laravel - laravel 5.8报错 'Passwords must be at least eight characters and match the confirmation.'如何解决

javascript - Vue挂载组件失败: template or render function not defined

mysql - 外键 Laravel 8foreignId + 约束 - 无法添加或更新子行 : a foreign key constraint fails

azure - 通过 azure 搜索过滤器返回带重音的结果集和正常的结果集