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 相关文章推荐
php 常用类汇总 推荐收藏
May 13 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
laravel容器延迟加载以及auth扩展详解
Mar 02 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
php代码架构的八点注意事项
Jan 25 PHP
php分页查询mysql结果的base64处理方法示例
May 18 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
使用vs code编辑调试php配置的方法
Jan 29 PHP
XAMPP升级PHP版本实现步骤解析
Sep 04 PHP
php实现JWT验证的实例教程
Nov 26 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
用缓存实现静态页面的测试
2006/12/06 PHP
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
用JavaScript脚本实现Web页面信息交互
2006/10/11 Javascript
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
javascript 短路法代码精简
2009/08/20 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
2015/06/17 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
JavaScript数组去重由慢到快由繁到简(优化篇)
2016/08/26 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
vue2实现搜索结果中的搜索关键字高亮的代码
2018/08/29 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
vue 路由守卫(导航守卫)及其具体使用
2020/02/25 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
Python反爬虫技术之防止IP地址被封杀的讲解
2019/01/09 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
python Selenium 库的使用技巧
2020/10/16 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
selenium框架中driver.close()和driver.quit()关闭浏览器
2020/12/08 Python
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
大码女装:Ulla Popken
2019/08/06 全球购物
档案室主任岗位职责
2014/02/12 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
双拥工作宣传标语
2014/06/26 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
劳动仲裁调解书
2015/05/20 职场文书
不同意离婚代理词
2015/05/23 职场文书
我家女友可不止可爱呢 公开OP主题曲无字幕动画MV
2022/04/11 日漫