自动加载
本项目使用composer安装,因此要使用本SDK,您只需要保证您的项目引导文件有下面这行代码:
require 'vendor/autoload.php';
如果您通过github或者gitee自行下载的代码,请自己解决引用问题。即使您的项目现在没有使用composer,您在使用本SDK的时候安装composer也是可以的!!!
使用功能
您只需要在您要连接物联网平台的程序中,使用use引入相应的类库,即可直接操作相应的API。
例如:使用鉴权功能
<?phpnamespace app\index\controller;use iotyun\huaweiiot\Auth;class Index{public function index(){$Authorization = array('platformIp' => '平台IP或者域名','platformPort' => '平台端口','appId' => '应用appId','secret' => '应用secret');$auth = Auth::login($Authorization);}}
传入参数
每项功能的操作,都只需要传入一个数组,数组的定义请查阅API文档。
为什么每个类库都要求传入platformIp与platformPort?
platformIp是物联网平台的ip地址或者域名,platformPort是物联网平台的端口,在您定义了物联网应用之后,这两个参数一般是不会变的,通常情况下我们会使用一个配置文件来配置这两个参数。但是我们考虑到每个用户使用的框架不一样、应用要操作的物联网平台数量也不一样,如果使用配置文件来配置这两个参数,会带来极大的不便。
采用动态传入的方式,在用户开发单物联网平台对接的项目的时候,可以将platformIp与platformPort写入应用的配置文件,然后生成原始的传入参数数组。下面是一个各种配置文件导入的例子:
/*** 解析配置文件* @access public* @param string $file 配置文件名* @param string $name 一级配置名* @return array*/public static function config() {$type = pathinfo($file, PATHINFO_EXTENSION);$config = [];switch ($type) {case 'php':$config = include $file;break;case 'yml':case 'yaml':if (function_exists('yaml_parse_file')) {$config = yaml_parse_file($file);}break;case 'ini':$config = parse_ini_file($file, true, INI_SCANNER_TYPED) ?: [];break;case 'json':$config = json_decode(file_get_contents($file), true);break;}return is_array($config) ? $config : [];}
如果您的配置文件如下:
<?phpreturn ['platformIp' => '物联网平台服务器地址或者域名','platformPort' => '物联网平台服务器端口','appId' => '物联网平台应用appId','secret' => '物联网平台应用secret',];
那么您在就可以这样使用了:
<?phpnamespace app\index\controller;use iotyun\huaweiiot\Auth;class Index{public function index(){$Authorization = self::config;$auth = Auth::login($Authorization);}}
如果您的应用程序中,需要连接多个物联网平台,那么您可以把您的这些信息存入您的数据库,要访问某一个平台的时候,直接调用响应物联网平台的信息生成数组即可。
