Heim  >  Artikel  >  Backend-Entwicklung  >  Thinkphp 学习笔记,thinkphp学习笔记_PHP教程

Thinkphp 学习笔记,thinkphp学习笔记_PHP教程

WBOY
WBOYOriginal
2016-07-12 09:03:58970Durchsuche

Thinkphp 学习笔记,thinkphp学习笔记

前后台配置:

在根目录文件夹中创建一个Conf文件夹

Conf文件夹下建立一个config.php文件,里面存放公共配置信息,方便前后台调用。

 

 

简单定义404页面

 

 

伪静态去除.html

Config中 URL_HTML_SUFFIX  => ‘’

 

分配模版

1:$this ->assign(‘XXX’,$XXX);

2:$this->a = 111;

3:$this->assign(‘xxx’,$xxx)->display();

 

时间戳处理

{$v.time|date='y-m-d H:i',###}

 

分组:

 

分组后 common 文件夹下单独使用的文件名应该较 function.php 而不是 common.php

 

JS 外部地址不能解析 U函数:

Html页面:

非应用组写法:

 

应用组写法

 

 

后面一个空为处理 伪静态 .html  去除.html 

 

Js页面:

 

 

错误页面定制:

Conf文件夹下

 

 

 

数据存入:

1)

 

2):

 

数据读取:

1):

 

2):

 

 

随机数:

mt_rand(min,max);

 

U方法去除.html结尾

 

 

验证码制作:

 

 

 

SESSION存入数据库:

1): 配置文件中

 

2):创建数据库表:

 

 

ThinkPHP常用各种方法

A() 加载Action类 
D() 加载Model类 
S() 全局缓存配置 
L() 获取语言定义 
C() 获取配置值
F() 快速文件数据读取和保存 针对简单类型数据 字符串、数组
U() 用于完成对URL地址的组装
I() 快速创建一个对象实例

1.A 快速创建Action对象

$action=new UserAction();// 等同于以下写法:$action=A("User");而且,如果当前的UserAction类还没有引入的话,A方法会自动引入。并且具有单例模式的支持,不会重复创建相同的Action对象。

A方法支持跨项目调用,例如:
 
$action=A("User",'Admin'); //实例化Admin项目的UserAction

2.D 快速创建模型数据对象
 
先定义好模型类,如UserModel,然后就可以用D()函数对数据进行操作了。例如:
 
先在"你的项目"/Lib/Model下建立一个名为UserModel.class.phpPHP脚本,内容如下:
 
class UserModel extends Model{}

然后,无需增加任何属性和方法,就可以进行如下操作:
 
$User=D("User"); //实例化User对象,User是你在数据库建立的一个名为"前缀_user"的数据表,也可以用$User=new UserModel()代替,进行实例化对象的操作。实例化之后,就可以对数据进行增删查改等一系列操作了,如:
 
$User->find(1); //查找主键为1的记录

我们在做用户金币或者是积分或者是投票的时候,需要对指定的字段自加1这时候我可以可以这样写

$User->score='(score+1)';$s->save(); 这样我们会省下许多的步骤。

如果要修改指定的一个字段更可以简写为如下:

D('User')->setField('name','hehe','id=2');

方法和 方法的区别主要在于:

M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现;而D方法必须有创建模型类,我们可以用下面两种方法去创建一个数据表的映射对象。

第一种:$Test=D('Test');

第二种:$Test=new Model('Test');

虽然这两种都可以对数据进行select,insert,delete,udpate操作,在数据验证上有很大的不同,用第一种方式实例一个模型就 会有数据检查功能,例如可以定义如果 title 没有填写的话就会提示 请输入标题” (这个是tp提供的一个自动验证功能,当然也需要在相应的 model 中定义好验证条件)

D方法可以自动检测模型类,不存在时他会抛出一个异常。同时对于已实例化得得模型不会再去重复实例化(单例)。默认的D方法只能支持调用当前的项目(或者叫做应用)下的模型。例如:

$user=new UserModel();

等价于$user=D('user');

如果实例化的是一个空模型,例如:

$Demo=new Model();

那么它等价于:

$Demo=M();
 
3.S 快速操作缓存方法
 
ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用不同的缓存方式的时候并不需要关注具体的缓存细节。如:

S('data',$Data); //使用data标识缓存$Data数据 
S('data',$Data,3600); //缓存$Data数据3600秒 
$Data=S('data'); //获取缓存数据 
S('name',null); // 删除缓存标识name
 
4.L 快速操作语言变量

L方法提供了多语言的支持,可以快速设置和获取语言定义。

L('USER_INFO','用户信息'); //设置名称为USER_INFO 的语言变量 
L('USER_INFO'); //获取USER_INFO的语言变量值 
//批量赋值 
$array['USER_INFO']='用户信息';$array['ERROR_INFO']='错误信息'; 
L($array);

5.C 快速操作配置变量,用法就是 C("这里填写在配置文件里数组的下标")

C('USER_AUTH_ON',true); //设置名称为USER_AUTH_ON 的配置参数 
C('USER_AUTH_ON'); //获取USER_AUTH_ON的变量值

L一样,C也支持批量赋值
 
注意:配置参数不区分大小写

此外从1.5版本开始,C方法还支持二维数组的操作,例如:
 
C('USER.USER_TYPE',1); 
C('USER.USER_AUTH_ON');  

6. F 文件数据保存方法

F方法主要用于项目的文件数据的写入、更改和删除,其工作机理和S方法是类似的,区别在于用途不同,数据保存的目录也不同,而且不能指定缓存方式,因为默认就是文件形式保存数据。F方法使用了var_export方法,所以只能支持简单数据类型,不支持对象的缓存。

7. U 用于完成对URL地址的组装,特点在于可以自动根据当前的URL模式和设置生成对应的URL地址

该函数格式为:U('地址','参数','伪静态','是否跳转','显示域名');在模板中使用U方法而不是固定写死URL地址的好处在于,一旦 你的环境变化或者参数设置改变,你不需要更改模板中的任何代码。在模板中的调用格式需要采用 {:U('地址', '参数'…)} 的方式。

U方法的用法示例:

U('User/add') // 生成User模块的add操作地址

也可以支持分组调用:

U('Home/User/add') // 生成Home分组的User模块的add操作地址

当然,也可以只是写操作名,表示调用当前模块的

U('add') // 生成当前访问模块的add操作地址

除了分组、模块和操作名之外,我们也可以传入一些参数:

U('Blog/read?id=1') // 生成Blog模块的read操作 并且id1URL地址

U方法的第二个参数支持传入参数,支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,下面几种方式都是等效的:

U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')

 

导入 CSS/JS 文件

 

 

 

 

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1077130.htmlTechArticleThinkphp 学习笔记,thinkphp学习笔记 前后台配置 : 在根目录文件夹中创建一个 Conf 文件夹 Conf 文件夹下建立一个 config.php 文件,里面存放公共...
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