ThinkPHP是什么?有何优点?

ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架,ThinkPHP为WEB应用开发提供了强有力的支持,这些支持包括:

* MVC支持-基于多层模型(M)、视图(V)、控制器(C)的设计模式
* ORM支持-提供了全功能和高性能的ORM支持,支持大部分数据库
* 模板引擎支持-内置了高性能的基于标签库和XML标签的编译型模板引擎
* RESTFul支持-通过REST控制器扩展提供了RESTFul支持,为你打造全新的URL设计和访问体验
* 云平台支持-提供了对新浪SAE平台和百度BAE平台的强力支持,具备“横跨性”和“平滑性”,支持本地化开发和调试以及部署切换,让你轻松过渡,打造全新的开发体验。
* CLI支持-支持基于命令行的应用开发
* RPC支持-提供包括PHPRpc、HProse、jsonRPC和Yar在内远程调用解决方案
* MongoDb支持-提供NoSQL的支持
* 缓存支持-提供了包括文件、数据库、Memcache、Xcache、Redis等多种类型的缓存支持

简单应用

我们使用ThinkPHP3.2版本为例,下载地址:http://www.thinkphp.cn/download/543.html。下载后解压,里面我们需要ThinkPHP这个文件夹

把它放在我们网站的目录下,然后在根目录下建立index.php文件作为入口文件,里面写如下代码:

define('APP_DEBUG',True);

//定义项目目录
define('APP_PATH','./Shop/'); //载入框架入口文件
require './ThinkPHP/ThinkPHP.php';

第二步的目录根据自己的需要设置即可,我们这里用Shop。然后去浏览器运行index.php,会出现一个欢迎页面,然后我们的文件会自动生成相应的文件夹

打开生成的文件夹会发现还有很多文件夹,里面是模块文件夹,打开Home文件夹,里面还有文件夹,是控制器文件、视图文件等等。

打开Controller文件夹,里面是控制器文件,打开IndexController.class文件夹,修改如下代码:

//命名空间
namespace Home\Controller;
use Think\Controller;
//继承Controller类
class IndexController extends Controller {
public function index(){
$arr = array(
array('id'=>1,'title'=>'今天周五','content'=>'今天周五','time'=>'2017-07-26 14:34:33','status'=>1),
array('id'=>2,'title'=>'今天周五1','content'=>'今天周五1','time'=>'2017-07-25 14:34:33','status'=>2),
array('id'=>3,'title'=>'今天周五2','content'=>'今天周五2','time'=>'2017-07-24 14:34:33','status'=>2),
array('id'=>4,'title'=>'今天周五3','content'=>'今天周五3','time'=>'2017-07-23 14:34:33','status'=>1)
);
$this->assign('arr',$arr);
$this->display();
}
}

我们先传虚拟数据,后面我们再传真实数据,定义一个控制器,我们就需要在view文件夹下建立一个相应的文件夹,在该文件夹下建立与方法名一致的html文件作为视图文件。

在视图文件内写入我们想要的代码就可以了。

 <html>
<head><title>列表页面</title></head>
<body></body>
<table border=1 cellspacing=0 width=400>
<th>id</th>
<th>title</th>
<th>content</th>
<th>time</th>
<th>status</th>
<foreach name="arr" item="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.title}</td>
<td>{$vo.content}</td>
<td>{$vo.time}</td>
<td>{$vo.status}</td>
</tr>
</foreach>
</table>
</body>
</html>

注意上面有foreach的用法,<foreach name="上一个页面传入的值名称" item="自定义值名">{自定义值名.key}</foreach>。

连接数据库

找到对应的conf文件夹

打开里面的conf.php文件,代码是这样的

然后我们写入连库代码:

//数据库配置信息
'DB_TYPE' => 'mysql', // 数据库类型
'DB_HOST' => 'localhost', // 服务器地址
'DB_NAME' => 'thinkphp', // 数据库名
'DB_USER' => 'root', // 用户名
'DB_PWD' => '123456', // 密码
'DB_PORT' => 3306, // 端口
'DB_PREFIX' => 'think_', // 数据库表前缀
'DB_CHARSET'=> 'utf8', // 字符集
'DB_DEBUG' => TRUE, // 数据库调试模式 开启后可以记录SQL日志 3.2.3新增

在控制器文件里面 用M('表名')获得一个对象,然后用该对象调用select方法即可获取表数据。

<?php
//命名空间
namespace Home\Controller;
use Think\Controller;
//继承Controller类
class IndexController extends Controller {
public function index(){
$res = M('news');
$row = $res->select();
//print_r($row);die();
$this->assign('arr',$row);
$this->display();
}
}

