常用常量:
/subject/yhccyftx.html 当前请求地址
__MODULE__ 当前分组
__CONTROLLER__ 当前控制器
/index/article 当前方法
ThinkPHP开发模式
ThinkPHP有两种模式: 开发模式(调试模式), 生成模式(运行模式).
define('APP_DEBUG', true); //调试模式
define('APP_DEBUG', false);//生产模式
配置项 'TMPL_ENGINE_TYPE' => 'Smarty' //把thinkphp引擎改为smarty引擎
空操作
系统在找不到请求的方法的时候,会定位到 _empty() 方法处理,利用这个机制,我们可以对用户请求不存在的
操作进行统一的处理
空控制器
当系统请求不到控制器,会定位到空控制器上EmptyController
跨控制器调用
1. $vc=new Controller() $vc->method() 直接实例控制器调用
2.A() 实例化调用 $obj=A('Manager') $obj->managertest1();
3.R()实例化调用 R()和A()基本一样,唯一不同的是R()函数在实例化控制器的时候把操作方法一起传递过去,省略了方法的调用. R('Manager/managertest1');
TP框架下的配置文件
主配置: ThinkPHP/conf/convention.php
应用配置: Application/common/conf/config.php
调试配置: Application/Common/conf/debug.php
模块配置: Application/Home/conf/Config.php
加载顺序
主配置->应用配置->调试配置->模块配置
优先级
模块配置>调试配置>应用配置>主配置 (尽量不要去修改主配置)
C('配置的名称') 用来获取配置信息.
对表的操作
增加: M('表名')->add($data);
删除: M('表名')->delete($id);
更新: M('表名')->save($data);
查询: M('表名')->select();
循环操作
list为assign传入的数据 id为一个标识,可以使用vo.goods_name进行调用
<volist name='list' id='vo'>
需要循环创建的代码
</volist>
普通查询
1. VC中的代码,查询数据库数据
2. html模板中的代码,在模板中循环取出. 使用volist
3.获取一条记录
$list = M('goods')->find();
条件查询
where和having的区别
1. where后面跟的字段表中必须有,having后面跟的字段必须在数据集中有
2.select *from 表 where条件 group by 分组 having条件
动态查询
getby+字段名
聚合函数
添加数据
1. 通过关联数据的方法添加
2.通过AR(active record)方式来添加
数据修改
删除数据
M('goods')->delete(8);
M('goods')->delete('9,10');
M('goods')->where('goods_name='apple'')->delete();
网友评论