ThinkPHP是一个框架:MVC(采用面向对象思想)框架

市面上常用的框架:

zend framework   yii    thinkPHP

ThinkPHP:  有完善的中文资料,使用相对来说比较多

 

如何使用这个框架:

模型(M):模型的定义由Model类来完成。Model类位于项目目录下面的LibModel目录。V

ThinkPHP入门_图层

THINKPHP初始页面

控制器 (C):应用控制器(核心控制器)和Action控制器都承担了控制器的角色,区别在于Action控制器完成业务过程,而应用控制器(App类)负责调度控制。Action 控制器 位于项目目录下面的LibAction目录。

视图(V):模板的实现是和框架无关的,做到了100%分离,可以独立预览和制作。模板目录位于项目目录下面的Tpl目录。

1,首先下载软件包

2.0-----3.0之间的文件变化比较大,3.0之后的变化不是太大

解压之后生成两个文件:ThinkPHP    Examples


ThinkPHP是我们需要的核心代码

Examples 是例子

2,建立入口文件,在这个入口文件里面加载核心代码,通过加载ThinkPHP.php

3,完成一个控制器

根据TP的目录结构,完成一个MVC框架

当我们去访问index.php的时候,会生成项目默认的框架(结构)

我们以后的代码都在这个结构里面去写

分别解释一下这个结构(框架)

Lib  保存了控制器目录(Action,和我们之前写的Controller一样的)     模型目录(Model

 

Tpl目录保存的是视图层的文件

Runtime  保存的是系统生成临时文件(缓存...

 

 

访问了控制器的动作

这里访问的是  默认的控制器的默认的动作

 

先写一个控制器:

控制器的写法:

GoodsAction.class.php

访问控制器的时候,通过  index.php?m=控制器&a=动作

但是由于这种写法不美观,而且SEO不友好()

于是TP框架写了一个pathinfo模式

index.php/控制器/动作

 

(2)模型层

链接数据库----通过配置文件来实现的

 

现在获得模型,调用模型的方法

TP框架封装了模型对象,通过M()函数获得模型,参数是需要操作的表名

但是需要注意:这个表名需要首字母大写

修改配置文件后,需要删除一下缓存

 

调用select()方法可以获得所有的记录,相当于我们之前写的getAll()

 

(3)

视图层显示数据

assign()

display()   注意:display()可以带参数也可以不带参数

如果不带参数,控制器会自动去

视图层/模块分组(控制器名)/模板文件(命名通常是每个动作对应一个模板文件)

每个控制器在Tpl视图层都对应一个目录,

每个动作对应模板文件

如果是标量数据,在模板里面通过{变量名}来访问

如果是数组,在模板文件需要循环遍历这个数组,通过<foreach ></foreach>

在模板文件里面,访问数组的元素通过 {数组.元素下标或者通过  数组[‘下标’]