ThinkPHP实战.pdf
http://www.100md.com
2020年2月5日
![]() |
| 第1页 |
![]() |
| 第6页 |
![]() |
| 第20页 |
![]() |
| 第21页 |
参见附件(2552KB,22页)。
ThinkPHP实战是关于计算机技术的书籍,主要讲述了开源脚本语言的概念,适用于网页开发领域,包含了很多的计算机知识点和实用技巧。

ThinkPHP实战内容简介
PHP是一种通用开源脚本语言,开源、跨平台、易于使用,主要适用于Web开发领域。MVC模式使得PHP在大型Web项目开发中耦合性低、重用性高、可维护性高、有利于软件工程化管理。本书以实用性为目标,系统地介绍了ThinkPHP框架的相关技术及其在Web开发中的应用。 全书共14章,每一章都是相对独立的知识点的集合。内容涵盖了ThinkPHP常用功能模块和实用技巧、MySQL数据库的设计与应用、完整的Web项目开发流程等目前PHP开发中*主流的技术,每一章都有大量的示例以及详尽的注释,便于读者的理解和掌握。*后通过4个完整的项目详细介绍了Web应用从设计到运行的各个环节,便于读者更好地实践。 对于拥有PHP基础而不知道下一步该做什么的读者而言,本书不失为一本好的入门教材,本书所有的实例都可以在Web开发中直接使用,使读者能够加快Web应用开发的进程。此外,本书也适合对于网络开发有兴趣的读者,以及大中专院校和培训机构的师生阅读与参考。
ThinkPHP实战读者评价
最基础的入门python数据分析的书籍,除了python的一个入门,还介绍了常用的数据录入,Pandas,以及一些基本的matplotlib画图。整体浅尝辄止,没有具体案例,适合作为了解python数据分析的书。
ThinkPHP实战精彩内容
ThinkPHP是一个开源的、快速的、简单的、面向对象的轻量级PHP开发框架,它创建于2006年初,遵循Apache2开源协议发布,是为了加快Web应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。同时,ThinkPHP拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和其他性能方面不断优化和改进,已经成长为国内最领先和最具影响力的Web应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。
ThinkPHP实战截图


