Thinkphp 框架基础之源码获取、环境要求与目录结构分析


Posted in PHP onApril 27, 2020

本文实例讲述了Thinkphp 框架基础之源码获取、环境要求与目录结构。分享给大家供大家参考,具体如下:

获取ThinkPHP

获取ThinkPHP的方式很多,官方网站(http://thinkphp.cn)是最好的下载和文档获取来源。

官网提供了稳定版本的下载:http://thinkphp.cn/down/framework.html

如果你希望保持最新的更新,可以通过github获取当前最新的版本(完整版)。

Git获取地址列表(你可以选择一个最快的地址):

Github: https://github.com/liu21st/thinkphp
Oschina: http://git.oschina.net/liu21st/thinkphp.git
Code: https://code.csdn.net/topthink2011/ThinkPHP
Coding: https://coding.net/u/liu21st/p/thinkphp/git

PHP版本要求

  • PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持)

支持的服务器和数据库环境

  • 支持Windows/Unix服务器环境
  • 可运行于包括Apache、IIS和nginx在内的多种WEB服务器和模式
  • 支持Mysql、MsSQL、PgSQL、Sqlite、Oracle、Ibase、Mongo等多种数据库和连接

目录结构

下载框架后,解压缩到web目录下面,可以看到初始的目录结构如下:

www  WEB部署目录(或者子目录)
├─index.php       入口文件
├─README.md       README文件
├─Application     应用目录
├─Public          资源文件目录
└─ThinkPHP        框架目录

开发人员可以在这个基础之上灵活调整。其中,ApplicationPublic目录下面都是空的。

README.md文件仅用于说明,实际部署的时候可以删除。

上面的目录结构和名称是可以改变的,这取决于你的入口文件和配置参数。

Application目录默认是空的,但是第一次访问入口文件会自动生成,

其中框架目录ThinkPHP的结构如下:

├─ThinkPHP 框架系统目录(可以部署在非web目录下面)
│  ├─Common       核心公共函数目录
│  ├─Conf         核心配置目录
│  ├─Lang         核心语言包目录
│  ├─Library      框架类库目录
│  │  ├─Think     核心Think类库包目录
│  │  ├─Behavior  行为类库目录
│  │  ├─Org       Org类库包目录
│  │  ├─Vendor    第三方类库目录
│  │  ├─ ...      更多类库目录
│  ├─Mode         框架应用模式目录
│  ├─Tpl          系统模板目录
│  ├─LICENSE.txt  框架授权协议文件
│  ├─logo.png     框架LOGO文件
│  ├─README.txt   框架README文件
│  └─ThinkPHP.php 框架入口文件

上述应用的目录结构只是默认设置,事实上,在实际部署应用的时候,我们建议除了应用入口文件和Public资源目录外,其他文件都放到非WEB目录下面,具有更好的安全性。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
第六节--访问属性和方法
Nov 16 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
PHP多个版本的分析解释
Jul 21 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
php实现天干地支计算器示例
Mar 14 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
php使用curl通过代理获取数据的实现方法
May 16 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
May 18 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
Apr 05 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 PHP
浅谈如何提高PHP代码质量之端到端集成测试
May 28 PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 #PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 #PHP
php让json_encode不自动转义斜杠“/”的方法
Apr 27 #PHP
PHP Pipeline 实现中间件的示例代码
Apr 26 #PHP
PHP设计模式入门之状态模式原理与实现方法分析
Apr 26 #PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
Apr 26 #PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 26 #PHP
You might like
JavaScript实际应用:innerHTMl和确认提示的使用
2006/06/22 Javascript
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
2013/07/10 Javascript
JavaScript中的关键字"VAR"使用详解 分享
2013/07/31 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
Node.js刷新session过期时间的实现方法推荐
2016/05/18 Javascript
Angular2使用vscode断点调试ts文件的方法
2017/12/13 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
[06:06]2018DOTA2亚洲邀请赛主赛事第四日战况回顾 全明星赛欢乐上演
2018/04/07 DOTA
Python实现的一个简单LRU cache
2014/09/26 Python
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
Python print不能立即打印的解决方式
2020/02/19 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
2020/12/14 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
一些关于MySql加速和优化的面试题
2014/01/30 面试题
自动化专业本科毕业生求职信
2013/10/20 职场文书
营业经理岗位职责
2013/11/10 职场文书
电钳专业个人求职信
2014/01/04 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
生物技术专业求职信
2014/06/10 职场文书
秋季运动会加油词
2015/07/18 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python