1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > YII2调用天翼云OOS 对象存储服务

YII2调用天翼云OOS 对象存储服务

时间:2024-04-09 09:19:53

相关推荐

YII2调用天翼云OOS 对象存储服务

前言

本文仅适用于新接触对象存储服务开发的新人,对于非常熟悉对象开发的人来说会发现其实都一样,网上有很多阿里云Oss的开发教程,甚至有composer的安装方法,非常方便,但是如果新人接触对象存储开发,且选用了天翼云的OOS服务,那么希望以下的内容能帮助到你。

准备工作

一、OOS准备

1、可以选择官网开通或联系当地中国电信客户经理开通;

2、注册开通后进入控制台 ->点击打开对象存储服务

3、建议先创建1~2个容器用于测试

4、在访问控制->安全凭证中创建秘钥,具体请认真看说明

二、SDK准备

在/help2/10000101/10001740网页中下载

OOS PHP SDK开发者指南.pdf 感觉这是全网仅有的一份资料了,要认真看看,没有说到的就得参考亚马逊或者阿里的材料了

oos-php-sdk-6.2.0.zip sdk包,基本功能其实都有,就是材料说明太专业了

三、Yii2 框架准备

在/download页面中选择Yii2 的高级应用程序模板下载

开始

1、使用你习惯使用的IDE建立一个php项目;(PhpStorm、Zend Studio、VS Code都可以);

2、把Yii2解压后的放到你的项目中

3、将oos-php-sdk-6.2.0.zip解压后,放到vendor文件夹中

4、在根目录common文件夹下面创建一个components文件夹,并创建一个TianYiYunOos.php文件

代码如下:

<?php/*** Version* ================================================* Project Name:WWFR_Yii* Project Version:1.0* Web: * ================================================* Author: shuoguang chen* Date: /3/28 0:09* ************************************************* Type:components* Name:插件* Info:用于天翼云OOS实现相关功能* *************************************************/namespace common\components;use Yii;use OOS\OosClient;use yii\base\Component;class TianYiYunOos extends Component{public static $oss;public function __construct(){parent::__construct();$accessKeyId = Yii::$app->params['oss']['accessKeyId']; //获取天翼云oos的accessKeyId$accessKeySecret = Yii::$app->params['oss']['accessKeySecret'];//获取天翼云oos的accessKeySecret$endpoint = Yii::$app->params['oss']['endPoint']; //获取天翼云oos的endPointself::$oss = new OosClient($accessKeyId, $accessKeySecret, $endpoint); //实例化OosClient对象}/*** 使用天翼云oos查看容器列表* @return String 列表信息*/public function listBuckets(){$options = array();try {$bucketListInfo = self::$oss->listBuckets($options);} catch (OosException $e) {$e->printException(__FUNCTION__);return;}print(__FUNCTION__ . ": OK" . "\n");$_buckets = array();$bucketList = $bucketListInfo->getBucketList();$owner = $bucketListInfo->getOwner();foreach ($bucketList as $bucket) {$_buckets[] = $bucket->getName();}print_r($_buckets);}public function test(){echo 123;echo "success";}}

5、修改根目录common\config\mian.php文件,添加如下代码:

<?phpreturn ['aliases' => ['@OOS' => '@vendor/tianyiyunoos/oos-php-sdk/src/OOS']];

6、修改根目录common\config\params.php文件,添加如下代码:

'oss' =>['accessKeyId'=>'你的accessKeyId','accessKeySecret'=>'你的accessKeySecret','bucket' => '你建的bucket','endPoint' => 'oos-',]

7、为了测试引入的插件是否正确,可以选择在frontend模块中新建一个控制器,我这里直接建了一个default的控制器,代码如下:

class DefaultController extends Controller{public function actionIndex(){return Yii::$app->TianYiYunOos->listBuckets();}}

如果成功,会打印出如下内容:listBuckets: OK Array ( [0] => sysimg [1] => openimg )

到此,YII2调用天翼云OOS 对象存储服务就成功了,剩下的就是按SDK的例子在TianYiYunOos.php中加入对应功能就可以了,其他功能和安全问题未有考虑,如果今后开发成熟了,我会做一份插件放在github中方便下载和安装。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。