Maison > Article > développement back-end > Exemple de code du système d'exploitation yii2.0
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, l'URL est https://help.aliyun.com/document_detail/32099 .html?spm=5176.87240. 400427.40.s8EbEH
2 Utilisez composer pour installer, entrez dans le 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 Créez le dossier des composants dans le répertoire de base,
3.2 Créez-le dans le répertoire des composants Aliyunoss.php
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 placer 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 un dans basic/config/main.php Configuration du composant
'Aliyunoss' => [ 'class' => 'app\components\Aliyunoss', ],
3.5 Essayez d'appeler
Yii::$app->Aliyunoss->test();
3.6 Capture d'écran d'un appel réussi :
À ce stade, Alibaba Cloud oss 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!