我可以使用 PHP 和 OData 公开 MySQL 数据吗?
据我了解,OData 只是一种以 REST 方式公开关系数据的标准化方法。如果我有一个 PHP 应用程序,它应该能够处理这些 RESTful 请求并根据请求数据操作 MySQL 数据库,然后返回 ATOM 提要。首先,前面的说法正确吗?其次,执行此操作的 PHP 库是否已经存在,还是我必须创建自己的库?
如果我完全误解了这些技术并且我的问题没有意义,请随时告诉我。
As I understand it, OData is just a standardized way to expose relational data RESTfully. If I've got a PHP application, it should be able to process those RESTful requests and manipulate a MySQL database based on the request data and then return an ATOM feed. First, are the preceeding statements correct? Second, does a PHP library to do this already exist or would I have to create my own?
If I have completely misunderstood these technologies and my question doesn't make sense, please feel free to let me know.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
OData 是一种通过 HTTP 接口公开各种结构化数据的方法。数据的底层存储库可能是关系型的,也可能不是关系型的。例如,当在 SQL Server 之上使用 WCF 数据服务时,它肯定是一个关系数据集,但 SharePoint Server 2010 或 Windows Azure 表存储中的 OData 端点在其他数据模型之上运行。高阶位是让所有数据以网络友好的方式可用。
至于您关于 MySQL/PHP 的具体问题,有一个用于 PHP 的 OData 客户端,但据我所知,没有可用的服务器实现。我知道有一个用于 ADO.NET 的 MySQL 提供程序,也许如果它具有实体框架支持,您可以使用 WCF 数据服务,但这意味着您将在 .NET 上运行而不是在 PHP 上运行,不知道它是否可以接受你的情况。
OData is a way of exposing all sorts of structured data over an HTTP interface. The underlying repository for data may be relational or not. For example, when using WCF Data Services on top of SQL Server it's certainly a relational data set, but the OData endpoints in SharePoint Server 2010 or on Windows Azure Table Storage run on top of other data models. The high order bit is to make all data available in a web-friendly way.
As for your specific question about MySQL/PHP, there is an OData client for PHP but to my knowledge there isn't a server implementation available. I know there is a MySQL provider for ADO.NET, maybe if it has Entity Framework support you can use WCF Data Services, but that means you'd be running on .NET and not on PHP, don't know if it's acceptable for your situation.
MySQL/PHP OData 服务器 - http://sourceforge.net/projects/mysqlodata/
MySQL/PHP OData Server - http://sourceforge.net/projects/mysqlodata/
这是一个可以执行您想要的操作的库:
https://github.com/MSOpenTech/odataphpprod/
Here is a library to do what you want:
https://github.com/MSOpenTech/odataphpprod/
您需要的库于 2011 年 9 月才发布。 这里是一篇 MSDN 文章。
The library you needed came out only in September 2011. Here is an MSDN article.