【问题标题】:Mapper between json and php classjson 和 php 类之间的映射器
【发布时间】:2012-12-13 06:17:25
【问题描述】:

我正在开始一个使用 couchbase(以 json 格式存储对象的 noSQL 数据库)和 php 的新项目。

问题是,如果我可以将 json 映射到我自己的 php 类之一(反之亦然),那么与它们一起工作将非常容易。

你知道有什么图书馆吗?

【问题讨论】:

  • PHP 的标准 couchdb 客户端库不是开箱即用的吗?你都尝试了些什么?你现在是怎么做的?
  • 在任何情况下都从 json_decode 开始,将您的 json 对象转换为 stdClass。
  • 好吧,couchbase 提供了一个方法 (view("stuff", "stuff")) 已经完成了 json_decode。到目前为止,我已经有了一个 php 结构。问题是我需要将这些 json 属性映射到我自己的类属性中。假设json中间有这样的东西:...“foo”:“aloha123”,“bar”:bye123”...在我的类中,我有一个属性foo和另一个属性bar。我需要映射器来放置这些值到我自己的类属性中。我可以实现一个这样做的映射器(到目前为止是我所拥有的),但我想知道是否已经存在更复杂的东西。

标签: php json couchbase mapper


【解决方案1】:

您可以使用我们的JSONmapper 从 JSON 映射到您的 PHP 类。 不幸的是,它不支持回映射(目前)。

【讨论】:

    【解决方案2】:

    Tug 已经提到了 Basement,它将在不久的将来提供“模型”的功能,就像您在 ORM 系统中所知道的那样。

    除此之外,由于 json_encode/decode 的特性,将普通的旧 php 对象映射到 JSON 非常容易。由于您可以将任意对象传递给它,并将其存储为 JSON,这基本上是您手头唯一需要的东西。如果您需要更多关于 JSON 和 PHP 的信息,我的博客文章是一个好的开始:http://nitschinger.at/Handling-JSON-like-a-boss-in-PHP

    如果您使用 Basement,它会让您更轻松一些,因为它允许您在后台自动将 PHP 类型转换为 JSON(或者如果需要,也可以编写自己的映射器)。

    如果您有想要构建的特定示例,请告诉我,我很乐意提供示例!

    【讨论】:

      【解决方案3】:

      开始的一种方法是查看(或使用)此处提供的“地下室”库: https://github.com/Basement/Basement

      这个库使用 json_decode/encode。 希望对您有所帮助。

      【讨论】:

      • 值得!但遗憾的是,这不是我要找的 :( Thx Tug!
      猜你喜欢
      • 2020-10-27
      • 1970-01-01
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多