忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2024/04/26 04:43 |
ZF1.11 Zend_Cloud
ググっても日本語情報が
http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=%22Zend_Cloud%22
http://phpspot.org/blog/archives/2010/01/phpsimple_cloud.html
のコピペしか見あたらないZend_Cloudを使ってみます。
つうかtwitterを検索結果に出すのやめてくれんかね。邪魔すぎる。

Zend_Cloudは元々SimpleCloud APIという名前だったのですが、ZF1.11においてZendFrameworkに取り込まれました。

Zend_CloudはDocumentServiceQueueServiceStorageServiceの三つに分かれていますが、どれがなんだかよくわかりません。
ざっと中を見てみたところ基本的にどのアダプタもAmazon EC2かWindows Azureに接続して使うようです。
使ってみると言ったはいいもののそこらへんのアカウントを持っていないので、唯一無料で使えそうなStorageServiceのFileSystemを試してみます。
Zend_Cloud_StorageService_Adapter_FileSystemはローカルファイルをクラウド的に使用するというなんだかいまいちよくわからないクラスです。
<?php
	//require
		require_once('Zend/Cloud/StorageService/Adapter/FileSystem.php');
	
	//設定
		$config = array('local_directory' => 'C:\tmp');
	
	//Zend_Cloud_StorageService_Adapter
		$zfCloud = new Zend_Cloud_StorageService_Adapter_FileSystem($config);
	
	//保存
		$zfCloud->storeItem('test.txt', serialize($zfCloud));
	
	//取得
		$data = unserialize($zfCloud->fetchItem('test.txt'));
	
	//ファイルリスト
		$fileList = ($zfCloud->listItems('/'));

非常に簡単ですね。
他にもファイルを移動するZend_Cloud_StorageService_Adapter::moveItem、削除するZend_Cloud_StorageService_Adapter::deleteItemなんかがあるようです。

ちなみにZend_Cloud_StorageService_Adapter_FileSystem::storeItem()の中身はfile_put_contentsなので、文字列以外を渡すとさくさく消えてしまいます。
@paramはmixedってなってるのになあ。

ローカルファイルであればわざわざZend_Cloudを使う意義は薄いので、こちらで練習してWindowsAzureなりNirvanixなりに移行するという流れになるのでしょう。
外部ストレージを使用する際も、コンストラクタの引数$configに認証情報等を渡してしまえば、後はローカルファイルと同じように扱えるみたいです。
なかなか便利そうです。
PR


2011/02/14 22:56 | Comments(0) | TrackBack() | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<2011/03/01「体系的に学ぶ 安全なWebアプリケーションの作り方」発売 | HOME | 買ったものリスト 2011/02/13>>
忍者ブログ[PR]