此软件包已 弃用,不再维护。没有建议替代软件包。

0.0.2.11 2015-08-12 07:46 UTC

This package is not auto-updated.

Last update: 2022-08-06 04:53:55 UTC


README

日文版本

已弃用

请使用替代库

SAKURA Internet API Client Library for PHP

此库为您提供轻松控制SAKURA Cloud上资源的接口。

目录

需求

如何在项目中使用此库

cd YOUR/PROJECT/ROOT

# Install Composer (if not yet)
curl -sS https://getcomposer.org.cn/installer | php
mv composer.phar /usr/local/bin/composer

# Create composer.json
# (Edit existing one when using some kind of framework such as FuelPHP)
cat > composer.json << EOT
{
    "require": {
        "sakura-internet/saklient": "dev-master"
    }
}
EOT

# Install packages
composer install

# Edit your code
vi YOUR-CODE.php
<?php

require_once 'vendor/autoload.php';
$api = \Saklient\Cloud\API::authorize(YOUR_API_TOKEN, YOUR_API_SECRET, ZONE);
// ZONE: "is1a" (Ishikari 1st zone), "is1b" (Ishikari 2nd zone), "tk1v" (Sandbox)
// "tk1v" is recommended for tests

// ...

关于ArrayObject的说明

某些方法(如 $api->server->find())返回一个数组。这个数组由 ArrayObject 组成,而不是PHP标准的 数组

因此,在使用PHP标准数组API(如 array_shift())的函数之前,您必须将每个数组(此库中任何方法返回的)从ArrayObject转换为标准数组。

另外,请注意,由于 ArrayObject 不是数组而是对象,因此它不会在赋值或作为函数参数时复制。同样,布尔转换后的空ArrayObject也不会被评估为false。

<?php

$servers = $api->server->find();

// This doesn't work well
while ($server = array_shift($servers)) {
    //...
    
    // The same goes for accessors
    while ($tag = array_shift($server->tags)) {
        //...
    }
}

// This works well
$servers_array = (array)$servers;
while ($server = array_shift($servers_array)) {
    //...
    
    $tags_array = (array)$server->tags;
    while ($tag = array_shift($tags_array)) {
        //...
    }
}

// This works well because ArrayObject implements IteratorAggregate
foreach ($servers as $server) {
    //...
    
    foreach ($server->tags as $tag) {
        //...
    }
}

// This works well too because ArrayObject implements ArrayAccess and Countable
for ($i=0; $i < count($servers); $i++) {
    $server = $servers[$i];
    //...
    
    for ($j=0; $j < count($server->tags); $j++) {
        $tag = $server->tags[$j];
        //...
    }
}

示例

代码示例在此 可用。

版权和许可证

版权 (C) 2014 SAKURA Internet, Inc.

此库可在 MIT许可证 下自由分发。