一、thinkphp

# 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 项目模板目录

ThinkPHP 3 介绍及安装
#

本节课大纲:
一、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 项目模板目录
六、补充知识 //了解

index.php //入口文件

//1.确定应用名称home
define('APP_NAME','Home');
//2.确定应用路径
define('APP_PATH', './Home/');
//3.开启调试模式
define('APP_DEBUG', 'true');
//4.应用核心文件
require './ThinkPHP/ThinkPHP.php';

#

# ThinkPHP 3 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 //了解

localhost/thinkphp/index.php/Index/index
主入口文件 Index模块 index方法

五、url的4种访问方式 //重点!
1.PATHINFO 模式 -- 重点!!!!!!
http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2
2.普通模式
http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2
3.REWRITE模式
http://域名/项目名/模块名/方法名/键1/值1/键2/值2

①。开启rewrite apache配置
LoadModule rewrite_module modules/mod_rewrite.so

②。.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>


4.兼容模式
http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2

 配置项

 'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符

ThinkPHP 3.1.2 输出和模型使用
#

本节课大纲:
一、ThinkPHP 3 的输出 (重点)
a、通过 echo 等PHP原生的输出方式在页面中输出
b、通过display方法输出
想分配变量可以使用assign方法

$this->display();
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_', //设置表前缀
三、补充 (了解)

ThinkPHP 3.1.2 输出和模型使用
#
讲师:赵桐正
微博:http://weibo.com/zhaotongzheng


本节课大纲:
一、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 3.1.2 CURD特性
#

本节课大纲:
一、ThinkPHP 3 的CURD介绍 (了解)
二、ThinkPHP 3 读取数据 (重点)
对数据的读取 Read
$m=new Model('User');
$m=M('User');
select
$m->select();//获取所有数据,以数组形式返回
find
$m->find($id);//获取单条数据
getField(字段名)//获取一个具体的字段值
$arr=$m->where('id=2')->getField('username');
三、ThinkPHP 3 创建数据 (重点)
对数据的添加 Create
$m=new Model('User');
$m=M('User');
$m->字段名=值
$m->add();
返回值是新增的id号
四、ThinkPHP 3 删除数据 (重点)
$m=M('User');
$m->delete(2); //删除id为2的数据
$m->where('id=2')->delete(); //与上面效果相同,也是删除id为2的数据
返回值是受影响行数
五、ThinkPHP 3 更新数据 (重点)
$m=M('User');
$data['id']=1;
$data['username']='ztz2';
$m->save($data);
返回值是受影响行数

 配置项:

'URL_PATHINFO_DEPR'=>'-',//修改URL的分隔符
'TMPL_L_DELIM'=>'<{', //修改左定界符
'TMPL_R_DELIM'=>'}>', //修改右定界符
'DB_TYPE'=>'mysql', //设置数据库类型
'DB_HOST'=>'localhost',//设置主机
'DB_NAME'=>'thinkphp',//设置数据库名
'DB_USER'=>'root', //设置用户名
'DB_PWD'=>'', //设置密码
'DB_PORT'=>'3306', //设置端口号
'DB_PREFIX'=>'tp_', //设置表前缀
'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN方式配置数据库信息
'SHOW_PAGE_TRACE'=>true,//开启页面Trace
'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后缀名
'TMPL_FILE_DEPR'=>'_',//修改模板文件目录层次
'TMPL_DETECT_THEME'=>true,//自动侦测模板主题
'THEME_LIST'=>'your,my',//支持的模板主题列表
'TMPL_PARSE_STRING'=>array( //添加自己的模板变量规则
'__CSS__'=>__ROOT__.'/Public/Css',
'__JS__'=>__ROOT__.'/Public/Js',
),

原文地址:https://www.cnblogs.com/suihui/p/3202006.html