博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ThinkPHP入门
阅读量:5033 次
发布时间:2019-06-12

本文共 4398 字,大约阅读时间需要 14 分钟。

1.0 ThinkPHP人门


 

1.1 什么是ThinkPHP


 

在认识ThinkPHP框架之前,我们需要了解一个概念一-PHIP 框架

PHP框架就是一种可以在项目开发过程中, 提高开发效率,创建更为稳定的程序,并减少开发者重复编写代码的基础架构。下面介绍几个主流的PHP框架。

(1) Zend Framework

Zend Framework是由Zend 公司开发的PHP框架,可用于开发Web程序和服务。ZendFramework采用MVC架构模式来分离应用程序中不同的部分,从而方便程序的开发和维护。

(2 ) CakePHP

CakePHP是一个运用了诸如ActiveRecord、Association Data Mapping、Front Controller 和MVC等著名设计模式的快速开发框架。该框架的主要目标是让各种层次的PHP开发人员都能快速灵活地开发健壮的Web应用。

(3) Yii

Ym是一个基于组件的高性能PHP框架。用于开发大型Web应用Yi采用产格的O0P编写,并有着完善的库引用以及全面的教程。Yii几乎提供了如今Web20应用开发所需要的一切功能, 事实上,Yii也是最有效率的PHP框架之一。

(4) ThinkPHP

ThinkPHP是一个由国人开发的快速最容而且简单的轻量级PHP开发框架,诞生于2006年初。原名FCS.

2007年元日正式更名为ThinkPHP ThinkPHP 遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式。

使用面向对象的开发结构和MVC模式,融合了STrut的思想和TagLib(标签库) RoR的ORM映射和ActiveRecord模式,封装了对数据库的常用操作单一入口模式等。

在模板引擎、缓存机制、认证机制和扩展性方面均有独特的表现。由于ThinkPHP的灵活、高效和完善的技术文档,经过多年的发展,已经成为国内最受欢迎的PHP框架。

下面将对ThinkPHP的基本使用进行讲解。

 

1.下载ThinkPHP

我们可以在http://ww thinkphp.cn页面上下载ThinkPHP 文件压缩包,以下将使用ThinkPHP之前的3.2.3完整版进行讲解,下载页面如下图所示

 

单击"ThinkPHPXXX完整版”将下载ThinkPHP框架压缩包,压缩包解压后有多个文件及文件夹,其中ThinkPHP文件夹为ThinkPHP框架的核心文件目录。

2.使用ThinkPHP

ThinkPHP不需要安装,只需要将解压的文件放到项目目录下即可,默认情况下,3.3版本的框架已经自带了一个应用入口文件,通过浏览器访问该人口文件即可,具体步骤如下。

(1)创建项目目录

在此之前我设置了下多站点 如下图所示

然后在apache服务器站点根目录下创建 名为TP文件夹 作为项目的根目录,将解压后的全部文件移动到该目录下,如下图所示。

注意  我的站点是 TP 这个文件夹哦!

以下是我解压出来的文件 我们把这些文件拷贝到站点文件夹里面

在这之前我已经在本地给TP这个站点手动设置了一个域名以及如下图所示

(最后一个是哦!)

(2)访问入口文件index.php

ThinkPHP框架采用单一入口模式进行项目部署和访问,所有应用都是从入口文件开始的。

现在我们打开浏览器,访问http/www.tp.com/index.php 运行结果如下图1-1所示。

如果浏览器出现如下图1-1所示的页面,说明ThinkPHP框架已经可以正常使用。

此时ThinkPHP会在Application目录下自动生成几个目录文件。如下图1-2所示。

 

图1-1

 

 

图1-2

接下来开发者就可以在相应的目录中编写代码文件了。

不过需要注意的是,ThinkPHP 3.3框架要求PHP版本在5.3以上时才可以使用。

1.2 案例一实现用户登录


 

我们现在已经完成了ThinkPHP 框架的部署,为了更好地理解ThinkPHP 框架。

接下来将通过ThinkPHP框架来开发一个用户登录功能,具体步骤如下。

1.创建测试数据
用户登录功能的关键是用户验证,而用户验证通常是通过在询数据库以判断该用户是否合法。因此首先要创建一个表保存用户信息,代码如下:

