自动加载

本项目使用composer安装,因此要使用本SDK,您只需要保证您的项目引导文件有下面这行代码:

  1. require 'vendor/autoload.php';

如果您通过github或者gitee自行下载的代码,请自己解决引用问题。即使您的项目现在没有使用composer,您在使用本SDK的时候安装composer也是可以的!!!

使用功能

您只需要在您要连接物联网平台的程序中,使用use引入相应的类库,即可直接操作相应的API。
例如:使用鉴权功能

  1. <?php
  2. namespace app\index\controller;
  3. use iotyun\huaweiiot\Auth;
  4. class Index
  5. {
  6. public function index()
  7. {
  8. $Authorization = array(
  9. 'platformIp' => '平台IP或者域名',
  10. 'platformPort' => '平台端口',
  11. 'appId' => '应用appId',
  12. 'secret' => '应用secret'
  13. );
  14. $auth = Auth::login($Authorization);
  15. }
  16. }

传入参数

每项功能的操作,都只需要传入一个数组,数组的定义请查阅API文档。

为什么每个类库都要求传入platformIp与platformPort?

platformIp是物联网平台的ip地址或者域名,platformPort是物联网平台的端口,在您定义了物联网应用之后,这两个参数一般是不会变的,通常情况下我们会使用一个配置文件来配置这两个参数。但是我们考虑到每个用户使用的框架不一样、应用要操作的物联网平台数量也不一样,如果使用配置文件来配置这两个参数,会带来极大的不便。
采用动态传入的方式,在用户开发单物联网平台对接的项目的时候,可以将platformIp与platformPort写入应用的配置文件,然后生成原始的传入参数数组。下面是一个各种配置文件导入的例子:

  1. /**
  2. * 解析配置文件
  3. * @access public
  4. * @param string $file 配置文件名
  5. * @param string $name 一级配置名
  6. * @return array
  7. */
  8. public static function config() {
  9. $type = pathinfo($file, PATHINFO_EXTENSION);
  10. $config = [];
  11. switch ($type) {
  12. case 'php':
  13. $config = include $file;
  14. break;
  15. case 'yml':
  16. case 'yaml':
  17. if (function_exists('yaml_parse_file')) {
  18. $config = yaml_parse_file($file);
  19. }
  20. break;
  21. case 'ini':
  22. $config = parse_ini_file($file, true, INI_SCANNER_TYPED) ?: [];
  23. break;
  24. case 'json':
  25. $config = json_decode(file_get_contents($file), true);
  26. break;
  27. }
  28. return is_array($config) ? $config : [];
  29. }

如果您的配置文件如下:

  1. <?php
  2. return [
  3. 'platformIp' => '物联网平台服务器地址或者域名',
  4. 'platformPort' => '物联网平台服务器端口',
  5. 'appId' => '物联网平台应用appId',
  6. 'secret' => '物联网平台应用secret',
  7. ];

那么您在就可以这样使用了:

  1. <?php
  2. namespace app\index\controller;
  3. use iotyun\huaweiiot\Auth;
  4. class Index
  5. {
  6. public function index()
  7. {
  8. $Authorization = self::config;
  9. $auth = Auth::login($Authorization);
  10. }
  11. }

如果您的应用程序中,需要连接多个物联网平台,那么您可以把您的这些信息存入您的数据库,要访问某一个平台的时候,直接调用响应物联网平台的信息生成数组即可。