Maison >développement back-end >tutoriel php >Partage de cas d'intégration d'Alibaba Cloud oss avec yii2.0 (photo)
Cet article présente principalement l'exemple de code de Yii2.0 intégrant Alibaba Cloud oss. L'éditeur pense qu'il est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un coup d'œil.
L'idée principale est d'abord d'utiliser composer pour télécharger le SDK PHP d'Alibaba Cloud OSS, puis de personnaliser un composant pour appeler Alibaba Cloud OSS globalement.
Les étapes spécifiques sont les suivantes :
1 Allez sur le site officiel d'Alibaba Cloud pour trouver le SDK php,
2 Utilisez Composer pour l'installer, entrez dans le champ répertoire du projet (basic/) :
composer require aliyuncs/oss-sdk-php
Une fois l'installation terminée, comme indiqué ci-dessous
3 Composants personnalisés :
3.1 Dans le répertoire de base, créez le dossier des composants,
3.2 Créez Aliyunoss.php dans le répertoire des composants
La référence du code est la suivante :
<?php namespace app\components; use Yii; use yii\base\Component; use OSS\OssClient; class Aliyunoss extends Component { public static $oss; public function __construct() { parent::__construct(); $accessKeyId = Yii::$app->params['oss']['accessKeyId']; //获取阿里云oss的accessKeyId $accessKeySecret = Yii::$app->params['oss']['accessKeySecret']; //获取阿里云oss的accessKeySecret $endpoint = Yii::$app->params['oss']['endPoint']; //获取阿里云oss的endPoint self::$oss = new OssClient($accessKeyId, $accessKeySecret, $endpoint); //实例化OssClient对象 } /** * 使用阿里云oss上传文件 * @param $object 保存到阿里云oss的文件名 * @param $filepath 文件在本地的绝对路径 * @return bool 上传是否成功 */ public function upload($object, $filepath) { $res = false; $bucket = Yii::$app->params['oss']['bucket']; //获取阿里云oss的bucket if (self::$oss->uploadFile($bucket, $object, $filepath)) { //调用uploadFile方法把服务器文件上传到阿里云oss $res = true; } return $res; } /** * 删除指定文件 * @param $object 被删除的文件名 * @return bool 删除是否成功 */ public function delete($object) { $res = false; $bucket = Yii::$app->params['oss']['bucket']; //获取阿里云oss的bucket if (self::$oss->deleteObject($bucket, $object)){ //调用deleteObject方法把服务器文件上传到阿里云oss $res = true; } return $res; } public function test(){ echo 123; echo "success"; } } ?>
3.3 Ajouter un tableau dans basic/config/params.php pour stocker les informations de configuration d'Alibaba Cloud OSS
La référence du code est la suivante :
'oss' =>[ 'accessKeyId'=>'您的accessKeyId', 'accessKeySecret'=>'您的accessKeySecret', 'bucket' => '您的bucket', 'endPoint' => '您的endPoint', ]
3.4 Ajouter une configuration de composant dans basic/config/main.php
'Aliyunoss' => [ 'class' => 'app\components\Aliyunoss', ],
3.5 Essayez-le dans le contrôleur Appel
Yii::$app->Aliyunoss->test();
3.6 Capture d'écran d'un appel réussi :
À ce stade, Alibaba Cloud a été introduit avec succès dans le framework yii2. L’appel de la méthode upload et l’appel de la méthode delete sont les mêmes que dans l’exemple. Vous pouvez également ajouter de nouvelles fonctions au composant Aliyunoss basées sur les méthodes d'OssClient. D'une manière générale, l'utilisation des fonctions de téléchargement et de suppression peut répondre à la plupart des besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!