fdt2k / isbn
用于转换和验证ISBN的PHP库
2.5.0
2022-01-10 00:00 UTC
Requires
- php: ^7.1
Requires (Dev)
- guzzlehttp/guzzle: ^6.2
- phpunit/phpunit: ^6 || ^7 || ^8
README
biblys/isbn可用于
- 验证字符串是否符合ISBN-10、ISBN-13和EAN-13格式
- 转换ISBN到ISBN-10、ISBN-13、EAN-13、GTIN-14和ISBN-A/DOI格式
- 解析ISBN并提取登记机构、出版社代码、出版代码、校验和等
安装
要求
- PHP 7.x
如果您需要支持PHP 8,请参阅下一个分支。
使用composer安装
composer require biblys/isbn:^2.5.0
用法
转换
用例:将EAN(9782843449499)转换为ISBN-13(978-2-84344-949-9)。
<?php use Biblys\Isbn\Isbn; try { $input = "9782843449499"; $isbn13 = Isbn::convertToIsbn13($input); echo "ISBN-13: $isbn13"; // Prints ISBN-13: 978-2-84344-949-9 } catch(Exception $e) { echo "An error occurred while attempting to format ISBN $input: ".$e->getMessage(); }
所有格式化方法
Isbn::convertToIsbn10
Isbn::convertToIsbn13
Isbn::convertToEan13
Isbn::convertToGtin14
Isbn::convertToIsbnA
验证
用例:验证错误格式的ISBN-13(978-2-843-44949-9,应为978-2-84344-949-9)。
<?php use Biblys\Isbn\Isbn; try { $input = "978-2-843-44949-9"; Isbn::validateAsIsbn13($input); echo "ISBN $input is valid!"; } catch(Exception $e) { // Will throw because third hyphen is misplaced echo "ISBN $input is invalid: ".$e->getMessage(); }
所有验证方法
Isbn::validateAsIsbn10
Isbn::validateAsIsbn13
Isbn::validateAsEan13
Isbn::isParsable
开发
使用Gitpod
本地
如果您想设置本地开发环境,您将需要
- PHP 7.x
- Composer
- (可选) Docker,用于运行测试并针对不同版本的PHP进行调试
克隆此存储库并运行composer install
以开始!
测试
使用PHPUnit运行测试
composer install composer test
在Docker容器中运行测试
composer docker:test
使用特定PHP版本在Docker容器中运行测试
PHP_VERSION=7.1 composer docker:test
ISBN范围更新
国际ISBN机构有时会不时添加新的ISBN范围。每次发生这种情况时,此库都必须更新。如果需要范围更新,请请在GitHub上提交问题。您也可以在更新范围后提交拉取请求,以下命令可用于更新范围
composer install composer run update-ranges
或使用Docker容器
composer docker:update-ranges