ThinkPHP入门:
1.ThinkPHP环境搭建:
step1:搭建apache+PHP环境
step2:将ThinkPHP下的ThinkPHP文件夹拷贝到需要使用的网站下面,在需要调用的页面上写:
require ("ThinkPHP/ThinkPHP.php");
App::run();
step3:运行一次代码,在ThinkPHP文件夹所处位置会自动生成6个文件夹。
2.ThinkPHP基本概念体系:
MVC的三部分:
Action(控制器):负责调用Model(模型)和View(视图),实现为一个类。
Model(模型):负责存放网站的业务逻辑(每个控制器都是一些功能相近的函数的集合(一个类),实际代码中要调用的是其中的函数)
View(视图):负责展示网站的页面
3.ThinkPHP的URL规范:
http://域名/页面名词.jsp/需要使用的控制器的名称/需要使用的控制器里的函数的名称
举个例子:
http://g.cn/index.php/changepage/jump
注意:页面和控制器没有必然联系。
4.ThinkPHP的控制器创建规范(惯例配置):
设控制器名称为Name(首字母必须大写)
step1:在Lib/Action新建文件NameAction.class.php
step2: 在上述文件中,定义:
class NameAction extends Action{
function XXX(){
......
}
}
step3:访问下述页面测试:
http://page.php/Name/function
5.ThinkPHP的持久化:***
step1:打开默认配置文件:ThinkPHP/Common/convention.php
step2: 在Conf/config.php中写入一句 'APP_DEBUG' => true,开启调试
step3: 从上述文件中选择有用的内容,和数据库相关的内容拷贝到Conf/config.php
6.ThinkPHP的CURD(创建、更新、读取、删除):***
$var = array('colname' => colval,...);
M("Tablename").add($var);
M("Tablename").save($var);
M("Tablename").select();
M("Tablename").delet($var);
注意:Tablename首字母要大写,不要带数据库前缀后缀(因为在配置文件里已经写过了)
$var是一个数组
7.ThinkPHP的模板:
作用:用于展示界面,实现逻辑和界面的分离
原理:一个控制器对应一个模板文件夹,一个function对应一个模板。在控制器里的function结尾调用$this->display();来调用模板。
步骤:
step1:tpl/defualt文件夹下新建文件夹,文件夹名称为控制器的名称
step2: 在上述文件夹下建一个与该function同名的html文件,就是模板
模板的使用:
1.变量显示的分离:
step1:在function中写:$this->varname = ... ;定义一个类的属性值
step2: 在模板中写:{$varname},显示该值
8.ThinkPHP的数据模型***
定义:数据模型就是比较复杂的数据处理过程
步骤:
step1:在Lib/Model文件夹下新建文件:TablenameModel.class.php(其中Tablename为数据库里表的名字去掉前后缀,且首字母大写)
step2: 文件里定义一个类(模型类),extends Model
step3: 在类中间只要定义一个数组就可以轻松实现自动检验,自动完成等等。
9,ThinkPHP的分组
定义:ThinkPHP支持把一个项目分成多个组(应用,例如前台和后台)。
步骤:
step1:在ThinkPHP/Common/convention.php中找到和分组相关的配置项,填写完,拷贝到Conf/config.php
step2:在Lib/Action文件夹下面新建对应每个分组的文件夹,内存该组的控制器文件
step3:在Tpl/default文件夹下面新建对应每个分组的文件夹,内存该组的模板文件
step4: 带分组的访问方式:
http://域名/页面名词.jsp/分组名/需要使用的控制器的名称/需要使用的控制器里的函数的名称
举个例子:
http://g.cn/index.php/group/changepage/jump