fundevogel / php-pcbis
Zeitfracht's webservice API 的简单 PHP 包装器,用 PHP 编写
4.0.0
2022-08-05 23:51 UTC
Requires
- php: ^8.0
- ext-dom: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.4
Requires (Dev)
- laravel/pint: ^0.2
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^9.0
- vimeo/psalm: ^4.26
Suggests
- nicebooks/isbn: Provides ISBN functionality such as validation & formatting
- dev-main
- 4.0.0
- 4.0.0-rc.4
- 4.0.0-rc.3
- 4.0.0-rc.2
- 4.0.0-rc.1
- 4.0.0-beta
- 4.0.0-alpha
- 3.0.0
- 3.0.0-rc.2
- 3.0.0-rc.1
- 3.0.0-beta.3
- 3.0.0-beta.2
- 3.0.0-beta.1
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.0
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-rc.8
- 2.0.0-rc.7
- 2.0.0-rc.6
- 2.0.0-rc.5
- 2.0.0-rc.4
- 2.0.0-rc.3
- 2.0.0-rc.2
- 2.0.0-rc.1
- 2.0.0-beta.5
- 2.0.0-beta.4
- 2.0.0-beta.3
- 2.0.0-beta.2
- 2.0.0-beta.1
- 2.0.0-alpha.5
- 2.0.0-alpha.4
- 2.0.0-alpha.3
- 2.0.0-alpha.2
- 2.0.0-alpha.1
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.0
- 1.0.0
- 0.9.0
- 0.8.1
- 0.8.0
- 0.7.0
- 0.6.0
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.0
- 0.2.0
- 0.1.0
- dev-soap
This package is auto-updated.
Last update: 2024-08-28 13:52:14 UTC
README
是什么
这个小型库可以通过利用由德国批发图书分销商 Zeitfracht 开发的 pcbis.de 的 JSON API 来收集有关图书的信息。官方 API 文档可以在 这里 找到。
为什么
它支持 我们的图书推荐 并从 德国国家图书馆 下载封面图片。
如何
它可以通过 Composer 获取
composer require fundevogel/php-pcbis
基本工作流程
入门非常简单
<?php require_once('vendor/autoload.php'); use Fundevogel\Pcbis\Pcbis; # Create object, passing credentials as first parameter (for caching, see below) $object = new Pcbis([/* ... */]); try { # After loading a book, you might want to .. $book = $object->load('978-3-522-20255-8'); # (1) .. export its bibliographic data $data = $book->export(); # (2) .. access specific information echo $book->title(); # (3) .. download its cover if ($book->downloadCover()) { echo 'Cover downloaded!'; } # (4) .. query its OLA status if ($book->isAvailable()) { # ... } } catch (Exception $e) { echo 'Error: ' . $e->getMessage(), "\n"; }
注意:在开发过程中使用此库时,请考虑使用类似这样的 API 测试端点
# Initialize API wrapper $api = new Webservice($credentials); # Use 'testing' URL $api->url = 'https://wstest.pcbis.de/ws30';
如果您想加载多个 EAN/ISBN,请使用 loadAll(array $identifiers)
,它返回一个 Products
对象。
注意:从 v3 版本开始,ISBN 验证默认不再启用。如果您希望在调用 isbn()
(如果可用)时获取格式化的(=带有连字符的)ISBN,并且已安装 nicebooks/isbn
,则 php-pcbis
将为您处理此操作。
缓存
默认情况下,php-pcbis
不实现任何缓存机制。如果您想存储数据——您可能应该这样做——可以通过以下方式实现
require_once('vendor/autoload.php'); use Fundevogel\Pcbis\Pcbis; $obj = new Pcbis([/* ... */]); $ean = 'identifier'; if ($myCache->has($ean)) { $data = $myCache->get($ean); $product = $obj->load($data); } else { $product = $obj->load($ean); $myCache->set($ean, $product->data); }
鸣谢
大多数辅助函数都是从 Kirby 的优秀 toolkit
软件包中获取的,由 Bastian Allgeier(顺便说一下,他非常出色)。
祝您编码愉快!
©️ Fundevogel Kinder- und Jugendbuchhandlung