Thinkphp笔记(3)

2019-08-31 21:11

? ucwords: 将字符串每个字第一个字母改大写。 ? 常用连贯操作

? where

帮助我们设置查询条件 ? order

对结果进行排序(desc降序排列,asc升序排列) $arr=$m->order('id desc')->select();

$arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select(); $arr=$m->where($data)->order(\? limit

限制结果

limit(2,5) //从第二条开始取出5条

limit('2,5') //从第二条开始取出5条 limit(10)//limit(0,10) ? field

设置查询字段

field('username as name,id')//获取username,id字段,并且将username字段重命名为name

field(array('username'=>'name','id')//同上 field('id',true) //获取除了id以外的所有字段

$arr=$m->where($data)->order(\

asc\只获取username字段 $arr=$m->where($data)->order(\

asc\只获取username,id字段 ? table ? group ? having ? 补充连贯操作

? alias 用于给当前数据表定义别名 字符串 ? page 用于查询分页(内部会转换成limit) 字符串和数字 ? join* 用于对查询的join支持 字符串和数组 ? union* 用于对查询的union支持 字符串、数组和对象 ? distinct 用于查询的distinct支持 布尔值 ? lock 用于数据库的锁机制 布尔值 ? cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描述) ? relation 用于关联查询(需要关联模型扩展支持) 字符串 ? validate 用于数据自动验证 数组 ? auto 用于数据自动完成 数组 ? filter 用于数据过滤 字符串 ? scope* 用于命名范围 字符串、数组

15. ThinkPHP 3.1.2 视图

? 模板的使用

规则

模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和模块名同名的文件夹[Index]/和方法名同名的文件[index].html(.tpl)

更换模板文件的后缀名(修改配置文件Conf/config.php) 'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名 ? 修改模板文件目录层次(修改配置文件Conf/config.php)

'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次 ? 模板主题

'DEFAULT_THEME'=>'your',//设置默认模板主题

需要在TPL下面新建一个your文件夹作为模板主题文件夹

如何动态修改模板主题?

? 在后台准备一个功能,修改config.php文件中的默认模板项 ? 通过url传递 t=主题 参数可以修改不同的模板

修改配置文件Conf/config.php,添加如下项 'DEFAULT_THEME'=>'your',//设置默认模板主题 'TMPL_DETECT_THEME'=>true,//自动侦测模板主题 'THEME_LIST'=>'your,my',//支持的模板主题列表 如要访问my主题则url后加上?t=my,如

http://localhost/thinkphp/index.php/User/index?t=my

? 输出模板内容

? display

? display中没有参数 $this->display();

? 可以带参数

$this->display(本模块文件夹下的其他模板文件); $this->display('index2'); $this->display(其他文件夹下的模板文件); $this->display('Public:error');//注意,仅仅需要在Tpl下有Public文件夹以及其中的error.html即可,不需要一定有Public模块 $this->display(其他主题下的 文件夹下的 模板文件);//需要开启主题支持 $this->display('my:Index:index'); $this->display(一个url路径); $this->display('./Public/error.html');//访问的是thinkphp\\Public\\error.html $this->display('./Public/error.html','utf-8','text/xml');

?

$this->show($content);

? fetch方法

获得模板文件中的内容,以字符串形式返回 $content=$this->fetch('Public:error'); ? show方法

不需要模板文件,可以直接输出模板内容 $content=$this->fetch('Public:error'); dump($content); $content=str_replace('h1','i',$content); $this->show($content);

? 模板中的赋值

//$this->assign('name','赵桐正'); $this->name='赵桐正2'; $this->display(); ? 模板替换

__PUBLIC__:会被替换成当前网站的公共目录 通常是 (项目目录/Public/),如thinkphp/Public/,可以用来调用外部的js,css等文件

__ROOT__: 会替换成当前网站的地址(不含域名) __APP__: 会替换成当前项目的URL地址 (不含域名) __GROUP__:会替换成当前分组的URL地址 (不含域名) __URL__: 会替换成当前模块的URL地址(不含域名) __ACTION__:会替换成当前操作的URL地址 (不含域名) __SELF__: 会替换成当前的页面URL

? 更换模板变量规则,修改配置项

'TMPL_PARSE_STRING'=>array( //添加自己的模板变量规则 '__CSS__'=>__ROOT__.'/Public/Css', '__JS__'=>__ROOT__.'/Public/Js', ),

16. ThinkPHP自带的验证码相关操作

(详见ThinkPHP3.1.2完全开发手册CHM[2013-01-15].chm/19.杂项/19.8验证码)

? 将thinkphp的扩展包解压缩 将Extend文件夹中所有项拷贝到

thinkphp\\Public\\ThinkPHP\\ Extend中

? 在\\Home\\Lib\\Action中新建PublicAction.class.php并打开填写代码如下

class PublicAction extends Action { Public function verify(){ import('ORG.Util.Image'); Image::buildImageVerify(); }

} ?

buildImageVerify($length,$mode,$type,$width,$height,$verifyName) 的用法

length 验证码的长度,默认为4位数 验证字符串的类型,默认为数字,其他支持类型有0 字母 1 数model 字 2 大写字母 3 小写字母 4中文 5混合 type 验证码的图片类型,默认为png width 验证码的宽度,默认会自动根据验证码长度自动计算 height 验证码的高度,默认为22 verifyName 验证码的SESSION记录名称,默认为verify

? 通过

onClick=\加载图片 . 加上

onClick=\的目的是当点击生成的图片时,图片自动更改后面的+'?'+Math.random()是为了让浏览器认为加载的是不同的图片,从而不从缓存中直接读取图片,已达到更换图片的效果. ? 后台中验证码验证

if($_SESSION['verify'] != md5($_POST['verify'])) { $this->error('验证码错误!');

}

17. ThinkPHP 3.1.2中自定义类的创建与加载

? 在\\Public\\ThinkPHP\\Extend\\Library\\ORG\\My中新建Test.class.php文件,内容如下

public $name='yinliang'; } ?>

? 任何函数想引用Test类,要在函数中添加import('ORG.My.Test');,如

public function index(){ import('ORG.My.Test'); $obj=new Test; echo $obj->name; }

18. ThinkPHP 3.1.2 模板中的变量

? 变量输出

? 标量输出 ? 数组输出 {$name[1]} {$name['k2']} {$name.k1}

对象输出

{$name:k} {$name->k} ? 系统变量 ?

用法 含义 例子 $Think.server 获取{$Think.server.php_self} $_SERVER $Think.get 获取$_GET {$Think.get.id} $Think.post 获取$_POST {$Think.post.name} $Think.request 获取{$Think.request.user_id} $_REQUEST $Think.cookie 获取{$Think.cookie.username} $_COOKIE $Think.session 获取{$Think.session.user_id} $_SESSION $Think.config 获取系统配{$Think.config.app_status} 置参数 $Think.lang 获取系统语{$Think.lang.user_type} 言变量 $Think.const 获取系统常{$Think.const.app_name}量 {$Think.APP_NAME} $Think.env 获取环境变{$Think.env.HOSTNAME} 量 $Think.version 获取框架版{$Think.version} 本号 $Think.now 获取当前时{$Think.now} 间 $Think.template 获取当前模{$Think.template} 板 $Think.ldelim 获取模板左{$Think.ldelim} 界定符 $Think.rdelim 获取模板右{$Think.rdelim} 界定符 或? 默认值 {$name|default='这里是默认值'}

? 使用函数

{$name|strtoupper} 生成的编译后文件是 Action函数中{$name|date='Y m d H:i:s',###}// ###代表$name

? 运算符

+ - * / % ++ -- {$name++}


Thinkphp笔记(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:世界各国车标大全

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: