本帖最后由 初音家二小姐 于 2016-2-18 17:06 编辑
前段时间因为qq接口qqconnect的问题尝试把qq接口更新到connect1.8,从结果来看移植成功了但是仍然频繁报这种错误(1013 Failed to fetch tmp_token)无法解决这个问题
作为该修改的副产物,如何让discuz x2支持discuz x2.5+的插件就成了我们需要观察的目标。其中最明显的差距是在db调用上。
discuz x2.5+以后对db的调用方法类似这样C::t('table_name')->fetch(100);其中100是primarykey
而原有的discuz x2则是用DB类下的静态方法,因此需要简略hack一下让他支持
这个分为两部分,1是引入新的class,这部分可以单独放出一个文件,方便在用的时候现require。考虑到这个行为只是强行让他支持dzx2.5+的写法,平时不应该加载。
2是class_core的db支持,有少量在discuz x2.5+中出现的DB类下方法没有,可以直接添加
3是对这两者的适应性改造。像在新的class里,class_table要求每个表都写一个类支持他,提供如什么键是主键的这种写死在code里面。需要对其小改一下,例如主键手动获取。
4对mysql 需要支持php7的mysqli_lib