天下无坑

天下无坑


DB_NAME.base.php

概述

Z-PHP框架通过DB_NAME.base.php配置数据库的字段数据验证方法,数据库操作成功后的回调方法.

文件存放位置:
COMMON/base/DB_NAME.base.php(/common/目录下)
APP/common/base/DB_NAME.base.php(app的版本目录下)
// APP覆盖COMMON

文件结构

<?php
return[
    'TB_NAME'=>[
        'prikey'=>'id',//主键字段名
        'columns'=>['id','uid','regtime','status'],//表的字段名
        'valid'=>[],//字段数据验证规则
        'call'=>[] //数据库操作成功后的回调方法
    ]
]

valid 数组

  • valid的结构

    [
    '!'=>2, //验证模式
    'COLUMN_NAME'=>[
        'when'=>'both|insert|update' //何时验证
        'must'=>null|true, //是否继续验证
        'notnull'=>'账号不能空',
        'unique'=>'数据已存在',
        'length'=>['value'=>[6,16],'msg'=>'长度不合法'],
        'preg'=>['value'=>'/^1[3578]\d{9}$/','msg'=>'手机不合法'],
        'number'=>'不是数字',
        'ip'=>'ip不合法',
        'url'=>'网址不合法',
        'email'=>'邮箱地址不合法',
        'phone'=>'手机号码不合法',
        'int'=>['value'=>[1,16],'msg'=>'整型不符合范围'],
        'filter'=>['value'=>'FILETER_VALID','msg'=>'数据不合法'],
        function($val,$data,$where){ //ANONYMOUS_fUNCTION
            return $val === 1 ? 0 : '错误提示';
            //通过返回0,错误返回文字信息
        }
    ],
    ...
    ]
  • valid键名说明
键名 值类型 默认 取值/说明
! int 1 1:某一个条件不满足时就返回,<br>2:某一个字段不满足时返回,<br>null''或其它:验证完全部字段后返回
COLUMN_NAME array [] 字段验证规则,格式详见下表
call array [] 数据库操作后执行的回调函数,格式详见下表
  • COLUMN_NAME字段验证方法说明
键名(方法名) 值类型 候选值 说明
when string 'both','insert','update' 何时验证 无默认值
must null,boolean null,true 必须验证?
notnull errmsg any 不能为空
unique errmsg any 唯一,值在表中是否已存在
number errmsg any 数字
ip errmsg any ip
url errmsg any 网址
email errmsg any 邮箱地址
phone errmsg any 手机号码
preg array [<br>'value'=>'/^8\d{7}$/',<br>'msg'=>'msg'<br>] 正则验证
length array [<br>'value'=>6,<br>'msg'=>'msg'<br>] <br>OR<br> [<br>'value'=>[6,16],<br>'msg'=>'msg'<br>] 长度不大于或不超范围
int array [<br>'value'=>6,<br>'msg'=>'msg'<br>] <br>OR<br> [<br>'value'=>[6,16],<br>'msg'=>'msg'<br>] 不超范围的整数,(默认最小大于0)
filter array [FILTER过滤器名](https://www.runoob.com/php/php-ref-filter.html "过滤器名") PHP过滤器测试
ANONYMOUS function function($val,$data,$where){<br>return $val === 1 ? 0 : '错误提示';<br>} 匿名函数验证,通过返回0,错误返回文字信息

call 数组

  • call键名列表
键名(方法名) 说明
insert 执行insert操作成功后执行
update 执行update操作成功后执行
ifUpdate 执行ifUpdate操作成功后执行
delete 执行delete操作成功后执行
  • call值格式
//函数格式
'update'=&gt;function($params, $db){
  if(empty($params['data']) || !$uid = $db-&gt;getWhereByKey('uid')) return false;
  \lib\state\user::setInfoCache('member', $uid, $params['data']);
}

//$params参数
//$params = [
//'result' =&gt; $result,
//'where' =&gt; $this-&gt;DB_WHERE,
//'sql' =&gt; $sql, 
//'bind' =&gt; $this-&gt;DB_BIND
//]

//$db参数 db实例对象

页面列表

ITEM_HTML