本书封面贴有清华大学出版社防伪标签,无标签者不得销售
版权所有,侵权必究。侵权举报电话:010-62782989 13701121933
图书在版编目(CIP)数据
ThinkPHP实战夏磊著.-北京:清华大学出版社,2017
ISBN 978-7-302-46652-9
Ⅰ.①T… Ⅱ.①夏… Ⅲ.①PHP语言-程序设计 Ⅳ.
①TP312.8
中国版本图书馆CIP数据核字(2017)第035995号
责任编辑: 夏毓彦
封面设计: 王 翔
责任校对: 闫秀华
责任印制:
出版发行: 清华大学出版社
网 址: http:www.tup.com.cn,http:www.wqbook.com
地 址: 北京清华大学学研大厦A座
邮 编: 100084
社总机: 010-62770175
邮 购: 010-62786544
投稿与读者服务: 010-62776969,c-service@tup.tsinghua.edu.cn质量反馈: 010-62772015,zhiliang@tup.tsinghua.edu.cn
印刷者:
装订者:
经 销: 全国新华书店
开 本: 190mm×260mm
印 张: 14.5
字 数: 371千字
版 次: 2017年4月第1版
印 次: 2017年4月第1次印刷
印 数: 1~3000
定 价: 49.00元
产品编号:068677-01内容简介
PHP是一种通用开源脚本语言,开源、跨平台、易于使用,主要适
用于Web开发领域。MVC模式使得PHP在大型Web项目开发中耦合性低、重
用性高、可维护性高、有利于软件工程化管理。本书以实用性为目标,系统地介绍了ThinkPHP框架的相关技术及其在Web开发中的应用。
全书共14章,每一章都是相对独立的知识点的集合。内容涵盖了
ThinkPHP常用功能模块和实用技巧、MySQL数据库的设计与应用、完整
的Web项目开发流程等目前PHP开发中最主流的技术,每一章都有大量的
示例以及详尽的注释,便于读者的理解和掌握。最后通过4个完整的项
目详细介绍了Web应用从设计到运行的各个环节,便于读者更好地实
践。
对于拥有PHP基础而不知道下一步该做什么的读者而言,本书不失
为一本好的入门教材,本书所有的实例都可以在Web开发中直接使用,使读者能够加快Web应用开发的进程。此外,本书也适合对于网络开发
有兴趣的读者,以及大中专院校和培训机构的师生阅读与参考。作者简介
夏磊,学士,毕业于湖南工业大学网络工程专业。目前从事软件开发工
作。精通PHP服务器脚本语言技术,善于把握运用新技术,如LAMPLNMP
平台以及Node.js平台下Web软件的开发、软件架构、设计模式等。作者
博客上大量的PHP相关技术文章,深受读者好评。前言
PHP是一种免费而且开源的开发语言,开源、跨平台、易于使用、学习门槛低的优点已经成为当前Web开发中的最佳编程语言。ThinkPHP
作为快速、简单的面向对象的轻量级PHP开发框架,已经成长为国内最
领先和最具影响力的Web应用开发框架,众多的典型案例确保可以稳定
用于商业以及门户级的开发。
本书包括14个章节,作为学习ThinkPHP的6个阶段,从ThinkPHP入
门到可以独立完成一个标准化的Web项目为止,所有内容都是当前Web开
发中常用而且重要的内容,全书基于模块化的思想设计编写,可以帮助
读者深刻理解ThinkPHP框架。本书全部知识点都以最新的
ThinkPHP3.2.3版本为主,详细介绍了ThinkPHP极其相关的Web技术,可
以帮助读者熟悉并掌握实用的ThinkPHP技术,其中包括当前比较流行的
模版化网页布局、路由、缓存、多语言等主流技术,实用性非常强。本
书所涉及的示例全部在服务器上运行通过,读者在学习和工作中,可以
直接使用本书给出的一些示例。
本书编写的宗旨是让读者能够拥有一本ThinkPHP方面的学习和开发
使用的书籍,本书力求对所涉及的知识点讲解到位,让读者可以轻松理
解并掌握。对于几乎每个知识点都有可运行的代码配套,所有代码都有
详尽的注释及说明。在大部分章节的最后都会结合一个实际用例,对该
章知识进行归纳总结,能够帮助读者更好地掌握理论知识点,提高实际
编程能力。
本书所有开发实例的源代码托管在github上:
https:github.comxialeistudiothinkphp-inaction
读者可以在开发中直接使用。对于本书有任何疑问,读者可以在github上面提问,笔者尽力及时回答读者提问,帮助读者提高编程能
力,解决读者在开发中遇到的难题。
本书程序开发环境
操作系统:Windows10企业版64位操作系统
Web服务器:Apache2.4.17
开发语言:PHP5.5.30
数据库:MariaDB (1) 10.1.81 (读者可以用MySQL5.6、MySQL5.7替代)
集成环境:PHPStorm10.0.3
ThinkPHP:ThinkPHP3.2.3完整版
浏览器:Chrome49.0.2618.8
本书适合读者
使用PHP+MySQL的Web网站开发人员
ThinkPHP MVC架构初学者
高等院校以及培训学校相关专业的师生
掌握PHP基础想深入学习的人员
本书由夏磊主笔编著。感谢清华大学出版社编辑夏毓彦及其他工作
人员,他们的辛勤工作促成了本书的出版。
著者
2017年2月
(1) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。第1章 ThinkPHP入门
1.1 MVC模式概述
MVC全名是Model View Controller,是模型(model)-视图
(view)-控制器(controller)的缩写,一种软件设计典范,用一种
业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一
个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新
编写业务逻辑。MVC被独特地发展起来用于映射传统的输入、处理和输
出功能在一个逻辑的图形化用户界面的结构中。
MVC模式是一种使用MVC(Model View Controller,模型-视图-控
制器)设计创建Web应用程序的模式:
Model(模型):应用程序数据定义(例如数据表字段)。
View(视图):显示数据(例如显示用户列表)。
Controller(控制器):处理输入(例如添加一个用户)。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。通常视图是依据
模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。通常控
制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC分层有助于管理复杂的应用程序,因为可以在一个时间内专门
关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计,同时也让应用程序的测试更加容易。
MVC分层同时也简化了分组开发。不同的开发人员可同时开发视
图、控制器逻辑和业务逻辑。
1.2 ThinkPHP是什么
ThinkPHP是一个免费开源的、快速的、简单的、面向对象的轻量级
PHP开发框架,它创建于2006年初,遵循Apache2开源协议发布,是为了
加快Web应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来
一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同
时,也注重易用性。同时,ThinkPHP拥有众多的原创功能和特性,在社
区团队的积极参与下,在易用性、扩展性和其他性能方面不断优化和改
进,已经成长为国内最领先和最具影响力的Web应用开发框架,众多的
典型案例确保可以稳定用于商业以及门户级的开发。
1.3 搭建PHP开发环境
“工欲善其事,必先利其器”,在学习PHP脚本编程语言之前,必
须先搭建并熟悉PHP运行环境,但是有一些初学者总是在安装环境上浪
费大量时间。或许是因为过于追求完美,想安装一个完全由自己掌握的
开发环境;而有的则是因为刚开始学习,被网上一些文章所误导,在
Linux下使用源代码编译安装LAMP环境,笔者觉得这些事情可以说
是“本末倒置”了,就算是笔者本人,要在Linux下编译安装LAMP环境
也需要一天左右。对于初学者,可能会因此打击到学习PHP的信心,笔
者觉得这是得不偿失的。笔者建议使用本节介绍的方式进行PHP开发环
境的搭建,无论有无基础,都可以在几个小时之后开始编码工作。
目前网上提供的Windows下PHP的集成环境有AppServ、phpStudy、WAMP和UPUPW等,这些软件之间的差别不大,都是集成了PHP、MySQL、Apache。本书主要以UPUPW为例,介绍集成环境的安装和配置。
1.3.1 获取UPUPW
本书写作时采用Apache版UPUPW PHP5.5系列环境包1510,这个工具
包的主要软件如下:
PHP5.5.30
Apache2.4.17
MariaDB10.1.8
下载地址:
软件名称:
1.3.2 安装UPUPW
步骤01 进入软件下的文件夹,将UPUPW_AP5.5-1510.7z解压,右
击“upupw.exe”,选择“以管理员身份运行”,打开软件,如图1-1所示。图1-1
步骤02 输入“s1”开启全部服务,如图1-2所示。
图1-2
步骤03 打开浏览器,在地址栏输入“localhost”进行测试,如果一
切顺利,看到如图1-3所示的结果,则表示安装成功。图1-3
1.3.3 目录结构说明
Apache2:Apache软件目录。
Backup:upupw配置文件的备份及功能目录。
ErrorFiles:服务器错误页面。
FileZillaftp:FileZilla服务端软件目录。
htdocs:Apache Web目录。
MariaDB:MariaDB数据库目录。
memcached:Memcached软件目录。
PHP5:PHP软件目录。
phpmyadmin:phpmyadmin软件目录。
sendmail:sendmail软件目录。
temp:服务器临时文件目录。
upcore:upupw核心程序目录。
vhosts:虚拟主机目录。
xdebug:xdebug软件目录。
upupw.exe:upupw主程序。1.3.4 添加虚拟主机
虚拟主机是在网络服务器上分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟主
机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多
个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的
Internet服务器(支持WWW、FTP、E-mail等)功能。
步骤01 打开UPUPW安装文件夹,右击upupw.exe,选择“以管理员身份
运行”,如图1-1所示。
步骤02 输入“1”添加虚拟主机,输入主域名www.test.com,额外域
名不输入,网站目录留空即可,upupw会自动建立相关目录,最后按回车键即可,如图1-4所示。
图1-4
步骤03 输入“q”返回主界面,然后输入“11”打开“添加本地域名
解析”,如图1-5所示。图1-5
步骤04 单击Add domain,在弹出窗口中输入数据,字段说明如下:
IP Address:IP地址,输入127.0.0.1。
Domain Name:域名,输入www.test.com。
Comment:注释,留空即可。
步骤05 输入完成后单击OK即可,如图1-6所示。图1-6
单击Save之后关闭该软件以及upupw.exe。
步骤06 打开浏览器,在地址栏中输入www.test.com,进行测试,如果
一切顺利,看到如图1-3所示结果,证明添加虚拟主机成功;
如果失败,请重启浏览器之后重试。
1.3.5 安装集成开发环境PHPStorm
步骤01 打开浏览器,在地址栏中输入
https:www.jetbrains.comphpstormdownload,单击
DOWNLOAD,下载PHPStorm安装程序。
步骤02 双击打开下载的PhpStorm-10.0.3,打开安装程序,一路单击
Next即可。默认程序安装在C:\Program
Files(x86)\JetBrains\PhpStorm 10.0.3。
步骤03 打开C:\Program Files(x86)\JetBrains\PhpStorm
10.0.3\bin\PhpStorm.exe,第一次运行会询问你一下有没有
配置文件需要导入,这里直接单击OK即可。步骤04 接下来程序会要求进行注册,有条件的用户可以去官方网站购
买,这里单击试用即可。
步骤05 PHPStorm官方只有英文版本,网上有汉化版,笔者不推荐使
用,有时候会引起软件崩溃。至于使用英文版本的过程中,对
于程序有不懂的地方,笔者建议安装一个有道词典进行翻译。
1.4 第一个ThinkPHP程序
步骤01 打开浏览器,在地址栏中输入“thinkphp.cn”,打开
ThinkPHP官方网站,在网站右侧单击“ThinkPHP3.2.3完整
版”,下载到计算机。
步骤02 将下载的“thinkphp_3.2.3_full.zip”解压到你的upupw目录
\vhosts\www.test.com中,文件结构如图1-7所示。
图1-7
步骤03 打开浏览器,在地址栏输入www.test.com进行测试,如果一切
顺利,可以看到结果,如图1-8所示。图1-8
1.5 应用结构说明
1.5.1 目录说明
一个典型的ThinkPHP应用目录结构如下:
其中应用目录Application的结构如下:1.5.2 入口文件
几乎所有的PHP MVC框架都会采用单一入口(网站的所有访问都会
经过该文件)进行项目访问,ThinkPHP也不例外。
入口文件主要完成以下事情:
定义框架路径、项目路径。
定义调试模式和应用模式(可选)。
定义全局常量(可选)。
加载框架入口文件。
1.5.3 自动生成
细心的读者可能会发现,下载的thinkphp_3.2.3_full.zip解压后
Application目录是空的,而访问www.test.com之后会发现该目录下面
多出了Common、Home、Runtime目录。这其实是ThinkPHP自动生成的,目的是为了简化开发工作,规范项目结构。而每个目录下都有一个
index.html文件,打开这个文件后发现只有一个空格,这又是做什么的
呢?这也是ThinkPHP为我们做的,目的是为了安全,因为有些Web服务
器可能没有关闭目录访问,如果一个目录中没有默认首页(浏览器地址栏未指定访问文件时,服务器自动访问的文件,一般为index.php、index.html)时,整个目录会显示在浏览器窗口中,有害网站安全。
1.5.4 模块
ThinkPHP3.2采用模块化的设计,每个模块之间相对独立,每个模
块可以很方便地卸载和部署。默认模块为Home模块,如果想添加其他模
块,比如后台模块,则在Home目录同级建立Admin目录即可。一个典型
的模块目录如下:
1.5.5 控制器
当我们访问www.test.com时,浏览器怎么会显示出“欢迎使用
ThinkPHP!”字样呢?
简要地分析一下执行流程:
步骤01 Web服务器加载默认首页。
步骤02 ndex.php加载ThinkPHP.php,框架开始运行。
步骤03 由于未指定模块、控制器和动作,框架采用默认配置:Home模
块、Index控制器、index动作。
步骤04 根据APP_PATH找到Application目录,再根据模块名、控制器
名和动作名找到Home目录下的IndexController.class.php,并执行其中的index方法,我们可以打开文件查看一下代码,代码如图1-9所示。图1-9
1.6 术语解释
1.项目
一个完整的Web程序,最少包括应用目录、框架目录、入口文件三
者,一个项目可以有多个应用和多个入口文件,但是一个入口文件只对
应一个应用。举个简单的例子,有个留言板的项目,Application目录
和index.php组成前台应用,Admin目录和admin.php组成后台应用,这
两个应用都属于留言板项目。
2.应用免费样章到此结束。
喜欢这本书?
点击购买
或
前往Kindle商店查看图书详情。 ......
版权所有,侵权必究。侵权举报电话:010-62782989 13701121933
图书在版编目(CIP)数据
ThinkPHP实战夏磊著.-北京:清华大学出版社,2017
ISBN 978-7-302-46652-9
Ⅰ.①T… Ⅱ.①夏… Ⅲ.①PHP语言-程序设计 Ⅳ.
①TP312.8
中国版本图书馆CIP数据核字(2017)第035995号
责任编辑: 夏毓彦
封面设计: 王 翔
责任校对: 闫秀华
责任印制:
出版发行: 清华大学出版社
网 址: http:www.tup.com.cn,http:www.wqbook.com
地 址: 北京清华大学学研大厦A座
邮 编: 100084
社总机: 010-62770175
邮 购: 010-62786544
投稿与读者服务: 010-62776969,c-service@tup.tsinghua.edu.cn质量反馈: 010-62772015,zhiliang@tup.tsinghua.edu.cn
印刷者:
装订者:
经 销: 全国新华书店
开 本: 190mm×260mm
印 张: 14.5
字 数: 371千字
版 次: 2017年4月第1版
印 次: 2017年4月第1次印刷
印 数: 1~3000
定 价: 49.00元
产品编号:068677-01内容简介
PHP是一种通用开源脚本语言,开源、跨平台、易于使用,主要适
用于Web开发领域。MVC模式使得PHP在大型Web项目开发中耦合性低、重
用性高、可维护性高、有利于软件工程化管理。本书以实用性为目标,系统地介绍了ThinkPHP框架的相关技术及其在Web开发中的应用。
全书共14章,每一章都是相对独立的知识点的集合。内容涵盖了
ThinkPHP常用功能模块和实用技巧、MySQL数据库的设计与应用、完整
的Web项目开发流程等目前PHP开发中最主流的技术,每一章都有大量的
示例以及详尽的注释,便于读者的理解和掌握。最后通过4个完整的项
目详细介绍了Web应用从设计到运行的各个环节,便于读者更好地实
践。
对于拥有PHP基础而不知道下一步该做什么的读者而言,本书不失
为一本好的入门教材,本书所有的实例都可以在Web开发中直接使用,使读者能够加快Web应用开发的进程。此外,本书也适合对于网络开发
有兴趣的读者,以及大中专院校和培训机构的师生阅读与参考。作者简介
夏磊,学士,毕业于湖南工业大学网络工程专业。目前从事软件开发工
作。精通PHP服务器脚本语言技术,善于把握运用新技术,如LAMPLNMP
平台以及Node.js平台下Web软件的开发、软件架构、设计模式等。作者
博客上大量的PHP相关技术文章,深受读者好评。前言
PHP是一种免费而且开源的开发语言,开源、跨平台、易于使用、学习门槛低的优点已经成为当前Web开发中的最佳编程语言。ThinkPHP
作为快速、简单的面向对象的轻量级PHP开发框架,已经成长为国内最
领先和最具影响力的Web应用开发框架,众多的典型案例确保可以稳定
用于商业以及门户级的开发。
本书包括14个章节,作为学习ThinkPHP的6个阶段,从ThinkPHP入
门到可以独立完成一个标准化的Web项目为止,所有内容都是当前Web开
发中常用而且重要的内容,全书基于模块化的思想设计编写,可以帮助
读者深刻理解ThinkPHP框架。本书全部知识点都以最新的
ThinkPHP3.2.3版本为主,详细介绍了ThinkPHP极其相关的Web技术,可
以帮助读者熟悉并掌握实用的ThinkPHP技术,其中包括当前比较流行的
模版化网页布局、路由、缓存、多语言等主流技术,实用性非常强。本
书所涉及的示例全部在服务器上运行通过,读者在学习和工作中,可以
直接使用本书给出的一些示例。
本书编写的宗旨是让读者能够拥有一本ThinkPHP方面的学习和开发
使用的书籍,本书力求对所涉及的知识点讲解到位,让读者可以轻松理
解并掌握。对于几乎每个知识点都有可运行的代码配套,所有代码都有
详尽的注释及说明。在大部分章节的最后都会结合一个实际用例,对该
章知识进行归纳总结,能够帮助读者更好地掌握理论知识点,提高实际
编程能力。
本书所有开发实例的源代码托管在github上:
https:github.comxialeistudiothinkphp-inaction
读者可以在开发中直接使用。对于本书有任何疑问,读者可以在github上面提问,笔者尽力及时回答读者提问,帮助读者提高编程能
力,解决读者在开发中遇到的难题。
本书程序开发环境
操作系统:Windows10企业版64位操作系统
Web服务器:Apache2.4.17
开发语言:PHP5.5.30
数据库:MariaDB (1) 10.1.81 (读者可以用MySQL5.6、MySQL5.7替代)
集成环境:PHPStorm10.0.3
ThinkPHP:ThinkPHP3.2.3完整版
浏览器:Chrome49.0.2618.8
本书适合读者
使用PHP+MySQL的Web网站开发人员
ThinkPHP MVC架构初学者
高等院校以及培训学校相关专业的师生
掌握PHP基础想深入学习的人员
本书由夏磊主笔编著。感谢清华大学出版社编辑夏毓彦及其他工作
人员,他们的辛勤工作促成了本书的出版。
著者
2017年2月
(1) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可
MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。第1章 ThinkPHP入门
1.1 MVC模式概述
MVC全名是Model View Controller,是模型(model)-视图
(view)-控制器(controller)的缩写,一种软件设计典范,用一种
业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一
个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新
编写业务逻辑。MVC被独特地发展起来用于映射传统的输入、处理和输
出功能在一个逻辑的图形化用户界面的结构中。
MVC模式是一种使用MVC(Model View Controller,模型-视图-控
制器)设计创建Web应用程序的模式:
Model(模型):应用程序数据定义(例如数据表字段)。
View(视图):显示数据(例如显示用户列表)。
Controller(控制器):处理输入(例如添加一个用户)。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。通常视图是依据
模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。通常控
制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC分层有助于管理复杂的应用程序,因为可以在一个时间内专门
关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计,同时也让应用程序的测试更加容易。
MVC分层同时也简化了分组开发。不同的开发人员可同时开发视
图、控制器逻辑和业务逻辑。
1.2 ThinkPHP是什么
ThinkPHP是一个免费开源的、快速的、简单的、面向对象的轻量级
PHP开发框架,它创建于2006年初,遵循Apache2开源协议发布,是为了
加快Web应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来
一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同
时,也注重易用性。同时,ThinkPHP拥有众多的原创功能和特性,在社
区团队的积极参与下,在易用性、扩展性和其他性能方面不断优化和改
进,已经成长为国内最领先和最具影响力的Web应用开发框架,众多的
典型案例确保可以稳定用于商业以及门户级的开发。
1.3 搭建PHP开发环境
“工欲善其事,必先利其器”,在学习PHP脚本编程语言之前,必
须先搭建并熟悉PHP运行环境,但是有一些初学者总是在安装环境上浪
费大量时间。或许是因为过于追求完美,想安装一个完全由自己掌握的
开发环境;而有的则是因为刚开始学习,被网上一些文章所误导,在
Linux下使用源代码编译安装LAMP环境,笔者觉得这些事情可以说
是“本末倒置”了,就算是笔者本人,要在Linux下编译安装LAMP环境
也需要一天左右。对于初学者,可能会因此打击到学习PHP的信心,笔
者觉得这是得不偿失的。笔者建议使用本节介绍的方式进行PHP开发环
境的搭建,无论有无基础,都可以在几个小时之后开始编码工作。
目前网上提供的Windows下PHP的集成环境有AppServ、phpStudy、WAMP和UPUPW等,这些软件之间的差别不大,都是集成了PHP、MySQL、Apache。本书主要以UPUPW为例,介绍集成环境的安装和配置。
1.3.1 获取UPUPW
本书写作时采用Apache版UPUPW PHP5.5系列环境包1510,这个工具
包的主要软件如下:
PHP5.5.30
Apache2.4.17
MariaDB10.1.8
下载地址:
软件名称:
1.3.2 安装UPUPW
步骤01 进入软件下的文件夹,将UPUPW_AP5.5-1510.7z解压,右
击“upupw.exe”,选择“以管理员身份运行”,打开软件,如图1-1所示。图1-1
步骤02 输入“s1”开启全部服务,如图1-2所示。
图1-2
步骤03 打开浏览器,在地址栏输入“localhost”进行测试,如果一
切顺利,看到如图1-3所示的结果,则表示安装成功。图1-3
1.3.3 目录结构说明
Apache2:Apache软件目录。
Backup:upupw配置文件的备份及功能目录。
ErrorFiles:服务器错误页面。
FileZillaftp:FileZilla服务端软件目录。
htdocs:Apache Web目录。
MariaDB:MariaDB数据库目录。
memcached:Memcached软件目录。
PHP5:PHP软件目录。
phpmyadmin:phpmyadmin软件目录。
sendmail:sendmail软件目录。
temp:服务器临时文件目录。
upcore:upupw核心程序目录。
vhosts:虚拟主机目录。
xdebug:xdebug软件目录。
upupw.exe:upupw主程序。1.3.4 添加虚拟主机
虚拟主机是在网络服务器上分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟主
机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多
个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的
Internet服务器(支持WWW、FTP、E-mail等)功能。
步骤01 打开UPUPW安装文件夹,右击upupw.exe,选择“以管理员身份
运行”,如图1-1所示。
步骤02 输入“1”添加虚拟主机,输入主域名www.test.com,额外域
名不输入,网站目录留空即可,upupw会自动建立相关目录,最后按回车键即可,如图1-4所示。
图1-4
步骤03 输入“q”返回主界面,然后输入“11”打开“添加本地域名
解析”,如图1-5所示。图1-5
步骤04 单击Add domain,在弹出窗口中输入数据,字段说明如下:
IP Address:IP地址,输入127.0.0.1。
Domain Name:域名,输入www.test.com。
Comment:注释,留空即可。
步骤05 输入完成后单击OK即可,如图1-6所示。图1-6
单击Save之后关闭该软件以及upupw.exe。
步骤06 打开浏览器,在地址栏中输入www.test.com,进行测试,如果
一切顺利,看到如图1-3所示结果,证明添加虚拟主机成功;
如果失败,请重启浏览器之后重试。
1.3.5 安装集成开发环境PHPStorm
步骤01 打开浏览器,在地址栏中输入
https:www.jetbrains.comphpstormdownload,单击
DOWNLOAD,下载PHPStorm安装程序。
步骤02 双击打开下载的PhpStorm-10.0.3,打开安装程序,一路单击
Next即可。默认程序安装在C:\Program
Files(x86)\JetBrains\PhpStorm 10.0.3。
步骤03 打开C:\Program Files(x86)\JetBrains\PhpStorm
10.0.3\bin\PhpStorm.exe,第一次运行会询问你一下有没有
配置文件需要导入,这里直接单击OK即可。步骤04 接下来程序会要求进行注册,有条件的用户可以去官方网站购
买,这里单击试用即可。
步骤05 PHPStorm官方只有英文版本,网上有汉化版,笔者不推荐使
用,有时候会引起软件崩溃。至于使用英文版本的过程中,对
于程序有不懂的地方,笔者建议安装一个有道词典进行翻译。
1.4 第一个ThinkPHP程序
步骤01 打开浏览器,在地址栏中输入“thinkphp.cn”,打开
ThinkPHP官方网站,在网站右侧单击“ThinkPHP3.2.3完整
版”,下载到计算机。
步骤02 将下载的“thinkphp_3.2.3_full.zip”解压到你的upupw目录
\vhosts\www.test.com中,文件结构如图1-7所示。
图1-7
步骤03 打开浏览器,在地址栏输入www.test.com进行测试,如果一切
顺利,可以看到结果,如图1-8所示。图1-8
1.5 应用结构说明
1.5.1 目录说明
一个典型的ThinkPHP应用目录结构如下:
其中应用目录Application的结构如下:1.5.2 入口文件
几乎所有的PHP MVC框架都会采用单一入口(网站的所有访问都会
经过该文件)进行项目访问,ThinkPHP也不例外。
入口文件主要完成以下事情:
定义框架路径、项目路径。
定义调试模式和应用模式(可选)。
定义全局常量(可选)。
加载框架入口文件。
1.5.3 自动生成
细心的读者可能会发现,下载的thinkphp_3.2.3_full.zip解压后
Application目录是空的,而访问www.test.com之后会发现该目录下面
多出了Common、Home、Runtime目录。这其实是ThinkPHP自动生成的,目的是为了简化开发工作,规范项目结构。而每个目录下都有一个
index.html文件,打开这个文件后发现只有一个空格,这又是做什么的
呢?这也是ThinkPHP为我们做的,目的是为了安全,因为有些Web服务
器可能没有关闭目录访问,如果一个目录中没有默认首页(浏览器地址栏未指定访问文件时,服务器自动访问的文件,一般为index.php、index.html)时,整个目录会显示在浏览器窗口中,有害网站安全。
1.5.4 模块
ThinkPHP3.2采用模块化的设计,每个模块之间相对独立,每个模
块可以很方便地卸载和部署。默认模块为Home模块,如果想添加其他模
块,比如后台模块,则在Home目录同级建立Admin目录即可。一个典型
的模块目录如下:
1.5.5 控制器
当我们访问www.test.com时,浏览器怎么会显示出“欢迎使用
ThinkPHP!”字样呢?
简要地分析一下执行流程:
步骤01 Web服务器加载默认首页。
步骤02 ndex.php加载ThinkPHP.php,框架开始运行。
步骤03 由于未指定模块、控制器和动作,框架采用默认配置:Home模
块、Index控制器、index动作。
步骤04 根据APP_PATH找到Application目录,再根据模块名、控制器
名和动作名找到Home目录下的IndexController.class.php,并执行其中的index方法,我们可以打开文件查看一下代码,代码如图1-9所示。图1-9
1.6 术语解释
1.项目
一个完整的Web程序,最少包括应用目录、框架目录、入口文件三
者,一个项目可以有多个应用和多个入口文件,但是一个入口文件只对
应一个应用。举个简单的例子,有个留言板的项目,Application目录
和index.php组成前台应用,Admin目录和admin.php组成后台应用,这
两个应用都属于留言板项目。
2.应用免费样章到此结束。
喜欢这本书?
点击购买
或
前往Kindle商店查看图书详情。 ......
您现在查看是摘要介绍页, 详见PDF附件(2552KB,22页)。