2017-07-26 ThinkPHP简单使用的更多相关文章

  1. 日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09

    作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09     据日本政府提供的数据,日本2018年应届毕业生的“求人倍率”已经达到了1.78倍.换言之,就是100名大学生 ...

  2. 团队作业4——第一次项目冲刺(Alpha版本)2017.4.26

    2017.04.26 天气热. 时间:上午 9:35 ---10:10分 地点:陆大304实验室 会议内容:今天将昨天的的一些问题进行了讨论,以及针对助教提出的问题进行了分析,是因为我们昨天经过讨论后 ...

  3. ThinkPHP简单的验证码实现

    ThinkPHP简单的验证码实现 写一个最简单的TP验证码. 写Controller 首先在Controller/IndexController.class.php(简称Index)文件中编辑: &l ...

  4. 2021.07.26 P1022 计算器的改良(字符串)

    2021.07.26 P1022 计算器的改良(字符串) 改进: 如果是我出题,我一定把未知数设为ab.buh.bluesky之类的长度不只是1的字符串! 题意: 一个一元一次方程,求解. 分析: 1 ...

  5. 2021.07.26 P1011 车站(斐波那契数列)

    2021.07.26 P1011 车站(斐波那契数列) [P1011 NOIP1998 提高组] 车站 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.改变形式的斐波那契 ...

  6. 2021.07.26 P1010 幂次方(数论)

    2021.07.26 P1010 幂次方(数论) [P1010 NOIP1998 普及组] 幂次方 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.二进制 题意: 用20 ...

  7. 【从零开始自制CPU之学习篇07】最简单的ALU—全加器

    ALU是算术逻辑单元,是CPU中重要的一部分,因为CPU本质上就是不断重复最简单的计算.而我们这一版CPU的ALU部分更为简单,是一个只能做加法的ALU. 理论部分 我们需要一个能帮我们进行数学计算的 ...

  8. 2017.07.11【NOIP提高组】模拟赛B组

    Summary 今天的比赛打得还不错,第一题被同桌灌输的贪心,纯模拟洗脑了,然后steal的看了一下,发现怎么也对不了,一直在检查.最后10分钟才找出反例,推出动态规划方程,没有想到怎么转移,比赛就结 ...

  9. 2017.07.09【NOIP提高组】模拟赛B组

    Summary 今天放假,比赛于是就没有打了,但是看了一下题,发现都挺简单了,不想码~╮(╯▽╰)╭懒虫一条.最后一题居然做过原题.这次比赛让我对并查集“刮目相看”,对贪心感到“前途无量”,觉得树形D ...

随机推荐

  1. 架构篇 | LAMP 架构应用案例 - 部署 PHPMyAdmin 系统(二)

    作者 | JackTian 微信公众号 | 杰哥的IT之旅(ID:Jake_Internet) 转载请联系授权(微信ID:Hc220066)备注:来自博客园 1.什么是 phpMyadmin 系统? ...

  2. mysql 之编码配置、引擎介绍、字段操作、数据类型及约束条件

    数据库的配置 # 通过配置文件统一配置的目的: 统一管理 服务端(mysqld) 客户端(client) 配置了mysqld(服务端)的编码为utf8, 那么再创建的数据库,默认编码都采用utf8. ...

  3. Pandas | 06 描述性统计

    有很多方法用来集体计算DataFrame的描述性统计信息和其他相关操作. 其中大多数是sum(),mean()等聚合函数. 一般来说,这些方法采用轴参数,就像ndarray.{sum,std,...} ...

  4. ESA2GJK1DH1K升级篇: STM32远程乒乓升级,基于GPRS模块AT指令TCP透传方式,定时访问升级(含有数据校验)

    实现功能概要 单片机定时使用http访问云端的程序版本,如果版本不一致, 然后通过http下载最新的升级文件,实现远程升级STM32程序. 兼容Air202 ,SIM800 测试准备工作(默认访问我的 ...

  5. 关于nlp的一些探索

    深度学习,知识图谱,nlp学习经历                          获取信息来源:英文paper研读,吴恩达公开课,Hiton公开课,北大nlp教材,英文最新学术论文,中科院院士技术 ...

  6. node.js 路由详解

    路由的基本使用 第一步:获取url跟目录下的字符 var http = require('http'); var url = require('url') http.createServer(func ...

  7. base64和Blob互相转换

      1.base64转blob(二进制数据) /** * 将以base64的图片url数据转换为Blob * @param urlData 用url方式表示的base64图片数据 */ functio ...

  8. 阿里云 azkaban 发邮件的坑

    azkaban : 是一个 任务调度平台 安装文档: https://azkaban.readthedocs.io/en/latest/getStarted.html 因为阿里云是禁止掉是STMP 2 ...

  9. [技术博客]使用wx.downloadfile将图片下载到本地临时存储

    目录 目标 代码展示 重点讲解 目标 在上一篇技术博客中,我们生成的海报中包含图片,这些图片是存储到服务器上的,而canvas的drawimage函数只能读取本地文件,因此我们在drawCanvas之 ...

  10. c++primer(第五版) 阅读笔记_第1章

    一.结构图: 二.代码及练习题 1.1节 编写一个简单的C++程序 1.1节练习 练习1.1: 查阅使用的编译器的文档:我使用的是vs2013,其文档为https://docs.microsoft.c ...