1、模块访问
使用:域名/入口文件/模块/控制器/方法
2、自动生成模块
在入口文件index.php中,定义常量define('BIND_MODULE','Admin');
3、comment目录存放公共函数,function.php,thinkphp系统会自动加载,存放在模块中则,在当前模块使用,存放在项目目录的中则在整个项目使用。
4、实例化类,实例化基础类使用,M(控制器名字),实例化自定义类,D(控制器名称或者表名)
5、i(大写)用于接收提交的各种数据 I('接收数据类型',‘【默认值】’,‘【过滤函数名字】’,【额外数据】);例如:I('POST.',' ','int')
6、模板遍历数据,<foreach name='datalists' item='vo' key=key>{$vo.title}</foreach>
或者<volist name='data' id='vo' key='key'> 循环体</volist>
其中key表示索引下标的值
7、U(‘网址地址’),用在前台或后台,格式化,网址信息
8、__PUBLIC__指向,根目录下Public文件夹,存放css、js、images等文件
9、__APP__指向项目的路径,__RUL__指向当前模块
10、验证码类:
生成验证码
下面是最简单的方式生成验证码:
- $Verify = new \Think\Verify();
- $Verify->entry();
实例化传入参数:
- $config = array(
- 'fontSize' => 30, // 验证码字体大小
- 'length' => 3, // 验证码位数
- 'useNoise' => false, // 关闭验证码杂点
- );
- $Verify = new \Think\Verify($config);
- $Verify->entry();
或者采用动态设置的方式,如:
- $Verify = new \Think\Verify();
- $Verify->fontSize = 30;
- $Verify->length = 3;
- $Verify->useNoise = false;
- $Verify->entry();
验证码检测
可以用Think\Verify类的
check
方法检测验证码的输入是否正确,例如,下面是封装的一个验证码检测的函数:
- // 检测输入的验证码是否正确,$code为用户输入的验证码字符串
- function check_verify($code, $id = ''){
- $verify = new \Think\Verify();
- return $verify->check($code, $id);
- }
11、模糊查询,$map['字段名字']=array('like',"匹配符");例如$map['id']= array('like',"%3%");
12、全部删除,$map['id'] = array('in',数组),代表要删除的字段是否存在数组中
13.layer,弹出层,layer.msg(‘提示文字’,{time:2000},function());
14、分页类:
计算数据总条数-》设置每页显示的条数-》实例化分页类-》显示页脚-》limit查询数据-》分配数据
15、关联查询
一对一关联
:
ONE_TO_ONE
,包括
HAS_ONE
和
BELONGS_TO
- 一对多关联 :ONE_TO_MANY,包括HAS_MANY 和 BELONGS_TO
- 多对多关联 :MANY_TO_MANY
模型类必须继承
Think\Model\RelationModel
类,关联定义的格式是:
- namespace Home\Model;
- use Think\Model\RelationModel;
- class UserModel extends RelationModel{
- protected $_link = array(
- '关联1' => array(
- '关联属性1' => '定义',
- '关联属性N' => '定义',
- ),
- '关联2' => array(
- '关联属性1' => '定义',
- '关联属性N' => '定义',
- ),
- '关联3' => HAS_ONE, // 快捷定义
- ...
- );
- }
16、插入数据add(),更新数据save(),删除数据delete(),查询一条数据find(),查询多条数据select();
17、查询获取指定字段field(字段1,字段2),获取指定字段getField(字段)
18、上传类
实例化上传类think/upload
19、设置session(‘session名字’,‘session值’)获取session(session名字)
20布局继承
第一步,先写好comment。mthl,吧主体内容使用<blockl name="main">主体内容</block>
第二部在字模板中继承,<extends name="父模板的路径例如:comment,不需要写后缀">
要显示的替换的位置<blockl name="main">替换的内容</block>
注意name属性的值,名字必须是一样的