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实现图象锐化代码
Jun 14 PHP
PHP 实用代码收集
Jan 22 PHP
生成ubuntu自动切换壁纸xml文件的php代码
Jul 17 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
图文介绍PHP添加Redis模块及连接
Jul 28 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
ThinkPHP中html:list标签用法分析
Jan 09 PHP
PHP快速生成各种信息提示框的方法
Feb 03 PHP
php preg_match的匹配不同国家语言实例
Dec 29 PHP
PHP反射机制原理与用法详解
Feb 15 PHP
php微信开发之音乐回复功能
Jun 14 PHP
解决laravel session失效的问题
Oct 14 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
PHP Class&Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
php伪静态之APACHE篇
2014/06/02 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
jquery uaMatch源代码
2011/02/14 Javascript
纯JS实现动态时间显示代码
2014/02/08 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
js实现Select列表内容自动滚动效果代码
2015/08/20 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
详解vue移动端日期选择组件
2018/02/22 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
详解微信小程序胶囊按钮返回|首页自定义导航栏功能
2019/06/14 Javascript
vue中使用vue-print.js实现多页打印
2020/03/05 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
python直接获取API传递回来的参数方法
2018/12/17 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
语文教学随笔感言
2014/02/18 职场文书
基层工作经验证明样本
2014/11/16 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS