thinkphp手记

来源:互联网 发布:淘宝怎样退出7天退换货 编辑:程序博客网 时间:2024/06/05 09:18

I方法与$this->_get()

I方法完成过滤(变量类型.变量名,默认值,过滤方法)$this->_get(变量名,过滤方法,默认值)

文本编辑器编码错误

在文本编辑器中编写代码的时候,最后要保存成ANSI编码。如果使用dw,aptana就无需手动修改。否则会是编写的代码执行时出现未知错误。如验证码图片无法显示

$_auto

$_auto属性是由多个填充因子组成的数组,填充因子定义格式: array(填充字段,填充内容,填充条件,附加规则)填充字段就是需要进行处理的表单字段,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等。

填充条件包括:

1 Model:: MODEL_INSERT 或者1 新增数据的时候处理(默认)

2 Model:: MODEL_UPDATE 或者2更新数据的时候处理3 Model:: MODEL_BOTH 或者

3所有情况都进行处理

附加规则包括:

1 function :使用函数,表示填充的内容是一个函数名

2 callback :回调方法 ,表示填充的内容是一个当前模型的方法

3 field :用其它字段填充,表示填充的内容是一个其他字段的值

4 string :字符串(默认方式)

数组因子: array(填充字段,填充内容,填充条件,附加规则) 

填充条件包括: 

ADD 新增数据的时候处理(默认方式) 

Update 更新数据的时候处理 

ALL 所有情况下都进行处理 

public $_auto = array( array('password','pwdHash',self::MODEL_BOTH,'callback'), 

array('create_time','time',self::MODEL_INSERT,'function'), 

array('update_time','time',self::MODEL_UPDATE,'function'), );



config.php

项目目录下的config.php中定义的变量为全局变量。在使用session时,应在config中先定义名称。

select

$data=$m->select();返回二维数组$data[0]['属性']

$_validate

Model类里面定义$_validate属性,是由多个验证因子组成的数组,支持的验证因子格式:
格式:array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
验证字段:需要验证的表单字段名称,这个字段不一定是数据库字段,也可以是表单的一些辅助字段,例如确认密码和验证码等等。(必须)
验证规则: 要进行验证的规则,需要结合附加规则(必须)
提示信息: 用于验证失败后的提示信息定义(必须)
验证条件:(可选)
Model::EXISTS_TO_VAILIDATE 或者0 存在字段就验证 (默认)
Model::MUST_TO_VALIDATE 或者1 必须验证
Model::VALUE_TO_VAILIDATE或者2 值不为空的时候验证
附加规则: 配合验证规则使用(可选),包括:
 regex 使用正则进行验证,表示前面定义的验证规则是一个正则表达式(默认)
 function 使用函数验证,前面定义的验证规则是一个函数名
 callback 使用方法验证,前面定义的验证规则是当前Model类的一个方法
 confirm 验证表单中的两个字段是否相同,前面定义的验证规则是一个字段名
 equal 验证是否等于某个值,该值由前面的验证规则定义
 in 验证是否在某个范围内,前面定义的验证规则必须是一个数组
 unique 验证是否唯一,系统会根据字段目前的值查询数据库来判断是否存在相同的值 系统还内置了一些常用正则验证的规则,可以直接使用,包括:require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字,这些验证规则可以直接使用。

this变量

控制器要传递变量给模板时候,只要在控制器方法里面定义任意多个变量,然后后面加上一句:$this->display(),方法内的全部变量都能自动传递到模板里面了。$this 在php中是指当前对象的实例本身->是Php的特定符号,用于连接对象和对象的属性/方法$this->_list() 就是指调用该对象的_list()方法。对象的_list()方法不一定在当前类内声明,也许是在当前类的父类中声明的。