核心 common.php 二次开发常用函数介绍(第一期常用的22个函数)
261
15

1写日志

因为某些原因 现在x1用不了TP的日志功能,但是官方也提供了一个写日志功能。

那就是 logs(); 比如logs($aa);  会在根目录生成一个log.txt 共有三个参数 基本不用改 直接这样写就ok

2自定义通用状态助手 

get_status 这个是我最喜欢的功能。

例如: {:get_status($rs['pay_status'],[0=>'未付款',1=>'已付款',"2"=>'<b style="color: #F80206">交易完成</b>',"3"=>'退款中',"4"=>'拒绝退款',"5"=>'等待打款',"6"=>'退款完成'])}

利用好了事半功倍。

3取得汉字的拼音

get_pinyin('你好'); 全拼

get_pinyin('你好','first'); 首字母

get_pinyin('你好','one'); 第一个字的首字母

4强制微信登录

weixin_login(); 一般需要登录的地方都希望手机版能微信强制登录免去后续的操作步骤 这个就有用了。

用法:

if(empty($this->user)&&in_weixin()&&config('webdb.weixin_type')==3){

weixin_login();

}

微信端访问的话如果没有登录就可以强制登录。

5获取网址二维码

get_qrcode(网址) 这个一般配合 get_url('location') 获取当前网址使用。

例如:get_qrcode(get_url('location'))

6获取其他模块中模型的操作方法

get_model_class($dirname,$type);

例如任意位置获取购物车数据:get_model_class('mall','car')->getlist(0,$this->user['uid']); 

也就是 第一个参数是目录名 第二个是模型的类名 后面就是类中的调用方法

我个人比较习惯用 \app\mall\model\Car::getlist(0,$this->user['uid']);  这样的方式

7清除HTM代码

del_html($aa);

8获取频道的模型配置参数

model_config 

共有2个参数 第一个参数是模型id 一个是频道目录名

例如:model_config(1,'cms'); 获取cms模块下模型为1的配置

9获取模块的配置信息

2个参数 第一个参数为指定查找的范围可以是模块id和目录名 第二个是目录名可以忽略

例如:M('cms'); 输入目录名的方式第二项可以忽略 你也可以改为M(1); 

10获取各种网址

get_url

共有2个参数 第一个参数是获取的地址类型 第二个参数为数组

例如:get_url('member') 

这个用的最多了 有N个用法 直接搜索核心文件查看这里就不复制黏贴了

11给管理员发系统提醒通知

send_admin_msg

例如:send_admin_msg("标题","内容"); 这样就全部给管理员组的管理员发送站内信和微信消息

12检测关注了公众号没有

wx_check_attention

例如:

if(empty(wx_check_attention($this->user['weixin_api'])!==true ){

            $imgshow = '<img style="max-width:50%;" src="'.tempdir($this->webdb['mp_code_img']).'">';

            $this->error("请先关注公众号才可以提现,关注公众号方便接收提现申请动态!<br>$imgshow");

        }

13访问远程数据

这个比较简单 http_curl($url); 即可 用的比较多

14取得文件的显示路径

tempdir

用过V7的都知道这个,就是格式化路径的 用法都知道就不叙述了

{$rs.picurl|tempdir}

tempdir($rs.picurl);

15截取多少个字符

get_word 

用过V7的更知道了 用法一致 {$rs.title|get_word=100}

16数据库操作方法,可以执行原生数据库语句

query($sql,$array=[],$cache_time=0)

这个用的也比较多。二次开发中比较实用。

用法直接搜索核心类就可以看明白。


17获取插件配置参数

plugins_config

plugins_config(); 获取所有插件的配置

plugins_config(1); 获取id为1的插件配置

plugins_config('weixin'); 获取安装目录为weixin的配置

你也可以根据这个特性判断插件是否安装

例如:{if plugins_config('weixin')} 安装了后的代码{/if}

18获取系统安装的频道模块信息

modules_config

获取系统的模块配置。用法和插件的用法一模一样 没有任何区别 

19判断数据表是否存在

 is_table()

简单的说就是判断这个表存在不存在

例如: is_table('cms_category')

20判断表内字段存在不存在

table_field

例如:

 if (!table_field('cms_category','aabb')) {

   判断    qb_cms_category 表中存在 aabb 字段没有 如果没有这里就可以执行操作            

}

21把数据库取出的对象数据转成数组

getArray

用法:getArray($array)

注意这里是从数据库读取的对象转数组 可不是全部对象都可以转数组的

22获取数据

get_post

例如:get_post();全部  get_post('get'); get数据 get_post(post); post数据 get_post(route); route 数据

和input差不多的用法 只是这里更高级一点点


受限于篇幅的长度,不会进行大量的示例验证 只会简单给出一个简单示例 具体到某一个函数都是有多种用法的 只能靠自己的积累和试验了。并不是这里给出的这几种用法 切记灵活运用事半功倍。

码字所限有的地方中英文切换不及时或者干脆没有符号 请注意别直接复制使用。

第一期就先这样了 有时间更新第二期。

9
打赏
收藏
点击回复
      全部留言
  • 15
  • wr1688 普通粉丝 消费:310.87元 26天前 08:14
    华为
    2楼
    解决大问题了
  • 石头 风格开发者 消费:1901.32元 1个月前 22:113楼

    童鞋们一起过来学习

  • admin 超级管理员 消费:2.44元 1个月前 20:444楼

    做二次开发.很好的教程

  • weiqian 普通粉丝 消费:0.7元 1个月前 20:435楼

    感谢分享. 每天学习一点.进步一点

  • php1 普通粉丝 消费:508.6元 1个月前 19:246楼

    必须的,多发一些学习贴a扫盲,这个不能喷

  • aria 普通粉丝 消费:188.58元 1个月前 18:287楼

    get_word 在附近圈子中怎么加入这个?附近圈子是文件是('<div class="cnt">'+ rs._zone + ' ' + rs._street + ' ' + rs.content + '</div>'+)这样的,

  • selon 程序开发者 消费:1403.01元 1个月前 18:228楼

    这个必须收藏一下

  • aria 普通粉丝 消费:188.58元 1个月前 17:549楼
    太好了
  • 银杏114在线 普通粉丝 消费:2257.81元 1个月前 17:0910楼

    必须竖个大拇指。

  • torylf 程序开发者 消费:24.43元 1个月前 16:4711楼

    这么多字打出来不容易,赞个

    需要奋斗 消费:0元 1个月前
    我知道你也是大神,你也要写一些好东西才行啊
    torylf 消费:24.43元 1个月前
    我懒啊,这么热的天,我静静的做观众就好了
  • snscn 普通粉丝 消费:1862.35元 1个月前 15:41
    其他手机
    3楼
    好帖,收藏学习中。。。
  • 天外来客 风格开发者 消费:41.5元 1个月前 15:344楼

     

更多回复
Suifeng开发交流圈
      圈内贴子1527
  • 圈子成员159
本圈子内的新贴

热门分类
推荐内容
扫一扫访问手机版