openfoodfacts/openfoodfacts-php

v0.3.0 2024-05-01 08:07 UTC

README

PHP API 包装器,用于Open Food Facts,关于食品的公开数据库。

Project Status Build Status Average time to resolve an issue Percentage of issues still open

安装

使用 Composer

composer require openfoodfacts/openfoodfacts-php

用法

这是创建 API 的最基本方法

$api = new OpenFoodFacts\Api('food','fr');
$product = $api->getProduct('3057640385148');

在上面的例子中,你访问的是“food”数据库,限制在法语/国家范围内。第一个参数是:

  • "food"
  • "beauty" 或
  • "pet"

以确定你想要使用哪个产品数据库。

第二个参数决定了所选数据库的语言/国家范围:例如“world”或“de”或“fr”。

关于这个话题的更多细节:请参阅API 文档

这些都是你真正需要的基本用法参数。

对于 $api->getProduct 的返回类型,你得到一个 Document::class 对象。这也可以是一个类型为 FoodProduct::classPetProduct::classBeautyProduct::class 的对象,具体取决于你创建的是哪个 API。这些对象继承自更通用的 Document::class

在上面的例子中,我们使用的是 'food' API,并将得到一个 FoodProduct::class

为了获得初步了解,Document::class 有一个函数可以返回一个数组表示(排序)以供首次启动。

$product = $api->getProduct('3057640385148');
$productDataAsArray = $product->getData();

可选参数

其他参数是可选的,并且为了更复杂地使用 API(从软件开发的角度来看)

有关代码示例,请参阅: cached_example.php

LoggerInterface:一个决定错误日志记录位置的记录器(文件、控制台等)

请参阅: PSR-3 Loggerinterface

ClientInterface:HTTP 客户端 - 调整连接配置以适应您的需求等

请参阅: Guzzle HTTP Client

CacheInterface:将 API 请求的结果临时保存以提高性能并减少对 API 服务器的负载

请参阅: PSR-16 Simple Cache

开发

贡献

  1. 将其分叉( https://github.com/openfoodfacts/openfoodfacts-php/fork
  2. 创建您的功能分支(git checkout -b my-new-feature
  3. 启动测试 vendor/bin/phpunit && cs-fixer vendor/bin/php-cs-fixer fix
  4. 提交您的更改(git commit -am 'Add some feature'
  5. 推送到分支(git push origin my-new-feature
  6. 创建新的拉取请求

第三方应用程序

如果您使用此 SDK,请随意打开 PR 以将您的应用程序添加到此列表。

作者