介绍与安装
一、ThinkPHP的介绍
MVC
M - Model 模型 工作:负责数据的操作
V - View 视图(模板) 工作:负责前台页面显示
C - Controller 控制器(模块) 工作:描述功能
框架
二、ThinkPHP的获取
http://www.thinkphp.cn
三、ThinkPHP核心文件介绍
├─ThinkPHP.php 框架入口文件
├─Common 框架公共文件
├─Conf 框架配置文件
├─Extend 框架扩展目录
├─Lang 核心语言包目录
├─Lib 核心类库目录
│ ├─Behavior 核心行为类库
│ ├─Core 核心基类库
│ ├─Driver 内置驱动
│ │ ├─Cache 内置缓存驱动
│ │ ├─Db 内置数据库驱动
│ │ ├─TagLib 内置标签驱动
│ │ └─Template 内置模板引擎驱动
│ └─Template 内置模板引擎
└─Tpl 系统模板目录
四、实验环境搭建
五、项目搭建
#项目目录结构及说明:
Home 前台应用文件夹
├─Common 项目公共文件目录
├─Conf 项目配置目录
├─Lang 项目语言目录
├─Lib 项目类库目录
│ ├─Action Action类库目录
│ ├─Behavior 行为类库目录
│ ├─Model 模型类库目录
│ └─Widget Widget类库目录
├─Runtime 项目运行时目录
│ ├─Cache 模板缓存目录
│ ├─Data 数据缓存目录
│ ├─Logs 日志文件目录
│ └─Temp 临时缓存目录
└─Tpl 项目模板目录
MVC模式和URL访问
一、什么是MVC
M -Model 编写model类 对数据进行操作
V -View 编写html文件,页面呈现
C -Controller 编写类文件(UserAction.class.php)
二、ThinkPHP的MVC特点
三、ThinkPHP的MVC对应的目录
M 项目目录/应用目录/Lib/Model
V 项目目录/应用目录/Tpl
C 项目目录/应用目录/Lib/Action
四、url访问C
五、url的4种访问方式
- PATHINFO 模式 – 重点!!!!!!
http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2 - 普通模式
http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2 - REWRITE模式
http://域名/项目名/模块名/方法名/键1/值1/键2/值2 - 兼容模式
http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2
输出和模型使用
一、ThinkPHP 3 的输出
a、通过 echo 等PHP原生的输出方式在页面中输出
b、通过display方法输出
想分配变量可以使用assign方法
c、修改左右定界符
休要修改配置文件中的配置项
'TMPL_L_DELIM'=>'<{', //修改左定界符
'TMPL_R_DELIM'=>'}>', //修改右定界符
二、ThinkPHP 3 的模型使用
需要在方法中通过new Model(表名)的形式操作数据库
$m=new Model('User');
$arr=$m->select();
'DB_TYPE'=>'mysql', //设置数据库类型
'DB_HOST'=>'localhost',//设置主机
'DB_NAME'=>'thinkphp',//设置数据库名
'DB_USER'=>'root', //设置用户名
'DB_PWD'=>'', //设置密码
'DB_PORT'=>'3306', //设置端口号
'DB_PREFIX'=>'tp_', //设置表前缀
也可以使用DSN方法进行配置
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息
如果两种方式同时存在,以DSN方式为优先
还有一种简单实用模型的方式
M() 等效为 new Model();
$m=M('User');
$arr=$m->select();
使用模型的实例可以对数据进行操作,操作的工作一般就是对数据库进行 增删改查 CURD
增 -C Create $m->add()
删 -D Delete $m->delete()
改 -U Update $m->save()
查 -R Read $m->select()
三、补充
a、模板可以遍历数组
<volist name='data' id='vo'>
<{$vo.id}>----<{$vo.username}>-----<{$vo.sex}><br/>
</volist>
b、我们可以开启调试功能中的page_trace
1.开启调试功能
//3.开启调试模式
define('APP_DEBUG',true);
2.我们需要设置配置文件,开启页面trace
'SHOW_PAGE_TRACE'=>true,//开启页面Trace
“{}”
thinkPHP模板中的定界符,包裹的内容即从后台分配过来的标识,不建议使用。
附:
在Home/Tpl 下建立与控制器名称相同
在Home/Tpl/控制器 下建立与方法名相同的HTML文件(模板文件)