この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんにちはphpビギナーの清田です。今回はPHPのフレームワークで注目されているFuelPHPでAWS SDK for PHPを試してみたいと思います。
アジェンダ
- 実行環境
- FuelPHPのインストール
- AWS SDK for PHPをインストール
- 動作確認
実行環境
- Win 7
- PHP 5.3.3+
- FuelPHP 1.6
環境変数へPHPのパス指定をしておいていください。
FuelPHPのインストール
FuelPHPのインストールは2パターンあり、コマンドラインからのインストールと、ファイルをダウンロードしていインストールがあります。
今回は弊社須藤の記事を参考にインストールします。
Gitコマンドでインストール
git clone git://github.com/fuel/fuel.git <src_dir>
cd <src_dir>
rm -rf .git .gitmodules *.md docs fuel/core fuel/packages
git init
今回はサブモジュールは以下の二つをインストールしてみます。
git submodule add git://github.com/fuel/core.git fuel/core
git submodule add git://github.com/fuel/oil.git fuel/packages/oil
composerのアップデート
php composer.phar update
インストール用のoilコマンドを実行。
php oil refine install
参考記事
ブラウザから確認
弊社大村の記事を参考にアパッチの設定を行いました。
ブラウザに設定したURLを入力し、以下画面が表示されますとインストール完了です。
AWS SDK for PHPをインストール
composerを利用してインストールしてみたいと思います。
composer.jsonを編集
以下のcomposer.jsonファイルを編集します。
requireプロパティに["aws/aws-sdk-php": "2.*"]を追記します。
{
"require": {
"aws/aws-sdk-php": "2.*"
}
}
composerをアップデート
コマンドラインへ戻り、以下コマンドを実行します。
php composer.phar update
正常にインストールされると、vendorフォルダ以下にaws-sdk-phpがインストールされています。
bootstrap.phpの編集
bootstrap.phpにAWSのnamespaceの追加記述します。
Autoloader::add_namespace('Aws', APPPATH.'vendor/aws/aws-sdk-php/src/Aws', true);
動作確認
動作確認用にコントローラーにs3.phpを作成し、S3のバケットを取得してみます。
/app/classes/controller/s3.php
<?php
use Aws\S3\S3Client;
class Controller_S3 extends Controller
{
public function action_index()
{
$config = array(
//accessKeyを記述
'key' => 'Your Access Key',
//secretAccessKeyを記述
'secret' => 'Your Secret Key'
);
$s3 = S3Client::factory($config);
$buckets= $s3->listBuckets();
foreach ($buckets as $bucket)
{
var_dump($bucket);
}
}
}
取得できるか確認
とりあえずブラウザ側からhttp://XXXXXXXXXX/s3/にアクセスしてみると
以下の配列内にS3のバケット情報が表示されています。
array(XX) {
["ID"]=>
string(64) "XXXXXXX"
["DisplayName"]=>
string(14) "XXXXXXX"
}
array(XX) {
[0]=>
array(2) {
["Name"]=>
string(14) "XXXXXXX"
["CreationDate"]=>
string(24) "XXXXXXX"
}
//以下割愛します
}
string(16) "XXXXXXX"
急ぎ足でFuelPHPでAWS SDK for PHPを使用して、S3のバケットを取得まで試してみました。