Shanghai WTO Forum

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4770|回复: 0

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

[复制链接]
发表于 2021-4-27 23:00:45 | 显示全部楼层 |阅读模式
作者:Suifeng
写日志
因为某些原因 现在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获取模块的配置信息
M
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差不多的用法 只是这里更高级一点点

受限于篇幅的长度,不会进行大量的示例验证 只会简单给出一个简单示例 具体到某一个函数都是有多种用法的 只能靠自己的积累和试验了。并不是这里给出的这几种用法 切记灵活运用事半功倍。
码字所限有的地方中英文切换不及时或者干脆没有符号 请注意别直接复制使用。
第一期就先这样了 有时间更新第二期。
您需要登录后才可以回帖 登录 | 注册

本版积分规则


QQ|Archiver|mobile|The little black house|Shanghai WTO Net ( 沪ICP备10034107号-3 )

GMT+8, 2024-3-28 17:33

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表