Maison  >  Article  >  développement back-end  >  Exemple de code du système d'exploitation yii2.0

Exemple de code du système d'exploitation yii2.0

巴扎黑
巴扎黑original
2017-09-21 10:11:211522parcourir

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[&#39;oss&#39;][&#39;accessKeyId&#39;];         //获取阿里云oss的accessKeyId
    $accessKeySecret = Yii::$app->params[&#39;oss&#39;][&#39;accessKeySecret&#39;];     //获取阿里云oss的accessKeySecret
    $endpoint = Yii::$app->params[&#39;oss&#39;][&#39;endPoint&#39;];            //获取阿里云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[&#39;oss&#39;][&#39;bucket&#39;];        //获取阿里云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[&#39;oss&#39;][&#39;bucket&#39;];  //获取阿里云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 :


&#39;oss&#39; =>[
    &#39;accessKeyId&#39;=>&#39;您的accessKeyId&#39;,
    &#39;accessKeySecret&#39;=>&#39;您的accessKeySecret&#39;,
    &#39;bucket&#39; => &#39;您的bucket&#39;,
    &#39;endPoint&#39; => &#39;您的endPoint&#39;,
  ]

3.4 Ajouter un dans basic/config/main.php Configuration du composant


&#39;Aliyunoss&#39; => [
  &#39;class&#39; => &#39;app\components\Aliyunoss&#39;,
],

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn