A simple but powerful ZF2 module that allows your web app to communicate easily with Rackspace/OpenStack APIs. You can manage your cloud account configurations, use Swift helper functions in your view files, monitor your cloud servers, sync directories with a CDN, update DNS records... In short, you get the full benefit of an SDK without all the overhead.
curl -sS https://getcomposer.org/installer | phpphp composer.phar require jamiehannaford/php-opencloud-zf2:dev-masterThis will automatically update your composer.json configuration file and force Composer to install the module. Alternatively,
you can manually insert the requirement like so:
{
"require": {
"jamiehannaford/php-opencloud-zf2": "~1.0"
}
}And then run:
php composer.phar installYou need to update your application.config.php file, and add in the module:
return array(
'modules' => array(
// other modules...
'OpenCloud'
)
);You then need to make sure you have an opencloud.local.php configuration file in your config/autoload
directory - since this is what holds all your API configuration values. To make life easier, you can copy the dist
version shipped with this project:
cp ./vendor/jamiehannaford/php-opencloud-zf2/config/opencloud.local.php.dist ./config/autoload/opencloud.local.phpIf using Rackspace, you must fill in the username and apiKey config options.
If using OpenStack, you must fill in the username, password config options, along with either tenantId or tenantName.
You can retrieve a Rackspace client object using the Service Manager:
public function indexAction()
{
// get Rackspace client
$rackspace = $this->getServiceLocator()->get('OpenCloud');
// this also works
$rackspace = $this->getServiceLocator()->get('OpenCloud\Rackspace');
// get OpenStack client
$openstack = $this->getServiceLocator()->get('OpenCloud\OpenStack');
}Once this client object is available, you have full access to the php-opencloud SDK.
Please see the CloudFilesHelper wiki for more information about how you can streamline the process of accessing CDN resources in your HTML views.