持续维护ThinkPHP 3.x 版本的语法,使用现代的composer等类库,但保持对原有语法和用法的兼容,以便此前程序可以迁移升级。
本项目采用与官方原始版本一致的 Apache 2 开源协议。
- 兼容PHP 7、PHP 8 版本。( 已完成:参见变更结构文档:https://github.com/ThinkPHP-LTS/ThinkPHP-3-LTS/blob/main/docs/change_index.md )
- 发现一些TP5、TP6的比较好的特性,进行引入
- 关注和验证可能的漏洞情况,尝试修复。 增加一些主动防御的插件机制。
群号:619288321
① Composer 包地址: https://packagist.org/packages/thinkphp-lts/thinkphp-3-lts
② 到项目文件夹下使用执行composer安装命令
composer require thinkphp-lts/thinkphp-3-lts dev-main
建立index.php文件如下
<?php
// 应用入口文件
// 检测PHP环境
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
die('Modern Framework Need PHP > 7.0.0 !');
}
// 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false
define('APP_DEBUG', true);
// 定义应用目录
define('APP_PATH', './Application/');
// 定义静态文件路径-建议使用CDN地址
define("STATIC_PATH","http://cdn.com/");
// 引入ThinkPHP入口文件
require './vendor/thinkphp-lts/thinkphp-3-lts/src/ThinkPHP/ThinkPHP.php';
// 亲^_^ 后面不需要任何代码了 就是如此简单
然后使用 php -S localhost:80 启动开发服务器,之后访问 http://localhost
正确后会返回
欢迎使用 ThinkPHP!
版本 V3.2.5
返回目录,即看到框架自动生成了 Application文件夹(项目初始化目录)
后续注意在.gitignore里忽略掉 vendor 目录
官方原始代码地址: https://github.com/top-think/thinkphp
官方已经不在维护3.x版本,参见官网关于支持周期的说明博客:https://blog.thinkphp.cn/810718
官方该版本原始文档:https://www.kancloud.cn/manual/thinkphp | 官网: https://www.thinkphp.cn/ | 早期的下载页面:https://www.thinkphp.cn/down.html
本项目的代码起始点为官方的 3.2.5版本 https://github.com/top-think/thinkphp/releases/tag/v3.2.5
官方在 3.2.5版本后,在最新的master分支还有几次关于路由的修改,但是并未发布新版;为了保持跟此前程序的兼容性,本项目(ThinkPHP-3-LTS)没有引入官方未发版的关于路由的几次代码修改。
3.2.5版本对应的详细提交id为: https://github.com/top-think/thinkphp/commit/45489acfa131cf47efa61e85be05bedc8c3c94cf
类似的项目还有5.0.x支持计划:https://github.com/ThinkPHP-LTS/ThinkPHP-5.0.x-LTS
在官方版本的 ThinkPHP/Library/Vendor/ 目录下存在第三方类库,本LTS版本移除了文件包含形式的第三方类库,改为使用更通用的composer方式包含。
清单和重新composer方式引用类库说明如下:
(1) Boris 1.0.8
composer require d11wtq/boris v1.0.8
已验证 vendor\d11wtq\boris\lib\Boris 下文件与官方自带的文件完全一致