and48 / laravel-wubook
Laravel 8.x 的 WuBook 桥接工具 https://wubook.net
Requires
- guzzlehttp/guzzle: ^7.4
- lstrojny/fxmlrpc: ^0.22.0
- php-http/guzzle7-adapter: ^1.0
- php-http/message: ^1.13
- zendframework/zend-diactoros: ^2.2
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-25 14:02:08 UTC
README
此版本的 Laravel WuBook 由 Andrii Strilchuk 修改,基于 ilgala/laravel-wubook。
安装
composer require and48/laravel-wubook
配置
Laravel WuBook 需要连接配置。
发布包迁移文件到您的应用程序。
php artisan vendor:publish --provider="AND48\LaravelWubook\WuBookServiceProvider" --tag="migrations"
这将创建一个 wubook_configs 表,您可以在其中修改设置配置(lcode 和 token)。
使用方法
WuBookManager
这是最有兴趣的类。它绑定到 ioc 容器为 'wubook',可以通过 Facades\WuBook 门面访问。为了调用 Wired API,您可以调用这些方法,它们指向服务的特定区域。
availability()prices()reservations()restrictions()rooms()
Facades\WuBook
这个门面将动态地将静态方法调用传递给 ioc 容器中的 'wubook' 对象,默认情况下是 WuBookManager 类。
WuBook API 方法结果
fxmlrpc 客户端始终返回一个关联数组,该数组可能由包修改以从 XML/RPC 函数检索结果数据。
如果在调用期间发生错误,将抛出 WuBookException。如果调用成功执行,将返回一个包含以下值的数组
// An error occurred return [ 'has_error' => true, 'code' => -100, 'data' => 'A human readeable error message' ]; // Success return [ 'has_error' => false, 'code' => 0, 'data' => [ /* THE XML/RPC FUNCTION RESPONSE */ ] ];
真实示例
这里可以看到这个包使用是多么简单
use AND48\LaravelWubook\Facades\WuBook; use AND48\LaravelWubook\Models\WubookConfig; $credentials = WubookConfig::find(1)->only(['lcode', 'token']); WuBook::rooms($credentials)->fetch_rooms(); // this example is simple, and there are far more methods available // The result will be an associative array with this structure [ 0 => [ id => 123, name => 'room', shortname => 'ro', occupancy => 2, men => 2, children => 0, subroom => 0, // ... ], 1 => [ // ... ], ];
有关如何使用我们背后调用的 \LaravelWubook\WuBookManager 类的更多信息,请参阅 Wired API 文档。
安全
如果您在此包中发现安全漏洞,请发送电子邮件至 Andrii Strilchuk 的 cater_pill@yahoo.com。所有安全漏洞都将得到及时处理。
许可
Laravel WuBook 依据 MIT 许可证 (MIT) 许可。
测试
为了运行测试,您必须指定环境变量 LCODE 和 TOKEN。
对于 Windows
set LCODE=1111 set TOKEN=your_token
对于 Linux
LCODE=1111 TOKEN=your_token
composer test
composer test-f RoomTest
建议在 wubook 上使用空账户运行。