/*Navicat MySQL Data TransferSource Server         : localhost_3306Source Server Version : 50617Source Host           : localhost:3306Source Database       : tp_studyTarget Server Type    : MYSQLTarget Server Version : 50617File Encoding         : 65001Date: 2018-10-26 14:53:33*/SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for `user`-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `name` varchar(255) DEFAULT NULL,  `pwd` varchar(255) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=1003 DEFAULT CHARSET=utf8;-- ------------------------------ Records of user-- ----------------------------INSERT INTO `user` VALUES ('1001', 'tom', '123456');INSERT INTO `user` VALUES ('1002', 'lemon', '654321');

 

在上述代码中,首先创建数据库tp_study然后在此数据库中创建一息的数据表user.最后插人两条测试数据。

2.指定数据库连接信息

因为需要通过查询数据库比对用户信息.所以要提供数据库连接所需的数据库信息。

打开文件 修改代码如下打开文件

修改代码如下:

'配置值' 'DB_TYPE'=>'mysql', //数据库类型 'DB_HOST'=>'127.0.0.1', //服务器地址 'DB_NAME'=>'tp_study', //数据库名称 'DB_USER'=>'root', //用户名 'DB_PWD'=>'', //密码 'DB_PORT'=>'3306', //端口号 'DB_PREFIX'=>'', //数据库表前缀 'DB_CHARSET'=>'utf8', //数据库默认编码格式);

 

3.创建用户验证方法

为了实现用户的登录功能,需要在IndexController.class.php中添加一个验证登录的方法,这里我们定义这个方法的名称是

checkLogin()

打开文件

添加checkLogin()方法

代码如下:

 

show('

:)

欢迎使用 ThinkPHP

版本 V{$Think.version}
','utf-8'); } public function checkLogin(){ if(IS_POST){ $userName = I('post.username');//接收到用户填写的用户名 $passWord = I('post.password');//接收到用户填写的密码 $userObj = M('user'); $where = array('name'=>$userName); $tmp_password = $userObj->where($where)->getField('pwd'); if($tmp_password && $passWord == $tmp_password){ echo '
'; echo "密码正确,欢迎登录!"; } else{ echo '
'; echo "密码错误,请重新登录!"; } die; } $this->display('login'); }}

 

 

 

 

4.创建用户登录页面

打开目录新建 login.html 文件为登录界面

代码如下:

1  2  3  4 
5 用户登录 6 7 8 9
10 用户名:
11 密码:
12
13
14 15 16 17 18

 

 

5.创建其他文件

 

视图文件通常需要载人css样式文件才可以以显示页面效果,在上面的视图页面代码中如果需要引用 css文件显示样式,就需要创建该文件。

并将其存到

目录下。

这里我们不设置样式啦。。。

引用的css样式文件话 代码如下的第六行

1  2  3  4 
5 用户登录 6
7 8 9 10
11 用户名:
12 密码:
13
14
15 16 17 18 19

 

 

至此,用户登录功能的代码编写完成。

这时我们代开浏览器 输入下图地址

显示登录界面

快输入用户名密码试试看

 

转载于:https://www.cnblogs.com/lemon-Net-Skill/p/9856510.html

你可能感兴趣的文章
第二次寒假作业
查看>>
类与 对象 概念 break continue
查看>>
tensorRT使用python进行网络定义
查看>>
[转]从程序员到项目经理(三):认识项目经理
查看>>
深度分析如何在Hadoop中控制Map的数量
查看>>
dede判断当前文章
查看>>
mpvue学习笔记
查看>>
[LeetCode] 628. Maximum Product of Three Numbers_Easy
查看>>
[Java in NetBeans] Lesson 06. Custom classes
查看>>
[AngularFire2 & Firestore] Example for collection and doc
查看>>
[Javascript] The "this" keyword
查看>>
ElasticSearch-5.3.1集群环境搭建,安装ElasticSearch-head插件,安装错误解决
查看>>
sharepoint Report使用共享数据源部署报错
查看>>
C++ Primer 5th 第16章 模板与泛型编程
查看>>
22个Web 在线编辑器[转]
查看>>
解决“The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path”问题...
查看>>
T-SQL语句学习(一)
查看>>
装箱拆箱(一)
查看>>
Python3 PyMySQL 的使用
查看>>
11个审查Linux是否被入侵的方法
查看>>