李炎恢ThinkPHP讲义ThinkPHP--自动完成[14]

C层:

public function login_two(){
        $person =D(‘Person‘);
        $data[‘user_id‘] = ‘28‘;
        $data[‘name‘] = ‘‘;
        $data[‘password‘] = ‘111111‘;
        //$data[‘repassword‘] = ‘12345‘;
        if($person->create($data)){
            $person->save();
        }else {
            var_dump($person->getError());
        }
    }

M层:

//自动完成
    protected $_auto =array(
        //string类型 可省略后面两个
        array(‘remark‘,‘备注‘),
        //function,给密码加密,加密类型为sha1,sha1函数PHP内置(sha1是数字’1‘不是字母’l‘)
        array(‘password‘, ‘sha1‘, 3, ‘function‘),
        //把email字段的值填充到user字段
        array(‘remark‘, ‘name‘, 3, ‘field‘),
        //callback,自定义方法如:给用户名加前缀
        array(‘name‘,‘updatename‘,3,‘callback‘,‘hotel_‘),
        //ignore,用于修改时密码留空时,忽略修改
        array(‘name‘, ‘‘, 2, ‘ignore‘),
    );
    //自定义回调函数
        protected function updatename($str,$prefix){
            return $prefix.$str;
        }

自动完成的意义(不明觉厉。。。):

自动完成是ThinkPHP提供用来完成数据自动处理和过滤的方法,使用create方法创建数据对象的时候会自动完成数据处理。

因此,在ThinkPHP使用create方法来创建数据对象是更加安全的方式,而不是直接通过add或者save方法实现数据写入。

时间: 2024-08-28 21:43:37

李炎恢ThinkPHP讲义ThinkPHP--自动完成[14]的相关文章

李炎恢ThinkPHP讲义ThinkPHP--自动验证[上][12]

控制层IndexController <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ //$food = M('food'); //两个表联合查询 //var_dump($food->field('a.food_id,b.user_id')->table('__FOOD__ a, __PERS

李炎恢PHP笔记

Print Echo print 输出 转型 $sum=0; $total=(float)$sum Isset()   unset()判断一个变量是否存在 $echo intval$sum 浮点型 Define(“total”,100); 常量一旦定义就不可更改 判断句 <?php If ($userAge>14){ Echo’内容’:} ?> <?php If ($userAge>14){ Echo’内容’:} Else{echo ‘wufawutian’}; ?>

李炎恢PHP培训视频教程

李炎恢老师倾心制作,史上最通俗易懂的PHP高端培训教程 课程讲师:李炎恢 适合人群:初级 课时数量:300+课时 用到技术:PHP&MySQL,Smarty模板引擎,PDO,PHP ShopEx框架,ThinkPHP 涉及项目:多用户留言版系统,CMS内容管理系统,大型在线商城系统,微博系统全程实录 咨询qq:1840215592 李炎恢老师倾心制作,史上最通俗易懂的PHP高端培训教程 100天用最快的方法掌握最高级的互联 四大阶段,13门课程,四大经典项目实战,PHP热门框架技术一网打尽网技术

【51CTO学院三周年】我已报名参加李炎恢老师的PHP培训班,你们还在等什么!

在51CTO浮浮沉沉也很有5年多了,视频教程也下了不少,但之前的学习都是很零散的 自从51CTO出了学院,就一直坚定的跟着他的脚步(虽然之前都是学的免费的) 转眼间学院也到三周年了,值此三周年之际,也为了响应学院的号召,特写此文,同大家一起分享一下,写的不好敬请谅解 2010年注册的用户 不记得当时是为了找什么资料,发现了51CTO的下载模块,里面的资料真的很多,主要的是大多都是免费的 也因为下载的东西太多,学的太杂,到现在也是没什么成绩 这次报名参加了李炎恢老师的PHP培训班,也是第一次花钱参

李炎恢PHP笔记2

<?php include 'library/tool.library.php'; /表示只包含一次 include_once 'library/tool.library.php';  //     require_once('Demo1.php'); //     require_once('Demo1.php');        //include 如果不存在,就告诉你两个警告,然后继续执行        //require 如果不存在,就直接报错,然后停止执行        require

北风网李炎恢讲师PHP视频教程第一季(附留言本项目)

本教程由北风网的高级讲师李炎恢老师主讲. 注意下载教程要登录纳米盘帐号才能下载 以下是教程目录和纳米盘下载地址(教程上传中会持续更新) 第1章PHP概述(1) http://www.namipan.cc/file/1019852/ 第1章PHP概述(2) http://www.namipan.cc/file/1019882/ 第1文章概述(3) http://www.namipan.cc/file/1019911/

thinkPHP 表单自动验证功能

昨天晚上我们老大叫我弄表单自动验证功能,愁了半天借鉴了好多官网的知识,才出来,诶,总之分享一下我自己的成果吧! thinkphp 在Model基类为我们定义了自动验证的函数和正则表达式,我们只需要在对应的数据库表的模型类下建立$_validate属性就可以了. 1.我们找到Model基类,可以看到 protected $_validate       = array();  // 自动验证定,它是数组类型的,下面在对应数据模型文件定义它: 2. public function CheckVeri

ThinkPhp 3.2 自动验证

自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证. 数据验证有两种方式: 静态方式:在模型类里面通过$_validate属性定义验证规则. 动态方式:使用模型类的validate方法动态创建自动验证规则. 无论是什么方式,验证规则的定义是统一的规则,定义格式为: array( array(验证字段1,验证规则,错误提示,[验证条件,附加规则,验证时间]), array(验证字段2,验证规则,错误提示,[验证条件,附加规则,验证时间]

关于thinkPHP中的自动加载和手动导入

首先先讲自动加载: 前提:你的第三方类库要满足(1)符合命名规范和后缀的类库(2)使用命名空间,命名空间和路径一致的类库 (1)在ThinkPHP目录下的library目录下的每一个子目录都是一个根命名空间 (2)凡是以这些子目录为根命名空间的类都可以自动加载 例如:Org/某某.class.php  Think/某某.class.php  我们在项目中使用的时候 (a)直接 new \Org\某某.class.php既可以获得对象,或者 (b)use Org\某某; 实例化的时候直接new 某