zoukankan      html  css  js  c++  java
  • 掌握Thinkphp3.2.0----自动完成

    自动完成,是在create数据的时候自动执行的一个或多个动作

    自动完成也分为动态和静态两种

    格式:

    //完成规则
    array(
      array(完成字段1,完成规则,[完成条件,附加规则]),
      array(完成字段2,完成规则,[完成条件,附加规则]),
    ......
    );

    完成字段:必填,需要的字段名;
    完成规则:必填,配合附加规则完成;
    完成条件:可选,具体如下:
      1.self::MODEL_INSERT 或 1,新增数据的时候处理(默认) ;
      2.self::MODEL_UPDATE 或 2,更新数据的时候处理;
      3.self::MODEL_BOTH 或 3,所有情况均处理。
    附加规则:可选,配合完成规则使用,包括一下规则:
    规则 说明
      function 函数完成,定义的验证规则是一个函数名
      callback 方法完成,定义的验证规则是当前模型类的一个方法
      field 用其他字段填充,表示填充的内容是一个其他字段的值
      string 字符串(默认)
      ignore 为空则忽略(3.1.2新增)

    1.静态定义

     1 在模型类里预先定义好该模型的自动完成规则,就是静态定义。
     2 class UserModel s extends Model {
     3 //自动完成
     4 protected $_auto =  array(
     5 //自动设置count字段为1
     6 array('count', '1'),
     7 //给密码加密,加密类型为sha1,sha1函数PHP内置
     8 array('user', 'sha1', 3, 'function'),
     9 );
    10 }
    11 为了测试方便,我们可以直接通过模拟提交 POST:
    12 //控制器create()方法自动调用验证
    13 $user = D('User');
    14 $data['user'] = '蜡笔小新';
    15 if ($user->create($data)) {
    16 $user->add();
    17 }
    18 //string,自动设置count字段为1
    19 array('count', '1'),
    20 //function,给密码加密,加密类型为sha1,sha1函数PHP内置
    21 array('user', 'sha1', 3, 'function'),
    22 //把email字段的值填充到user字段冲去
    23 array('user', 'email', 3, 'field'),
    24 //callback,给用户名加前缀
    25 array('user', 'updateUser', 3, 'callback', '_'),
    26 //回调函数
    27 protected function updateUser($str, $prefix) {
    28  return $prefix.$str;
    29 }
    30 //ignore,用于修改时密码留空时,忽略修改
    31 array('pass', '', 2, 'ignore'),

     2.动态完成

    1 //动态完成
    2 $rules =  array(
    3 array('user', 'sha1', 3, 'function'),
    4 );
    5 $user = M('User');
    6 $data['user'] = '蜡笔小新';
    7 f if ($user->auto($rules)->create($data)) {
    8 $user->add();
    9 }
  • 相关阅读:
    纯css3实现的超炫checkbox复选框和radio单选框
    css3和jquery实现的可折叠导航菜单(适合手机网页)
    HTML5 Canvas 梦幻的文字飞扬动画教程
    纯css3实现的圆形旋转分享按钮
    纯css3实现的创意图片放大镜
    java.lang.ClassCastException: android.widget.RelativeLayout cannot be cast to android.widget.TextView
    python的range函数与切片操作符
    python简单基础代码
    android笔记 : Content provider内容提供器
    android笔记:Service
  • 原文地址:https://www.cnblogs.com/zhengfengyun/p/6160805.html
Copyright © 2011-2022 走看看