thinkphp 总结 转,thinkphp总结 用thinkphp做过几个项目后,感觉这个框架蛮不错的,很适合自己的逻辑习惯,开发起来也快捷,呵呵, 总结了一些项目中常用的东东,希望对初学tp的朋友有所帮助!
约定:
如:
定义控制器类
记录的修改:
记录查询
$user->getdbfields() //获取当前数据字段
$model = new model() // 实例化一个 model 对象 没有对应任何数据表
$objrs = $model->query(select * from think_userwhere status=1) //自定义查询
模板:
$this->assign('name',$value); //在 action 类里面使用assign 方法对模板变量赋值,无论何种变量类型都统一使用 assign 赋值
$this->display() // 输出模版文件
批量赋值
模板标签:
{ } 或 {// 注释内容 } //模板注释
为了方便模板定义,无论输出的模板变量是数组还是对象,都可以用下列统一方式输出:
使用函数:
系统变量
快捷输出
包含外部文件
循环输出
模版赋值:
模版定义:
注意 name 和 id 表示的含义
// 输出偶数记录
// 输出 key
//子循环输出
switch 标签
比较标签
if标签
c操作
a操作
d操作
s操作
f操作
(in parameter1 integer)
begin
declare variable1 char(10);
if parameter1 = 17 then
set variable1 = 'birds';
else
set variable1 = 'beasts';
end if;
insert into table1 values (variable1);
end
thinkphp系统常量
think_path // thinkphp系统目录
config_path //项目配置文件目录
memory_limit_on // 是否有内存使用限制
预定义常量
上传概述
基本上传功能
批量上传
需要注意,uploadfile上传类对多文件上传并不是采用
ajax文件上传
自动生成缩略图
设置后系统在上传后会自动生成相同格式的缩略图。系统默认的缩略图路径是上传文件所在目录,并且在文件中后面添加_thumb以标识缩略图文件。缩略图路径可以在项目配置文件中配置。
生成多缩略图
上面的例子表示生成三个大小的缩略图,并规定了缩略图文件名后面添加的后缀,和三种缩略图的宽高尺寸。
更多上传设置thinkphp在action来中还提供了和uploadfile类的上传设置接口,方便在客户端进行更多的参数设置进行上传控制。下面列举下主要的参数,更多的参数可以参考框架的action类中的_upload方法。
// 设置覆盖方式上传 // 设置允许上传文件类型 //上传文件保存目录,要注意设置可写权限 //上传文件名命名规则,支持函数,例如time uniqid com_create_guid系统默认设置为uniqid保证上传文件名不会重复,如果不存在设置函数,则使用规则字符串作为上传文件名 //设置上传文件大小 // 设置上传数据表,默认的上传数据记录在当前模块表中 //设置上传文件对应的数据编号,通常不用设置,除非特别需要 //设置上传用户id,通常不用设置,系统自动获取当前登录用户编号 原文:http://blog.sina.com.cn/s/blog_813e149b01010o3z.htmlthinkphp中怎实现跳转到其他网站
5.15 重定向
action类的redirect方法可以实现页面的重定向功能。
redirect方法的参数用法和u函数的用法一致(参考上面的url生成部分),例如:
上面的用法是停留5秒后跳转到news模块的category操作,并且显示页面跳转中字样,重定向后会改变当前的url地址。
如果你仅仅是想重定向要一个指定的url地址,而不是到某个模块的操作方法,可以直接使用redirect方法重定向,例如:
redirect方法的第一个参数是一个url地址。
5.14 页面跳转
在应用开发中,经常会遇到一些带有提示信息的跳转页面,例如操作成功或者操作错误页面,并且自动跳转到另外一个目标页面。系统的action类内置了两个跳转方法success和error,用于页面跳转提示,而且可以支持ajax提交。使用方法很简单,举例如下:
success和error方法都有对应的模板,并且是可以设置的,默认的设置是两个方法对应的模板都是:
模板文件可以使用模板标签,并且可以使用下面的模板变量:
$msgtitle:操作标题
$message :页面提示信息
$status :操作状态 1表示成功 0 表示失败 具体还可以由项目本身定义规则
$waitsecond :跳转等待时间 单位为秒
$jumpurl :跳转页面地址
success和error方法会自动判断当前请求是否属于ajax请求,如果属于ajax请求则会调用ajaxreturn方法返回信息,具体可以参考后面的ajax返回部分。
这些事thinkphp3.0手册上有的,自己下载手册看看
thinkphp中怎连接数据库[转]
thinkphp中如何连接数据库操作数据库之前,我们要建立一个model。在说model和action之前,先交代一下model和action的保存位置。model保存在 程序目录中lib/model文件夹中,action保存在程序目录中lib/action文件夹中。thinkphp系统默认的model规则是这样子 的:model文件文明名类似“model类名+model.class.php,并且model默认的操作数据库表名字为我们在config.php中 定义的db_prefix+model类名,model类名和文件名需要大写”在model文件中,定义一个类,扩展model类,一般写法如下class 类名model extends model{}那么,现在我们来定义一个model吧。由于我们数据库表名称为cms_article,class articlemodel extends model{}文件保存为articlemodel.class.php。什么都不用写,一个model已经定义完成了。那么现在,我们继续我们的action知识吧。action和model很多的规则很接近,不同的是action不直接操作数据库,而是需要通过model对数据库进行操作。现在我们来定义一个action来完成操作。class indexaction extends action{function index(){$article = d(”article”);}}将文件保存为indexaction.class.php。ok,现在我们刷新一下首页,如果没有任何的提示,那么恭喜你,数据库连接model、 action定义都是正常的。action中d方法就是调用model,article就是我们刚刚定义的那个 articlemodel.class.php中的model类~也就是说在定义model的同时,我们已经完成了对数据库的连接和对数据库表操作的准 备~
http://www.bkjia.com/phpjc/844682.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/844682.htmltecharticlethinkphp 总结 转,thinkphp总结 用thinkphp做过几个项目后,感觉这个框架蛮不错的,很适合自己的逻辑习惯,开发起来也快捷,呵呵, 总结了一些项目...