jamiehannaford / php-opencloud-zf2
ZF2 module that allows easy interaction with Rackspace/OpenStack APIs
Requires
- php: >=5.3.3
- rackspace/php-opencloud: ~1.9
Requires (Dev)
- guzzle/plugin-log: 3.8.*@dev
- guzzle/plugin-mock: 3.8.*@dev
- psr/log: 1.0.*
- satooshi/php-coveralls: 0.6.*@dev
This package is not auto-updated.
Last update: 2024-12-21 16:51:35 UTC
README
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.
Installation
Step 1: Install Composer (if you haven't already)
curl -sS https://getcomposer.org/installer | php
Step 2: Install the module
php composer.phar require jamiehannaford/php-opencloud-zf2:dev-master
This 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 install
Step 3: ZF2 Configuration
You 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.php
If 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
.
Usage
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.
View helpers
Please see the CloudFilesHelper wiki for more information about how you can streamline the process of accessing CDN resources in your HTML views.