akeeba/json-backup-api

用于与Akeeba Backup和Akeeba Solo JSON API通信的PHP客户端库。

1.0.1 2023-06-12 18:29 UTC

This package is auto-updated.

Last update: 2024-09-08 16:29:43 UTC


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条)对您的使用案例有问题,请联系我们购买软件的替代专有软件许可证。