akeeba / json-backup-api
用于与Akeeba Backup和Akeeba Solo JSON API通信的PHP客户端库。
1.0.1
2023-06-12 18:29 UTC
Requires
- php: ^8.0.0
- composer-runtime-api: ^2.0.0
- ext-json: *
- composer/ca-bundle: ^1.3.0
- psr/http-client: ^1.0.0
- psr/http-factory: ^1.0.0
- psr/http-message: >=1.0
- psr/log: ^3.0.0
Suggests
- ext-curl: Allows the cURL method for archive downloads
- guzzlehttp/guzzle: The standard PHP HTTP client (see HttpClientGuzzle)
- joomla/http: A less capable, but lightning fast, PHP HTTP client (see HttpClientJoomla)
README
用于与Akeeba Backup和Akeeba Solo JSON API通信的PHP客户端库。
此库与以下软件兼容
- Akeeba Backup for Joomla! 4.7.7及更高版本
- Akeeba Backup for WordPress 2.0.0及更高版本
- Akeeba Solo 2.0.0及更高版本
快速入门
获取API客户端对象
// Create an Options object which tells the library where and how to connect to the backup software $options = new \Akeeba\BackupJsonApi\Options([ 'capath' => \Composer\CaBundle\CaBundle::getBundledCaBundlePath(), 'ua' => 'MyFancyApp/1.2.3', 'host' => 'example.com', 'secret' => 'Sυρ3rC4l1Fr@gil15ti(E><pial!d0ciou5', ]); // Create an HTTP client object. Here, we are using one that makes use of Guzzle 7 (you need to install Guzzle yourself) $httpClient = new \Akeeba\BackupJsonApi\HttpAbstraction\HttpClientGuzzle($options); // Get the API client itself. $apiClient = new \Akeeba\BackupJsonApi\Connector($httpClient);
进行备份(并跟踪其进度)
$backupOptions = new \Akeeba\BackupJsonApi\DataShape\BackupOptions([ 'profile' => 5, 'description' => 'Remote backup using the API client', 'comment' => 'Look, mum! I can take backups without logging into the site!' ]); $apiClient->backup($backupOptions, function ($data) { echo "Received backup tick\n"; echo sprintf("Domain : %s\n", $data->Domain); echo sprintf("Step : %s\n", $data->Step); echo sprintf("Substep : %s\n", $data->Substep); echo sprintf("Progress : %0.2f%%\n", $data->Progress); if (!empty($data->Warnings)) { echo "Warnings\n========\n"; foreach ($data->Warnings as $warning) { echo $warning . "\n"; } } if (!$data->HasRun && empty($data->Error)) { echo "The backup finished successfully.\n"; } elseif (!empty($data->Error)) { echo "The backup finished with an error:\n{$data->Error}\n"; } });
许可协议
Akeeba Backup JSON API客户端库 — 用于与Akeeba Backup和Akeeba Solo JSON API通信的PHP客户端库。版权所有 (C) 2008-2024 Nicholas K. Dionysopoulos / Akeeba Ltd
本程序是自由软件:您可以按照自由软件基金会发布的GNU Affero通用公共许可证的条款重新分配和/或修改它,许可证版本为3,或者(根据您的选择)任何更高版本。
本程序的分发是希望它是有用的,但没有保证,甚至没有关于其可销售性或适用于特定目的的暗示保证。有关详细信息,请参阅GNU Affero通用公共许可证。
您应该已随本程序收到GNU Affero通用公共许可证的副本。如果没有,请参阅https://gnu.ac.cn/licenses/。
替代许可
如果您想使用此软件,但GNU Affero通用公共许可证(尤其是许可证的第13条)对您的使用案例有问题,请联系我们购买软件的替代专有软件许可证。