配置目录

WeChat 扩展库的配置统一存放在/wechat/config/目录下。
其下目录文件分别代替:

  • api,微信接口地址
  • attribute,微信开发静态配置
  • querier,微信开发动态配置(查询器)

实际开发中,通常只需要修改attribute目录下,对应的配置文件即可;
如果需要使用Db查询数据库,动态加载配置文件的话,只需要修改querier目录下的查询器,返回对应的数据结构即可,
数据结果集为attribute目录下的配置文件返回值。

注意:查询器的返回配置会直接代替静态配置文件,不会合并使用。

动态加载配置

official_account公众号开发为例:
修改/wechat/config/querier/official_account.php为如下代码:

namespace wechat\config\querier;
use wechat\config\querier\AbstractClass;

class official_account extends AbstractClass
{
    /**
     * 查询器入口
     * 
     * @return array
    */
    public function run() {
        // 此处用于查询Db获取动态配置项,返回给SDK代替静态配置加载
        $Db = new \x\Db();
        $list = $Db->name('wechat')->select();
        // 示例字段结构-正常应该是数据库的返回值
        $list = [
            [
                // 标识符
                'driver' => 'default',
                // Appid
                'appid' => 'wxa7e83****0622541',
                // AppSecret
                'appsecret' => '9a1034d435*****d0df5dfde42e13c',
                // 消息加解密方式 1【明文模式】 2【兼容模式,安全模式】
                'token_type' => 1,
                // TOKEN
                'token' => '123456',
                // EncodingAESKey
                'encodingaeskey' => '', 
                // 用户信息返回结果语言版本 zh_CN 简体,zh_TW 繁体,en 英语
                'web_lang' => 'zh_CN',
            ]
        ];
        return $list;
    }
}

切换配置项

WeChat 扩展库是多配置的使用方式,默认使用driver<default的配置项。
也可以在调用阶段,自由切换driver<值。

// 可以实例化时切换
$obj = new \wechat\Wechat('default');
// 也可以在调用扩展库前,使用driver()方法修改
$obj->driver('default')->official();

临时修改配置

WeChat 扩展库也支持临时修改配置项,使用set()方法,会和当前driver<所指向的配置项进行合并操作。

$obj = new \wechat\Wechat();
$obj->set([
    // Appid
    'appid' => 'wxa7e83f****22541',
    // AppSecret
    'appsecret' => '9a1034d435d*****5dfde42e13c',
])->official();

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录