Heim >php教程 >php手册 >thinkphp 总结 转,thinkphp总结

thinkphp 总结 转,thinkphp总结

WBOY
WBOYOriginal
2016-06-13 09:29:01857Durchsuche

thinkphp 总结 转,thinkphp总结

用ThinkPHP做过几个项目后,感觉这个框架蛮不错的,很适合自己的逻辑习惯,开发起来也快捷,呵呵, 总结了一些项目中常用的东东,希望对初学TP的朋友有所帮助! 
约定:
如:
定义控制器类

记录的修改:


记录查询

$User->getDbFields() //获取当前数据字段
$Model = new Model() // 实例化一个 model 对象 没有对应任何数据表
$objrs = $Model->query("select * from think_user where 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.html

thinkphp中怎实现跳转到其他网站

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的同时,我们已经完成了对数据库的连接和对数据库表操作的准 备~
 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn