ThinkPHP学习日记

来源:互联网 发布:病假条在淘宝上叫什么 编辑:程序博客网 时间:2024/06/07 11:42

学习文件为ThinkPHP官网上下载的ThinkPHP3.2.3快速入门pdf文件

快速入门1:基础(总结)

一开始看的时候根本摸不着头脑,看见了一堆的文件夹,html文件,而且都是空的。到底是什么东西呀???之后往后看文档发现可以不用管着其它框架代码,就看index.php入口函数。可以直接使用define定义一个路径然后产生一个文件,这个文件可以说包含了许多的模块吧!在官方的pdf说的是应用目录。这里的应用目录不清楚是否有多个,留个坑先。然后就是在url路径上的第一次了解是在入口函数index.php/模块/控制器/方法/操作。


快速入门2:CURD(总结)

CURD的查询都是封装好了的,结果只是对其有了机械式的了解,知道应该如何的利用那些CURD的方法,而且在这里我一直被一个读取数据卡住了,因为数据库的id=4,而我的一直是写查询0,所以一直数据错误。一开始以为是自己的文件写错了,结果发现自己傻逼了,id根本没有0,难道不出错?



快速入门3:查询语言(总结)

查询语言都是一些要记的东西学起来有点烦躁呀。这个东西只有实战的时候拿来看一下就可以了,不必要记住。不过看过一遍之后也是发现封装好比起直接写sql代码还是要好一点的,而且可以适应比较多的数据库。


快速入门4:连贯操作(总结)



方法 作用 支持的参数类型where* 用于查询或者更新条件的定义 字符串、数组和对象table 用于定义要操作的数据表名称 字符串和数组alias 用于给当前数据表定义别名 字符串data用于新增或者更新数据之前的数据对象赋
数组和对象field 用于定义要查询的字段(支持字段排除) 字符串和数组
order 用于对结果排序 字符串和数组limit 用于限制查询结果数量 字符串和数字page 用于查询分页(内部会转换成limit) 字符串和数字group 用于对查询的group支持 字符串having 用于对查询的having支持 字符串join* 用于对查询的join支持 字符串和数组union* 用于对查询的union支持 字符串、数组和对象distinct 用于查询的distinct支持 布尔值lock 用于数据库的锁机制 布尔值cache 用于查询缓存 支持多个参数(以后在缓存部分再详细描
述)
relation 用于关联查询(需要关联模型扩展支持) 字符串validate 用于数据自动验证 数组auto 用于数据自动完成 数组filter 用于数据过滤 字符串scope* 用于命名范围 字符串、数组bind* 用于数据绑定操作 数组或多个参数token 用于令牌验证 布尔值comment 用于SQL注释 字符串index 用于数据集的强制索引 字符串strict 用于数据入库的严格检测 布尔值


快速入门5:变量(总结)


因为变量的获取一般都是涉及安全性问题的,所以大多数变量获取都要进行过滤等操作。所以ThinkPHP封装了一个I函数直接调用就好了。
I方法是ThinkPHP用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:

I('变量类型.变量名/修饰符',['默认值'],['过滤方法'],['额外数据源'])

变量类型是指请求方式或者输入类型,包括:
变量类型 含义get 获取GET参数post 获取POST参数param 自动判断请求类型获取GET、POST或者PUT参数request 获取REQUEST 参数put 获取PUT 参数session 获取 $_SESSION 参数cookie 获取 $_COOKIE 参数server 获取 $_SERVER 参数globals 获取 $GLOBALS参数

path 获取 PATHINFO模式的URL参数data 获取 其他类型的参数,需要配合额外数据源参数变量类型 含义
注意:变量类型不区分大小写。
变量名则严格区分大小写。
默认值和过滤方法均属于可选参数。



快速入门6:路由(总结)


路由表达式
路由表达式包括规则路由和正则路由的定义表达式,只能使用字符串。
表达式 示例正则表达式 /^blog\/(\d+)$/规则表达式 blog/:id
正则表达式 路由表达式支持的正则定义必须以“/”开头,否则就视为规则表达式。

规则表达式 规则路由比正则路由更方便定义和容易理解,规则表达式通常包含静态地址和动态地址,或者
两种地址的结合,例如下面都属于有效的规则表达式:
'my' =>'Member/myinfo', // 静态地址路由 类似于之前版本的简单路由
'blog/:id' =>'Blog/read', // 静态地址和动态地址结合
'new/:year/:month/:day'=>'News/read', // 静态地址和动态地址结合
':user/:blog_id'=>'Blog/read',// 全动态地址
规则表达式的定义以“/”为参数分割符(无论你的URL_PATHINFO_DEPR设置是什么,请确保在定义规
则表达式的时候统一使用“/”进行URL参数分割)。
每个参数中以“:”开头的参数都表示动态参数,并且会自动对应一个GET参数,例如 :id 表示该处匹配到
的参数可以使用$_GET['id']方式获取, :year :month :day 则分别对应
$_GET['year'] $_GET['month'] $_GET['day'] 。


路由地址和参数表示前面的路由表达式最终需要路由到的地址并且允许隐式传入URL里面没有的一些参
数,这里允许使用字符串或者数组方式定义,支持下面6种方式定义:
定义方式 定义格式方式1:路由到内部地址(字符串) '[分组/模块/操作]?参数1=值1&参数2=值2...'方式2:路由到内部地址(数组)参数采用
字符串方式
array('[分组/模块/操作]','参数1=值1&参数2=值2...')
方式3:路由到内部地址(数组)参数采用
数组方式
array('[分组/模块/操作]',array('参数1'=>'值1','参数
2'=>'值2'...))
方式4:路由到外部地址(字符串)301重定
'外部地址'方式5:路由到外部地址(数组)可以指定
重定向代码
array('外部地址','重定向代码')方式6:闭包函数 function($name){ echo 'Hello,'.$name;}




=================================================================================


require "../ThinkPHP/ThinkPHP.php";


这条语句在在入口函数中要写在最后面,不然你在后面定义的一系列define都是没有用的。

#define(“URL”,“http://www.baidu.com”);
在定义常量的时候必须写为大写,因为最终会在转HTML和CSS文件的时候变为大写。


在Tp中的date函数是获取Unix的时间戳的,所以如果你的时间是以2017-4-13显示的话,基本上该函数会无法
知道你的时间戳,所以遇到这种情况直接用substr=0,10来做,当成字符串处理



------------------------------------持续更新-------------------------------------
1 0
原创粉丝点击