ThinkPHP基本编程
来源:互联网 发布:记录商品价格的软件 编辑:程序博客网 时间:2024/06/18 16:40
本文我们来了解一个php后台开发框架:ThinkPHP。当我们熟悉了php,开始完成web项目时会发现,我们都会找一些框架,比如:前台比较出名的框架easyUI;后台比较常用的框架Thinkphp。当然,现在后台php开发的框架有很多,YII,CI等评价都比Thinkphp要高。但把Thinkphp作为第一个框架来举例讲解很有必要,因为它是中国人开发的,开发文档是中文的,它的MVC架构非常清晰容易理解。这些优点让它上手非常容易,且开发速度快。所以我们本文就来学习一下TP。
首先,我们需要到TP官网下载框架:http://www.thinkphp.cn/down/framework.html我用的是thinkphp3.2.3完整版。同时我们需要下载对应的TP开发手册http://www.thinkphp.cn/down/doc.html。对于Thinkphp安装配置过程,大家可以去网上搜索,有很多详细的介绍,我在这里就不说了。只提一个重要点:因为后台开发一般分为home模块与admin 模块。所以大家配置安装TP时最好养成创建两个模块的习惯,方法可参考http://www.thinkphp.cn/topic/13239.html。
配置安装TP后,首先我们需要绑定一个数据库,让我们可以访问其中的内容。上篇中已经说了,我们不需要自己再重复的写链接代码了,打开TP的安装目录,可以看到有Application,Public,ThinkPHP三个文件夹。ThinkPHP文件夹我们一般用不到,是TP框架的系统代码位置,Public文件夹我们之后会用到,这里存放项目中的图片,文件等内容。Application文件夹是我们编写的重点,其中有Home,Common,Runtime等文件夹。第三个文件夹Runtime是运行TP时的缓存文件夹。Home文件为刚刚提到的home模块所在位置,同样,如果创建了admin模块,这里会有Admin文件与之对应。Common文件为公共模块,在其中所设置内容,均可在其他模块中调用。数据库链接是和模块绑定的,各模块可以设置链接同一个数据库,也可以链接不同数据库。
假如我们要为Home模块链接数据库:打开Home文件,在Conf文件中可以找到config.php,默认内容为:
<?php
return array(
//'配置项'=>'配置值'
);
将其修改成:
<?php
return array(
'DB_TYPE' => 'mysql',// 数据库类型
'DB_HOST' => '127.0.0.1',// 数据库服务器地址
'DB_NAME' => 'fire',// 数据库名称
'DB_USER' => 'root',// 数据库用户名
'DB_PWD' => '123456',// 数据库密码
'DB_PREFIX' => 'fire_',// 数据表前缀
'DB_CHARSET' => 'utf8',// 网站编码
'DB_PORT' => '3306',// 数据库端口
);
将这几行中的必要内容替换为自己的数据库内容即可。这样链接数据库就完成了。
然后,我们需要了解TP框架构建的主要思想MVC架构:M为model,V为view,C为controller。三层将功能合理划分,架构清晰,且方便了代码的管理与重用。
(1)view层,为视图层,我们的html文件就是放在这里,决定了用户看到的网页内容。
(2)model层,为模型层,我们最底层的访问数据库的php文件都在这里。TP的命名是很有学问的,对于model层的默认命名方式,这里举例说明:
假设我们的数据库中有一个user表,需要访问其中所有内容,我们要在Home\Model文件夹中创建UserModel.class.php文件,编写内容:
<?php
namespaceHome\Model;
use Think\Model;
class UserModelextends Model {
public function all() {
1)$query = M('user');
2)$data =$query->select();
3)return$data;
}
}
其中1)行中为M方法访问对应的user表。2)行为选出user表中的所有内容。
(3)Controller层,为控制器层,这是最重要的一层,我们要在其中编写后台所有的控制逻辑。接着上面举例:
假设需要将user中的内容全部显示在页面中,我们要在Home\Controller文件夹中创建UserController.class.php文件,编写内容:
<?php
namespace Home\Controller;
useThink\Controller;
class UserControllerextends Controller {
public function index(){
1)$User=D('user');
2)$ user = $ User->all();
3)$this->assign('user',$user);
4)$this->display();
}
}
其中1)行中为D方法实例化user模型。2)行中为调用user模型中的all函数,返回user变量存储了user表中的所有内容。3)行有一个非常重要的函数assign,它将user变量输出到页面,并为其赋名为user。4)行为显示函数,显示对应的index页面。
到这里一个简单的程序已经编写完成了,user表中的内容就可以显示在对应的页面中。MVC架构我们也进行了最初的认识。当然,之后完成复杂的项目时,逻辑会复杂的多,调用多个模型,控制器间的调用,模块间的调用……还需要我们花费心思去学习。但原理是一样的,我希望通过这篇文章,可以对大家有所启发,更快的学习理解ThinkPHP。
- ThinkPHP基本编程
- ThinkPHP编程
- ThinkPHP 基本注意事项
- ThinkPHP 基本注意事项
- thinkphp基本操作
- ThinkPHP 模版 基本用法
- Thinkphp基本配置
- ThinkPHP基本CRUD操作
- thinkphp基本配置 convention.php
- thinkphp的config基本配置
- ThinkPHP 5.数据库基本操作
- ThinkPhp基本的curd操作
- ThinkPhp基本的curd操作
- thinkphp AOP(面向切面编程)
- thinkphp AOP(面向切面编程)
- ThinkPHP关联模型基本使用教程
- ThinkPHP PHPExcel基本使用(一)
- ThinkPHP 3.1.2 模板中的基本语法
- Android 7.0 预览版发布了
- Programming in Objective-C 学习笔记01
- uva658
- 【NOI2012】随机数生成器
- leetcode:Remove Linked List Elements 【Java】
- ThinkPHP基本编程
- 字符串数组逆序
- 连接笔记
- POJ 1011 Sticks (dfs + 厉害的剪枝)
- Android — 之百度地图定位+添加Mark+InfoWindow
- 模板的特化、偏特化
- iOS开发零基础教程之证书、描述文件、App ID的解释
- 九度OJ:题目1406 上班啦
- Programming in Objective-C 学习笔记02