openfoodfacts / openfoodfacts-php
Open Food Facts API 包装器,关于食品的公开数据库。
Requires
- php: ^8.1
- ext-curl: *
- ext-gd: *
- ext-json: *
- guzzlehttp/guzzle: ^7.4
- psr/log: ^3.0
- psr/simple-cache: ^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.9.5
- phpstan/phpstan: ^1.8.2
- phpstan/phpstan-phpunit: ^1.1.1
- phpunit/phpunit: ^9.5.21
- symfony/cache: ^6.1.3
This package is auto-updated.
Last update: 2024-09-26 09:08:10 UTC
README
PHP API 包装器,用于Open Food Facts,关于食品的公开数据库。
安装
使用 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::class
、PetProduct::class
或 BeautyProduct::class
的对象,具体取决于你创建的是哪个 API。这些对象继承自更通用的 Document::class
在上面的例子中,我们使用的是 'food' API,并将得到一个 FoodProduct::class
为了获得初步了解,Document::class
有一个函数可以返回一个数组表示(排序)以供首次启动。
$product = $api->getProduct('3057640385148'); $productDataAsArray = $product->getData();
可选参数
其他参数是可选的,并且为了更复杂地使用 API(从软件开发的角度来看)
有关代码示例,请参阅: cached_example.php
LoggerInterface:一个决定错误日志记录位置的记录器(文件、控制台等)
ClientInterface:HTTP 客户端 - 调整连接配置以适应您的需求等
请参阅: Guzzle HTTP Client
CacheInterface:将 API 请求的结果临时保存以提高性能并减少对 API 服务器的负载
请参阅: PSR-16 Simple Cache
开发
贡献
- 将其分叉( https://github.com/openfoodfacts/openfoodfacts-php/fork )
- 创建您的功能分支(
git checkout -b my-new-feature
) - 启动测试
vendor/bin/phpunit
&& cs-fixervendor/bin/php-cs-fixer fix
- 提交您的更改(
git commit -am 'Add some feature'
) - 推送到分支(
git push origin my-new-feature
) - 创建新的拉取请求
第三方应用程序
如果您使用此 SDK,请随意打开 PR 以将您的应用程序添加到此列表。