42 changed files with 1865 additions and 0 deletions
@ -0,0 +1 @@ |
|||
APP_DEBUG = true
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = test
USERNAME = username
PASSWORD = password
HOSTPORT = 3306
CHARSET = utf8
DEBUG = true
[LANG]
default_lang = zh-cn |
|||
@ -0,0 +1,5 @@ |
|||
/.idea |
|||
/.vscode |
|||
/vendor |
|||
*.log |
|||
.env |
|||
@ -0,0 +1,42 @@ |
|||
sudo: false |
|||
|
|||
language: php |
|||
|
|||
branches: |
|||
only: |
|||
- stable |
|||
|
|||
cache: |
|||
directories: |
|||
- $HOME/.composer/cache |
|||
|
|||
before_install: |
|||
- composer self-update |
|||
|
|||
install: |
|||
- composer install --no-dev --no-interaction --ignore-platform-reqs |
|||
- zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Core.zip . |
|||
- composer require --update-no-dev --no-interaction "topthink/think-image:^1.0" |
|||
- composer require --update-no-dev --no-interaction "topthink/think-migration:^1.0" |
|||
- composer require --update-no-dev --no-interaction "topthink/think-captcha:^1.0" |
|||
- composer require --update-no-dev --no-interaction "topthink/think-mongo:^1.0" |
|||
- composer require --update-no-dev --no-interaction "topthink/think-worker:^1.0" |
|||
- composer require --update-no-dev --no-interaction "topthink/think-helper:^1.0" |
|||
- composer require --update-no-dev --no-interaction "topthink/think-queue:^1.0" |
|||
- composer require --update-no-dev --no-interaction "topthink/think-angular:^1.0" |
|||
- composer require --dev --update-no-dev --no-interaction "topthink/think-testing:^1.0" |
|||
- zip -r --exclude='*.git*' --exclude='*.zip' --exclude='*.travis.yml' ThinkPHP_Full.zip . |
|||
|
|||
script: |
|||
- php think unit |
|||
|
|||
deploy: |
|||
provider: releases |
|||
api_key: |
|||
secure: TSF6bnl2JYN72UQOORAJYL+CqIryP2gHVKt6grfveQ7d9rleAEoxlq6PWxbvTI4jZ5nrPpUcBUpWIJHNgVcs+bzLFtyh5THaLqm39uCgBbrW7M8rI26L8sBh/6nsdtGgdeQrO/cLu31QoTzbwuz1WfAVoCdCkOSZeXyT/CclH99qV6RYyQYqaD2wpRjrhA5O4fSsEkiPVuk0GaOogFlrQHx+C+lHnf6pa1KxEoN1A0UxxVfGX6K4y5g4WQDO5zT4bLeubkWOXK0G51XSvACDOZVIyLdjApaOFTwamPcD3S1tfvuxRWWvsCD5ljFvb2kSmx5BIBNwN80MzuBmrGIC27XLGOxyMerwKxB6DskNUO9PflKHDPI61DRq0FTy1fv70SFMSiAtUv9aJRT41NQh9iJJ0vC8dl+xcxrWIjU1GG6+l/ZcRqVx9V1VuGQsLKndGhja7SQ+X1slHl76fRq223sMOql7MFCd0vvvxVQ2V39CcFKao/LB1aPH3VhODDEyxwx6aXoTznvC/QPepgWsHOWQzKj9ftsgDbsNiyFlXL4cu8DWUty6rQy8zT2b4O8b1xjcwSUCsy+auEjBamzQkMJFNlZAIUrukL/NbUhQU37TAbwsFyz7X0E/u/VMle/nBCNAzgkMwAUjiHM6FqrKKBRWFbPrSIixjfjkCnrMEPw= |
|||
file: |
|||
- ThinkPHP_Core.zip |
|||
- ThinkPHP_Full.zip |
|||
skip_cleanup: true |
|||
on: |
|||
tags: true |
|||
@ -0,0 +1,32 @@ |
|||
|
|||
ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 |
|||
版权所有Copyright © 2006-2016 by ThinkPHP (http://thinkphp.cn) |
|||
All rights reserved。 |
|||
ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 |
|||
|
|||
Apache Licence是著名的非盈利开源组织Apache采用的协议。 |
|||
该协议和BSD类似,鼓励代码共享和尊重原作者的著作权, |
|||
允许代码修改,再作为开源或商业软件发布。需要满足 |
|||
的条件: |
|||
1. 需要给代码的用户一份Apache Licence ; |
|||
2. 如果你修改了代码,需要在被修改的文件中说明; |
|||
3. 在延伸的代码中(修改和有源代码衍生的代码中)需要 |
|||
带有原来代码中的协议,商标,专利声明和其他原来作者规 |
|||
定需要包含的说明; |
|||
4. 如果再发布的产品中包含一个Notice文件,则在Notice文 |
|||
件中需要带有本协议内容。你可以在Notice中增加自己的 |
|||
许可,但不可以表现为对Apache Licence构成更改。 |
|||
具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0 |
|||
|
|||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
|||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
|||
COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
|||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
|||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
|||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
|||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
|||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
|||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
|||
POSSIBILITY OF SUCH DAMAGE. |
|||
@ -0,0 +1,56 @@ |
|||
ThinkPHP 6.0 |
|||
=============== |
|||
|
|||
> 运行环境要求PHP7.1+,兼容PHP8.0。 |
|||
|
|||
[官方应用服务市场](https://market.topthink.com) | [`ThinkAPI`——官方统一API服务](https://docs.topthink.com/think-api) |
|||
|
|||
ThinkPHPV6.0版本由[亿速云](https://www.yisu.com/)独家赞助发布。 |
|||
|
|||
## 主要新特性 |
|||
|
|||
* 采用`PHP7`强类型(严格模式) |
|||
* 支持更多的`PSR`规范 |
|||
* 原生多应用支持 |
|||
* 更强大和易用的查询 |
|||
* 全新的事件系统 |
|||
* 模型事件和数据库事件统一纳入事件系统 |
|||
* 模板引擎分离出核心 |
|||
* 内部功能中间件化 |
|||
* SESSION/Cookie机制改进 |
|||
* 对Swoole以及协程支持改进 |
|||
* 对IDE更加友好 |
|||
* 统一和精简大量用法 |
|||
|
|||
## 安装 |
|||
|
|||
~~~ |
|||
composer create-project topthink/think tp 6.0.* |
|||
~~~ |
|||
|
|||
如果需要更新框架使用 |
|||
~~~ |
|||
composer update topthink/framework |
|||
~~~ |
|||
|
|||
## 文档 |
|||
|
|||
[完全开发手册](https://www.kancloud.cn/manual/thinkphp6_0/content) |
|||
|
|||
## 参与开发 |
|||
|
|||
请参阅 [ThinkPHP 核心框架包](https://github.com/top-think/framework)。 |
|||
|
|||
## 版权信息 |
|||
|
|||
ThinkPHP遵循Apache2开源协议发布,并提供免费使用。 |
|||
|
|||
本项目包含的第三方源码和二进制文件之版权信息另行标注。 |
|||
|
|||
版权所有Copyright © 2006-2020 by ThinkPHP (http://thinkphp.cn) |
|||
|
|||
All rights reserved。 |
|||
|
|||
ThinkPHP® 商标和著作权所有者为上海顶想信息科技有限公司。 |
|||
|
|||
更多细节参阅 [LICENSE.txt](LICENSE.txt) |
|||
@ -0,0 +1 @@ |
|||
deny from all |
|||
@ -0,0 +1,22 @@ |
|||
<?php |
|||
declare (strict_types = 1); |
|||
|
|||
namespace app; |
|||
|
|||
use think\Service; |
|||
|
|||
/** |
|||
* 应用服务类 |
|||
*/ |
|||
class AppService extends Service |
|||
{ |
|||
public function register() |
|||
{ |
|||
// 服务注册 |
|||
} |
|||
|
|||
public function boot() |
|||
{ |
|||
// 服务启动 |
|||
} |
|||
} |
|||
@ -0,0 +1,94 @@ |
|||
<?php |
|||
declare (strict_types = 1); |
|||
|
|||
namespace app; |
|||
|
|||
use think\App; |
|||
use think\exception\ValidateException; |
|||
use think\Validate; |
|||
|
|||
/** |
|||
* 控制器基础类 |
|||
*/ |
|||
abstract class BaseController |
|||
{ |
|||
/** |
|||
* Request实例 |
|||
* @var \think\Request |
|||
*/ |
|||
protected $request; |
|||
|
|||
/** |
|||
* 应用实例 |
|||
* @var \think\App |
|||
*/ |
|||
protected $app; |
|||
|
|||
/** |
|||
* 是否批量验证 |
|||
* @var bool |
|||
*/ |
|||
protected $batchValidate = false; |
|||
|
|||
/** |
|||
* 控制器中间件 |
|||
* @var array |
|||
*/ |
|||
protected $middleware = []; |
|||
|
|||
/** |
|||
* 构造方法 |
|||
* @access public |
|||
* @param App $app 应用对象 |
|||
*/ |
|||
public function __construct(App $app) |
|||
{ |
|||
$this->app = $app; |
|||
$this->request = $this->app->request; |
|||
|
|||
// 控制器初始化 |
|||
$this->initialize(); |
|||
} |
|||
|
|||
// 初始化 |
|||
protected function initialize() |
|||
{} |
|||
|
|||
/** |
|||
* 验证数据 |
|||
* @access protected |
|||
* @param array $data 数据 |
|||
* @param string|array $validate 验证器名或者验证规则数组 |
|||
* @param array $message 提示信息 |
|||
* @param bool $batch 是否批量验证 |
|||
* @return array|string|true |
|||
* @throws ValidateException |
|||
*/ |
|||
protected function validate(array $data, $validate, array $message = [], bool $batch = false) |
|||
{ |
|||
if (is_array($validate)) { |
|||
$v = new Validate(); |
|||
$v->rule($validate); |
|||
} else { |
|||
if (strpos($validate, '.')) { |
|||
// 支持场景 |
|||
[$validate, $scene] = explode('.', $validate); |
|||
} |
|||
$class = false !== strpos($validate, '\\') ? $validate : $this->app->parseClass('validate', $validate); |
|||
$v = new $class(); |
|||
if (!empty($scene)) { |
|||
$v->scene($scene); |
|||
} |
|||
} |
|||
|
|||
$v->message($message); |
|||
|
|||
// 是否批量验证 |
|||
if ($batch || $this->batchValidate) { |
|||
$v->batch(true); |
|||
} |
|||
|
|||
return $v->failException(true)->check($data); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,58 @@ |
|||
<?php |
|||
namespace app; |
|||
|
|||
use think\db\exception\DataNotFoundException; |
|||
use think\db\exception\ModelNotFoundException; |
|||
use think\exception\Handle; |
|||
use think\exception\HttpException; |
|||
use think\exception\HttpResponseException; |
|||
use think\exception\ValidateException; |
|||
use think\Response; |
|||
use Throwable; |
|||
|
|||
/** |
|||
* 应用异常处理类 |
|||
*/ |
|||
class ExceptionHandle extends Handle |
|||
{ |
|||
/** |
|||
* 不需要记录信息(日志)的异常类列表 |
|||
* @var array |
|||
*/ |
|||
protected $ignoreReport = [ |
|||
HttpException::class, |
|||
HttpResponseException::class, |
|||
ModelNotFoundException::class, |
|||
DataNotFoundException::class, |
|||
ValidateException::class, |
|||
]; |
|||
|
|||
/** |
|||
* 记录异常信息(包括日志或者其它方式记录) |
|||
* |
|||
* @access public |
|||
* @param Throwable $exception |
|||
* @return void |
|||
*/ |
|||
public function report(Throwable $exception): void |
|||
{ |
|||
// 使用内置的方式记录异常日志 |
|||
parent::report($exception); |
|||
} |
|||
|
|||
/** |
|||
* Render an exception into an HTTP response. |
|||
* |
|||
* @access public |
|||
* @param \think\Request $request |
|||
* @param Throwable $e |
|||
* @return Response |
|||
*/ |
|||
public function render($request, Throwable $e): Response |
|||
{ |
|||
// 添加自定义异常处理机制 |
|||
|
|||
// 其他错误交给系统处理 |
|||
return parent::render($request, $e); |
|||
} |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
<?php |
|||
namespace app; |
|||
|
|||
// 应用请求对象类 |
|||
class Request extends \think\Request |
|||
{ |
|||
|
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
<?php |
|||
// 应用公共文件 |
|||
@ -0,0 +1,17 @@ |
|||
<?php |
|||
namespace app\controller; |
|||
|
|||
use app\BaseController; |
|||
|
|||
class Index extends BaseController |
|||
{ |
|||
public function index() |
|||
{ |
|||
return '<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} a{color:#2E5CD5;cursor: pointer;text-decoration: none} a:hover{text-decoration:underline; } body{ background: #fff; font-family: "Century Gothic","Microsoft yahei"; color: #333;font-size:18px;} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.6em; font-size: 42px }</style><div style="padding: 24px 48px;"> <h1>:) </h1><p> ThinkPHP V' . \think\facade\App::version() . '<br/><span style="font-size:30px;">14载初心不改 - 你值得信赖的PHP框架</span></p><span style="font-size:25px;">[ V6.0 版本由 <a href="https://www.yisu.com/" target="yisu">亿速云</a> 独家赞助发布 ]</span></div><script type="text/javascript" src="https://tajs.qq.com/stats?sId=64890268" charset="UTF-8"></script><script type="text/javascript" src="https://e.topthink.com/Public/static/client.js"></script><think id="ee9b1aa918103c4fc"></think>'; |
|||
} |
|||
|
|||
public function hello($name = 'ThinkPHP6') |
|||
{ |
|||
return 'hello,' . $name; |
|||
} |
|||
} |
|||
@ -0,0 +1,17 @@ |
|||
<?php |
|||
// 事件定义文件 |
|||
return [ |
|||
'bind' => [ |
|||
], |
|||
|
|||
'listen' => [ |
|||
'AppInit' => [], |
|||
'HttpRun' => [], |
|||
'HttpEnd' => [], |
|||
'LogLevel' => [], |
|||
'LogWrite' => [], |
|||
], |
|||
|
|||
'subscribe' => [ |
|||
], |
|||
]; |
|||
@ -0,0 +1,10 @@ |
|||
<?php |
|||
// 全局中间件定义文件 |
|||
return [ |
|||
// 全局请求缓存 |
|||
// \think\middleware\CheckRequestCache::class, |
|||
// 多语言加载 |
|||
// \think\middleware\LoadLangPack::class, |
|||
// Session初始化 |
|||
// \think\middleware\SessionInit::class |
|||
]; |
|||
@ -0,0 +1,9 @@ |
|||
<?php |
|||
use app\ExceptionHandle; |
|||
use app\Request; |
|||
|
|||
// 容器Provider定义文件 |
|||
return [ |
|||
'think\Request' => Request::class, |
|||
'think\exception\Handle' => ExceptionHandle::class, |
|||
]; |
|||
@ -0,0 +1,9 @@ |
|||
<?php |
|||
|
|||
use app\AppService; |
|||
|
|||
// 系统服务定义文件 |
|||
// 服务在完成全局初始化之后执行 |
|||
return [ |
|||
AppService::class, |
|||
]; |
|||
@ -0,0 +1,48 @@ |
|||
{ |
|||
"name": "topthink/think", |
|||
"description": "the new thinkphp framework", |
|||
"type": "project", |
|||
"keywords": [ |
|||
"framework", |
|||
"thinkphp", |
|||
"ORM" |
|||
], |
|||
"homepage": "http://thinkphp.cn/", |
|||
"license": "Apache-2.0", |
|||
"authors": [ |
|||
{ |
|||
"name": "liu21st", |
|||
"email": "liu21st@gmail.com" |
|||
}, |
|||
{ |
|||
"name": "yunwuxin", |
|||
"email": "448901948@qq.com" |
|||
} |
|||
], |
|||
"require": { |
|||
"php": ">=7.1.0", |
|||
"topthink/framework": "^6.0.0", |
|||
"topthink/think-orm": "^2.0" |
|||
}, |
|||
"require-dev": { |
|||
"symfony/var-dumper": "^4.2", |
|||
"topthink/think-trace":"^1.0" |
|||
}, |
|||
"autoload": { |
|||
"psr-4": { |
|||
"app\\": "app" |
|||
}, |
|||
"psr-0": { |
|||
"": "extend/" |
|||
} |
|||
}, |
|||
"config": { |
|||
"preferred-install": "dist" |
|||
}, |
|||
"scripts": { |
|||
"post-autoload-dump": [ |
|||
"@php think service:discover", |
|||
"@php think vendor:publish" |
|||
] |
|||
} |
|||
} |
|||
@ -0,0 +1,991 @@ |
|||
{ |
|||
"_readme": [ |
|||
"This file locks the dependencies of your project to a known state", |
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", |
|||
"This file is @generated automatically" |
|||
], |
|||
"content-hash": "74a749574e0f40df27b0061a71e2b878", |
|||
"packages": [ |
|||
{ |
|||
"name": "league/flysystem", |
|||
"version": "1.0.46", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/thephpleague/flysystem.git", |
|||
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2", |
|||
"reference": "f3e0d925c18b92cf3ce84ea5cc58d62a1762a2b2", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=5.5.9" |
|||
}, |
|||
"conflict": { |
|||
"league/flysystem-sftp": "<1.0.6" |
|||
}, |
|||
"require-dev": { |
|||
"ext-fileinfo": "*", |
|||
"phpspec/phpspec": "^3.4", |
|||
"phpunit/phpunit": "^5.7.10" |
|||
}, |
|||
"suggest": { |
|||
"ext-fileinfo": "Required for MimeType", |
|||
"ext-ftp": "Allows you to use FTP server storage", |
|||
"ext-openssl": "Allows you to use FTPS server storage", |
|||
"league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", |
|||
"league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", |
|||
"league/flysystem-azure": "Allows you to use Windows Azure Blob storage", |
|||
"league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", |
|||
"league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", |
|||
"league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", |
|||
"league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", |
|||
"league/flysystem-webdav": "Allows you to use WebDAV storage", |
|||
"league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", |
|||
"spatie/flysystem-dropbox": "Allows you to use Dropbox storage", |
|||
"srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"branch-alias": { |
|||
"dev-master": "1.1-dev" |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"psr-4": { |
|||
"League\\Flysystem\\": "src/" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "Frank de Jonge", |
|||
"email": "info@frenky.net" |
|||
} |
|||
], |
|||
"description": "Filesystem abstraction: Many filesystems, one API.", |
|||
"keywords": [ |
|||
"Cloud Files", |
|||
"WebDAV", |
|||
"abstraction", |
|||
"aws", |
|||
"cloud", |
|||
"copy.com", |
|||
"dropbox", |
|||
"file systems", |
|||
"files", |
|||
"filesystem", |
|||
"filesystems", |
|||
"ftp", |
|||
"rackspace", |
|||
"remote", |
|||
"s3", |
|||
"sftp", |
|||
"storage" |
|||
], |
|||
"support": { |
|||
"issues": "https://github.com/thephpleague/flysystem/issues", |
|||
"source": "https://github.com/thephpleague/flysystem/tree/master" |
|||
}, |
|||
"time": "2018-08-22T07:45:22+00:00" |
|||
}, |
|||
{ |
|||
"name": "league/flysystem-cached-adapter", |
|||
"version": "1.1.0", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/thephpleague/flysystem-cached-adapter.git", |
|||
"reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/d1925efb2207ac4be3ad0c40b8277175f99ffaff", |
|||
"reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"league/flysystem": "~1.0", |
|||
"psr/cache": "^1.0.0" |
|||
}, |
|||
"require-dev": { |
|||
"mockery/mockery": "~0.9", |
|||
"phpspec/phpspec": "^3.4", |
|||
"phpunit/phpunit": "^5.7", |
|||
"predis/predis": "~1.0", |
|||
"tedivm/stash": "~0.12" |
|||
}, |
|||
"suggest": { |
|||
"ext-phpredis": "Pure C implemented extension for PHP" |
|||
}, |
|||
"type": "library", |
|||
"autoload": { |
|||
"psr-4": { |
|||
"League\\Flysystem\\Cached\\": "src/" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "frankdejonge", |
|||
"email": "info@frenky.net" |
|||
} |
|||
], |
|||
"description": "An adapter decorator to enable meta-data caching.", |
|||
"support": { |
|||
"issues": "https://github.com/thephpleague/flysystem-cached-adapter/issues", |
|||
"source": "https://github.com/thephpleague/flysystem-cached-adapter/tree/master" |
|||
}, |
|||
"time": "2020-07-25T15:56:04+00:00" |
|||
}, |
|||
{ |
|||
"name": "psr/cache", |
|||
"version": "1.0.1", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/php-fig/cache.git", |
|||
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", |
|||
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=5.3.0" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"branch-alias": { |
|||
"dev-master": "1.0.x-dev" |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"psr-4": { |
|||
"Psr\\Cache\\": "src/" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "PHP-FIG", |
|||
"homepage": "http://www.php-fig.org/" |
|||
} |
|||
], |
|||
"description": "Common interface for caching libraries", |
|||
"keywords": [ |
|||
"cache", |
|||
"psr", |
|||
"psr-6" |
|||
], |
|||
"support": { |
|||
"source": "https://github.com/php-fig/cache/tree/master" |
|||
}, |
|||
"time": "2016-08-06T20:24:11+00:00" |
|||
}, |
|||
{ |
|||
"name": "psr/container", |
|||
"version": "1.1.1", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/php-fig/container.git", |
|||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", |
|||
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=7.2.0" |
|||
}, |
|||
"type": "library", |
|||
"autoload": { |
|||
"psr-4": { |
|||
"Psr\\Container\\": "src/" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "PHP-FIG", |
|||
"homepage": "https://www.php-fig.org/" |
|||
} |
|||
], |
|||
"description": "Common Container Interface (PHP FIG PSR-11)", |
|||
"homepage": "https://github.com/php-fig/container", |
|||
"keywords": [ |
|||
"PSR-11", |
|||
"container", |
|||
"container-interface", |
|||
"container-interop", |
|||
"psr" |
|||
], |
|||
"support": { |
|||
"issues": "https://github.com/php-fig/container/issues", |
|||
"source": "https://github.com/php-fig/container/tree/1.1.1" |
|||
}, |
|||
"time": "2021-03-05T17:36:06+00:00" |
|||
}, |
|||
{ |
|||
"name": "psr/log", |
|||
"version": "1.1.4", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/php-fig/log.git", |
|||
"reference": "d49695b909c3b7628b6289db5479a1c204601f11" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", |
|||
"reference": "d49695b909c3b7628b6289db5479a1c204601f11", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=5.3.0" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"branch-alias": { |
|||
"dev-master": "1.1.x-dev" |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"psr-4": { |
|||
"Psr\\Log\\": "Psr/Log/" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "PHP-FIG", |
|||
"homepage": "https://www.php-fig.org/" |
|||
} |
|||
], |
|||
"description": "Common interface for logging libraries", |
|||
"homepage": "https://github.com/php-fig/log", |
|||
"keywords": [ |
|||
"log", |
|||
"psr", |
|||
"psr-3" |
|||
], |
|||
"support": { |
|||
"source": "https://github.com/php-fig/log/tree/1.1.4" |
|||
}, |
|||
"time": "2021-05-03T11:20:27+00:00" |
|||
}, |
|||
{ |
|||
"name": "psr/simple-cache", |
|||
"version": "1.0.1", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/php-fig/simple-cache.git", |
|||
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", |
|||
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=5.3.0" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"branch-alias": { |
|||
"dev-master": "1.0.x-dev" |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"psr-4": { |
|||
"Psr\\SimpleCache\\": "src/" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "PHP-FIG", |
|||
"homepage": "http://www.php-fig.org/" |
|||
} |
|||
], |
|||
"description": "Common interfaces for simple caching", |
|||
"keywords": [ |
|||
"cache", |
|||
"caching", |
|||
"psr", |
|||
"psr-16", |
|||
"simple-cache" |
|||
], |
|||
"support": { |
|||
"source": "https://github.com/php-fig/simple-cache/tree/master" |
|||
}, |
|||
"time": "2017-10-23T01:57:42+00:00" |
|||
}, |
|||
{ |
|||
"name": "topthink/framework", |
|||
"version": "v6.0.8", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/top-think/framework.git", |
|||
"reference": "4789343672aef06d571d556da369c0e156609bce" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/top-think/framework/zipball/4789343672aef06d571d556da369c0e156609bce", |
|||
"reference": "4789343672aef06d571d556da369c0e156609bce", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"ext-json": "*", |
|||
"ext-mbstring": "*", |
|||
"league/flysystem": "^1.0", |
|||
"league/flysystem-cached-adapter": "^1.0", |
|||
"php": ">=7.1.0", |
|||
"psr/container": "~1.0", |
|||
"psr/log": "~1.0", |
|||
"psr/simple-cache": "^1.0", |
|||
"topthink/think-helper": "^3.1.1", |
|||
"topthink/think-orm": "^2.0" |
|||
}, |
|||
"require-dev": { |
|||
"mikey179/vfsstream": "^1.6", |
|||
"mockery/mockery": "^1.2", |
|||
"phpunit/phpunit": "^7.0" |
|||
}, |
|||
"type": "library", |
|||
"autoload": { |
|||
"files": [], |
|||
"psr-4": { |
|||
"think\\": "src/think/" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"Apache-2.0" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "liu21st", |
|||
"email": "liu21st@gmail.com" |
|||
}, |
|||
{ |
|||
"name": "yunwuxin", |
|||
"email": "448901948@qq.com" |
|||
} |
|||
], |
|||
"description": "The ThinkPHP Framework.", |
|||
"homepage": "http://thinkphp.cn/", |
|||
"keywords": [ |
|||
"framework", |
|||
"orm", |
|||
"thinkphp" |
|||
], |
|||
"support": { |
|||
"issues": "https://github.com/top-think/framework/issues", |
|||
"source": "https://github.com/top-think/framework/tree/v6.0.8" |
|||
}, |
|||
"time": "2021-04-27T00:41:08+00:00" |
|||
}, |
|||
{ |
|||
"name": "topthink/think-helper", |
|||
"version": "v3.1.6", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/top-think/think-helper.git", |
|||
"reference": "769acbe50a4274327162f9c68ec2e89a38eb2aff" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/top-think/think-helper/zipball/769acbe50a4274327162f9c68ec2e89a38eb2aff", |
|||
"reference": "769acbe50a4274327162f9c68ec2e89a38eb2aff", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=7.1.0" |
|||
}, |
|||
"require-dev": { |
|||
"phpunit/phpunit": "^9.5" |
|||
}, |
|||
"type": "library", |
|||
"autoload": { |
|||
"files": [ |
|||
"src/helper.php" |
|||
], |
|||
"psr-4": { |
|||
"think\\": "src" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"Apache-2.0" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "yunwuxin", |
|||
"email": "448901948@qq.com" |
|||
} |
|||
], |
|||
"description": "The ThinkPHP6 Helper Package", |
|||
"support": { |
|||
"issues": "https://github.com/top-think/think-helper/issues", |
|||
"source": "https://github.com/top-think/think-helper/tree/v3.1.6" |
|||
}, |
|||
"time": "2021-12-15T04:27:55+00:00" |
|||
}, |
|||
{ |
|||
"name": "topthink/think-orm", |
|||
"version": "v2.0.61", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/top-think/think-orm.git", |
|||
"reference": "10528ebf4a5106b19c3bac9c6deae7a67ff49de6" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/top-think/think-orm/zipball/10528ebf4a5106b19c3bac9c6deae7a67ff49de6", |
|||
"reference": "10528ebf4a5106b19c3bac9c6deae7a67ff49de6", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"ext-json": "*", |
|||
"ext-pdo": "*", |
|||
"php": ">=7.1.0", |
|||
"psr/log": "^1.0|^2.0", |
|||
"psr/simple-cache": "^1.0|^2.0", |
|||
"topthink/think-helper": "^3.1" |
|||
}, |
|||
"require-dev": { |
|||
"phpunit/phpunit": "^7|^8|^9.5" |
|||
}, |
|||
"type": "library", |
|||
"autoload": { |
|||
"files": [ |
|||
"stubs/load_stubs.php" |
|||
], |
|||
"psr-4": { |
|||
"think\\": "src" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"Apache-2.0" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "liu21st", |
|||
"email": "liu21st@gmail.com" |
|||
} |
|||
], |
|||
"description": "think orm", |
|||
"keywords": [ |
|||
"database", |
|||
"orm" |
|||
], |
|||
"support": { |
|||
"issues": "https://github.com/top-think/think-orm/issues", |
|||
"source": "https://github.com/top-think/think-orm/tree/v2.0.61" |
|||
}, |
|||
"time": "2023-04-20T14:27:51+00:00" |
|||
} |
|||
], |
|||
"packages-dev": [ |
|||
{ |
|||
"name": "symfony/polyfill-mbstring", |
|||
"version": "v1.27.0", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/symfony/polyfill-mbstring.git", |
|||
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", |
|||
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=7.1" |
|||
}, |
|||
"provide": { |
|||
"ext-mbstring": "*" |
|||
}, |
|||
"suggest": { |
|||
"ext-mbstring": "For best performance" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"branch-alias": { |
|||
"dev-main": "1.27-dev" |
|||
}, |
|||
"thanks": { |
|||
"name": "symfony/polyfill", |
|||
"url": "https://github.com/symfony/polyfill" |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"files": [ |
|||
"bootstrap.php" |
|||
], |
|||
"psr-4": { |
|||
"Symfony\\Polyfill\\Mbstring\\": "" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "Nicolas Grekas", |
|||
"email": "p@tchwork.com" |
|||
}, |
|||
{ |
|||
"name": "Symfony Community", |
|||
"homepage": "https://symfony.com/contributors" |
|||
} |
|||
], |
|||
"description": "Symfony polyfill for the Mbstring extension", |
|||
"homepage": "https://symfony.com", |
|||
"keywords": [ |
|||
"compatibility", |
|||
"mbstring", |
|||
"polyfill", |
|||
"portable", |
|||
"shim" |
|||
], |
|||
"support": { |
|||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" |
|||
}, |
|||
"funding": [ |
|||
{ |
|||
"url": "https://symfony.com/sponsor", |
|||
"type": "custom" |
|||
}, |
|||
{ |
|||
"url": "https://github.com/fabpot", |
|||
"type": "github" |
|||
}, |
|||
{ |
|||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony", |
|||
"type": "tidelift" |
|||
} |
|||
], |
|||
"time": "2022-11-03T14:55:06+00:00" |
|||
}, |
|||
{ |
|||
"name": "symfony/polyfill-php72", |
|||
"version": "v1.27.0", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/symfony/polyfill-php72.git", |
|||
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", |
|||
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=7.1" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"branch-alias": { |
|||
"dev-main": "1.27-dev" |
|||
}, |
|||
"thanks": { |
|||
"name": "symfony/polyfill", |
|||
"url": "https://github.com/symfony/polyfill" |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"files": [ |
|||
"bootstrap.php" |
|||
], |
|||
"psr-4": { |
|||
"Symfony\\Polyfill\\Php72\\": "" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "Nicolas Grekas", |
|||
"email": "p@tchwork.com" |
|||
}, |
|||
{ |
|||
"name": "Symfony Community", |
|||
"homepage": "https://symfony.com/contributors" |
|||
} |
|||
], |
|||
"description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", |
|||
"homepage": "https://symfony.com", |
|||
"keywords": [ |
|||
"compatibility", |
|||
"polyfill", |
|||
"portable", |
|||
"shim" |
|||
], |
|||
"support": { |
|||
"source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" |
|||
}, |
|||
"funding": [ |
|||
{ |
|||
"url": "https://symfony.com/sponsor", |
|||
"type": "custom" |
|||
}, |
|||
{ |
|||
"url": "https://github.com/fabpot", |
|||
"type": "github" |
|||
}, |
|||
{ |
|||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony", |
|||
"type": "tidelift" |
|||
} |
|||
], |
|||
"time": "2022-11-03T14:55:06+00:00" |
|||
}, |
|||
{ |
|||
"name": "symfony/polyfill-php80", |
|||
"version": "v1.27.0", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/symfony/polyfill-php80.git", |
|||
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", |
|||
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=7.1" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"branch-alias": { |
|||
"dev-main": "1.27-dev" |
|||
}, |
|||
"thanks": { |
|||
"name": "symfony/polyfill", |
|||
"url": "https://github.com/symfony/polyfill" |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"files": [ |
|||
"bootstrap.php" |
|||
], |
|||
"psr-4": { |
|||
"Symfony\\Polyfill\\Php80\\": "" |
|||
}, |
|||
"classmap": [ |
|||
"Resources/stubs" |
|||
] |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "Ion Bazan", |
|||
"email": "ion.bazan@gmail.com" |
|||
}, |
|||
{ |
|||
"name": "Nicolas Grekas", |
|||
"email": "p@tchwork.com" |
|||
}, |
|||
{ |
|||
"name": "Symfony Community", |
|||
"homepage": "https://symfony.com/contributors" |
|||
} |
|||
], |
|||
"description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", |
|||
"homepage": "https://symfony.com", |
|||
"keywords": [ |
|||
"compatibility", |
|||
"polyfill", |
|||
"portable", |
|||
"shim" |
|||
], |
|||
"support": { |
|||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" |
|||
}, |
|||
"funding": [ |
|||
{ |
|||
"url": "https://symfony.com/sponsor", |
|||
"type": "custom" |
|||
}, |
|||
{ |
|||
"url": "https://github.com/fabpot", |
|||
"type": "github" |
|||
}, |
|||
{ |
|||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony", |
|||
"type": "tidelift" |
|||
} |
|||
], |
|||
"time": "2022-11-03T14:55:06+00:00" |
|||
}, |
|||
{ |
|||
"name": "symfony/var-dumper", |
|||
"version": "v4.4.47", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/symfony/var-dumper.git", |
|||
"reference": "1069c7a3fca74578022fab6f81643248d02f8e63" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/1069c7a3fca74578022fab6f81643248d02f8e63", |
|||
"reference": "1069c7a3fca74578022fab6f81643248d02f8e63", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=7.1.3", |
|||
"symfony/polyfill-mbstring": "~1.0", |
|||
"symfony/polyfill-php72": "~1.5", |
|||
"symfony/polyfill-php80": "^1.16" |
|||
}, |
|||
"conflict": { |
|||
"phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", |
|||
"symfony/console": "<3.4" |
|||
}, |
|||
"require-dev": { |
|||
"ext-iconv": "*", |
|||
"symfony/console": "^3.4|^4.0|^5.0", |
|||
"symfony/process": "^4.4|^5.0", |
|||
"twig/twig": "^1.43|^2.13|^3.0.4" |
|||
}, |
|||
"suggest": { |
|||
"ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", |
|||
"ext-intl": "To show region name in time zone dump", |
|||
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" |
|||
}, |
|||
"bin": [ |
|||
"Resources/bin/var-dump-server" |
|||
], |
|||
"type": "library", |
|||
"autoload": { |
|||
"files": [ |
|||
"Resources/functions/dump.php" |
|||
], |
|||
"psr-4": { |
|||
"Symfony\\Component\\VarDumper\\": "" |
|||
}, |
|||
"exclude-from-classmap": [ |
|||
"/Tests/" |
|||
] |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"MIT" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "Nicolas Grekas", |
|||
"email": "p@tchwork.com" |
|||
}, |
|||
{ |
|||
"name": "Symfony Community", |
|||
"homepage": "https://symfony.com/contributors" |
|||
} |
|||
], |
|||
"description": "Provides mechanisms for walking through any arbitrary PHP variable", |
|||
"homepage": "https://symfony.com", |
|||
"keywords": [ |
|||
"debug", |
|||
"dump" |
|||
], |
|||
"support": { |
|||
"source": "https://github.com/symfony/var-dumper/tree/v4.4.47" |
|||
}, |
|||
"funding": [ |
|||
{ |
|||
"url": "https://symfony.com/sponsor", |
|||
"type": "custom" |
|||
}, |
|||
{ |
|||
"url": "https://github.com/fabpot", |
|||
"type": "github" |
|||
}, |
|||
{ |
|||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony", |
|||
"type": "tidelift" |
|||
} |
|||
], |
|||
"time": "2022-10-03T15:15:11+00:00" |
|||
}, |
|||
{ |
|||
"name": "topthink/think-trace", |
|||
"version": "v1.6", |
|||
"source": { |
|||
"type": "git", |
|||
"url": "https://github.com/top-think/think-trace.git", |
|||
"reference": "136cd5d97e8bdb780e4b5c1637c588ed7ca3e142" |
|||
}, |
|||
"dist": { |
|||
"type": "zip", |
|||
"url": "https://api.github.com/repos/top-think/think-trace/zipball/136cd5d97e8bdb780e4b5c1637c588ed7ca3e142", |
|||
"reference": "136cd5d97e8bdb780e4b5c1637c588ed7ca3e142", |
|||
"shasum": "", |
|||
"mirrors": [ |
|||
{ |
|||
"url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |
|||
"preferred": true |
|||
} |
|||
] |
|||
}, |
|||
"require": { |
|||
"php": ">=7.1.0", |
|||
"topthink/framework": "^6.0|^8.0" |
|||
}, |
|||
"type": "library", |
|||
"extra": { |
|||
"think": { |
|||
"services": [ |
|||
"think\\trace\\Service" |
|||
], |
|||
"config": { |
|||
"trace": "src/config.php" |
|||
} |
|||
} |
|||
}, |
|||
"autoload": { |
|||
"psr-4": { |
|||
"think\\trace\\": "src" |
|||
} |
|||
}, |
|||
"notification-url": "https://packagist.org/downloads/", |
|||
"license": [ |
|||
"Apache-2.0" |
|||
], |
|||
"authors": [ |
|||
{ |
|||
"name": "liu21st", |
|||
"email": "liu21st@gmail.com" |
|||
} |
|||
], |
|||
"description": "thinkphp debug trace", |
|||
"support": { |
|||
"issues": "https://github.com/top-think/think-trace/issues", |
|||
"source": "https://github.com/top-think/think-trace/tree/v1.6" |
|||
}, |
|||
"time": "2023-02-07T08:36:32+00:00" |
|||
} |
|||
], |
|||
"aliases": [], |
|||
"minimum-stability": "stable", |
|||
"stability-flags": [], |
|||
"prefer-stable": false, |
|||
"prefer-lowest": false, |
|||
"platform": { |
|||
"php": ">=7.1.0" |
|||
}, |
|||
"platform-dev": [], |
|||
"plugin-api-version": "2.2.0" |
|||
} |
|||
@ -0,0 +1,32 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 应用设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// 应用地址 |
|||
'app_host' => env('app.host', ''), |
|||
// 应用的命名空间 |
|||
'app_namespace' => '', |
|||
// 是否启用路由 |
|||
'with_route' => true, |
|||
// 默认应用 |
|||
'default_app' => 'index', |
|||
// 默认时区 |
|||
'default_timezone' => 'Asia/Shanghai', |
|||
|
|||
// 应用映射(自动多应用模式有效) |
|||
'app_map' => [], |
|||
// 域名绑定(自动多应用模式有效) |
|||
'domain_bind' => [], |
|||
// 禁止URL访问的应用列表(自动多应用模式有效) |
|||
'deny_app_list' => [], |
|||
|
|||
// 异常页面的模板文件 |
|||
'exception_tmpl' => app()->getThinkPath() . 'tpl/think_exception.tpl', |
|||
|
|||
// 错误显示信息,非调试模式有效 |
|||
'error_message' => '页面错误!请稍后再试~', |
|||
// 显示错误信息 |
|||
'show_error_msg' => false, |
|||
]; |
|||
@ -0,0 +1,29 @@ |
|||
<?php |
|||
|
|||
// +---------------------------------------------------------------------- |
|||
// | 缓存设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// 默认缓存驱动 |
|||
'default' => env('cache.driver', 'file'), |
|||
|
|||
// 缓存连接方式配置 |
|||
'stores' => [ |
|||
'file' => [ |
|||
// 驱动方式 |
|||
'type' => 'File', |
|||
// 缓存保存目录 |
|||
'path' => '', |
|||
// 缓存前缀 |
|||
'prefix' => '', |
|||
// 缓存有效期 0表示永久缓存 |
|||
'expire' => 0, |
|||
// 缓存标签前缀 |
|||
'tag_prefix' => 'tag:', |
|||
// 序列化机制 例如 ['serialize', 'unserialize'] |
|||
'serialize' => [], |
|||
], |
|||
// 更多的缓存连接 |
|||
], |
|||
]; |
|||
@ -0,0 +1,9 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 控制台配置 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// 指令定义 |
|||
'commands' => [ |
|||
], |
|||
]; |
|||
@ -0,0 +1,20 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Cookie设置 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// cookie 保存时间 |
|||
'expire' => 0, |
|||
// cookie 保存路径 |
|||
'path' => '/', |
|||
// cookie 有效域名 |
|||
'domain' => '', |
|||
// cookie 启用安全传输 |
|||
'secure' => false, |
|||
// httponly设置 |
|||
'httponly' => false, |
|||
// 是否使用 setcookie |
|||
'setcookie' => true, |
|||
// samesite 设置,支持 'strict' 'lax' |
|||
'samesite' => '', |
|||
]; |
|||
@ -0,0 +1,63 @@ |
|||
<?php |
|||
|
|||
return [ |
|||
// 默认使用的数据库连接配置 |
|||
'default' => env('database.driver', 'mysql'), |
|||
|
|||
// 自定义时间查询规则 |
|||
'time_query_rule' => [], |
|||
|
|||
// 自动写入时间戳字段 |
|||
// true为自动识别类型 false关闭 |
|||
// 字符串则明确指定时间字段类型 支持 int timestamp datetime date |
|||
'auto_timestamp' => true, |
|||
|
|||
// 时间字段取出后的默认时间格式 |
|||
'datetime_format' => 'Y-m-d H:i:s', |
|||
|
|||
// 时间字段配置 配置格式:create_time,update_time |
|||
'datetime_field' => '', |
|||
|
|||
// 数据库连接配置信息 |
|||
'connections' => [ |
|||
'mysql' => [ |
|||
// 数据库类型 |
|||
'type' => env('database.type', 'mysql'), |
|||
// 服务器地址 |
|||
'hostname' => env('database.hostname', '127.0.0.1'), |
|||
// 数据库名 |
|||
'database' => env('database.database', ''), |
|||
// 用户名 |
|||
'username' => env('database.username', 'root'), |
|||
// 密码 |
|||
'password' => env('database.password', ''), |
|||
// 端口 |
|||
'hostport' => env('database.hostport', '3306'), |
|||
// 数据库连接参数 |
|||
'params' => [], |
|||
// 数据库编码默认采用utf8 |
|||
'charset' => env('database.charset', 'utf8'), |
|||
// 数据库表前缀 |
|||
'prefix' => env('database.prefix', ''), |
|||
|
|||
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) |
|||
'deploy' => 0, |
|||
// 数据库读写是否分离 主从式有效 |
|||
'rw_separate' => false, |
|||
// 读写分离后 主服务器数量 |
|||
'master_num' => 1, |
|||
// 指定从服务器序号 |
|||
'slave_no' => '', |
|||
// 是否严格检查字段是否存在 |
|||
'fields_strict' => true, |
|||
// 是否需要断线重连 |
|||
'break_reconnect' => false, |
|||
// 监听SQL |
|||
'trigger_sql' => env('app_debug', true), |
|||
// 开启字段缓存 |
|||
'fields_cache' => false, |
|||
], |
|||
|
|||
// 更多的数据库配置信息 |
|||
], |
|||
]; |
|||
@ -0,0 +1,24 @@ |
|||
<?php |
|||
|
|||
return [ |
|||
// 默认磁盘 |
|||
'default' => env('filesystem.driver', 'local'), |
|||
// 磁盘列表 |
|||
'disks' => [ |
|||
'local' => [ |
|||
'type' => 'local', |
|||
'root' => app()->getRuntimePath() . 'storage', |
|||
], |
|||
'public' => [ |
|||
// 磁盘类型 |
|||
'type' => 'local', |
|||
// 磁盘路径 |
|||
'root' => app()->getRootPath() . 'public/storage', |
|||
// 磁盘路径对应的外部URL路径 |
|||
'url' => '/storage', |
|||
// 可见性 |
|||
'visibility' => 'public', |
|||
], |
|||
// 更多的磁盘配置信息 |
|||
], |
|||
]; |
|||
@ -0,0 +1,27 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 多语言设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// 默认语言 |
|||
'default_lang' => env('lang.default_lang', 'zh-cn'), |
|||
// 允许的语言列表 |
|||
'allow_lang_list' => [], |
|||
// 多语言自动侦测变量名 |
|||
'detect_var' => 'lang', |
|||
// 是否使用Cookie记录 |
|||
'use_cookie' => true, |
|||
// 多语言cookie变量 |
|||
'cookie_var' => 'think_lang', |
|||
// 多语言header变量 |
|||
'header_var' => 'think-lang', |
|||
// 扩展语言包 |
|||
'extend_list' => [], |
|||
// Accept-Language转义为对应语言包名称 |
|||
'accept_language' => [ |
|||
'zh-hans-cn' => 'zh-cn', |
|||
], |
|||
// 是否支持语言分组 |
|||
'allow_group' => false, |
|||
]; |
|||
@ -0,0 +1,45 @@ |
|||
<?php |
|||
|
|||
// +---------------------------------------------------------------------- |
|||
// | 日志设置 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// 默认日志记录通道 |
|||
'default' => env('log.channel', 'file'), |
|||
// 日志记录级别 |
|||
'level' => [], |
|||
// 日志类型记录的通道 ['error'=>'email',...] |
|||
'type_channel' => [], |
|||
// 关闭全局日志写入 |
|||
'close' => false, |
|||
// 全局日志处理 支持闭包 |
|||
'processor' => null, |
|||
|
|||
// 日志通道列表 |
|||
'channels' => [ |
|||
'file' => [ |
|||
// 日志记录方式 |
|||
'type' => 'File', |
|||
// 日志保存目录 |
|||
'path' => '', |
|||
// 单文件日志写入 |
|||
'single' => false, |
|||
// 独立日志级别 |
|||
'apart_level' => [], |
|||
// 最大日志文件数量 |
|||
'max_files' => 0, |
|||
// 使用JSON格式记录 |
|||
'json' => false, |
|||
// 日志处理 |
|||
'processor' => null, |
|||
// 关闭通道日志写入 |
|||
'close' => false, |
|||
// 日志输出格式化 |
|||
'format' => '[%s][%s] %s', |
|||
// 是否实时写入 |
|||
'realtime_write' => false, |
|||
], |
|||
// 其它日志通道配置 |
|||
], |
|||
|
|||
]; |
|||
@ -0,0 +1,8 @@ |
|||
<?php |
|||
// 中间件配置 |
|||
return [ |
|||
// 别名或分组 |
|||
'alias' => [], |
|||
// 优先级设置,此数组中的中间件会按照数组中的顺序优先执行 |
|||
'priority' => [], |
|||
]; |
|||
@ -0,0 +1,45 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 路由设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// pathinfo分隔符 |
|||
'pathinfo_depr' => '/', |
|||
// URL伪静态后缀 |
|||
'url_html_suffix' => 'html', |
|||
// URL普通方式参数 用于自动生成 |
|||
'url_common_param' => true, |
|||
// 是否开启路由延迟解析 |
|||
'url_lazy_route' => false, |
|||
// 是否强制使用路由 |
|||
'url_route_must' => false, |
|||
// 合并路由规则 |
|||
'route_rule_merge' => false, |
|||
// 路由是否完全匹配 |
|||
'route_complete_match' => false, |
|||
// 访问控制器层名称 |
|||
'controller_layer' => 'controller', |
|||
// 空控制器名 |
|||
'empty_controller' => 'Error', |
|||
// 是否使用控制器后缀 |
|||
'controller_suffix' => false, |
|||
// 默认的路由变量规则 |
|||
'default_route_pattern' => '[\w\.]+', |
|||
// 是否开启请求缓存 true自动缓存 支持设置请求缓存规则 |
|||
'request_cache_key' => false, |
|||
// 请求缓存有效期 |
|||
'request_cache_expire' => null, |
|||
// 全局请求缓存排除规则 |
|||
'request_cache_except' => [], |
|||
// 默认控制器名 |
|||
'default_controller' => 'Index', |
|||
// 默认操作名 |
|||
'default_action' => 'index', |
|||
// 操作方法后缀 |
|||
'action_suffix' => '', |
|||
// 默认JSONP格式返回的处理方法 |
|||
'default_jsonp_handler' => 'jsonpReturn', |
|||
// 默认JSONP处理方法 |
|||
'var_jsonp_handler' => 'callback', |
|||
]; |
|||
@ -0,0 +1,19 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 会话设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// session name |
|||
'name' => 'PHPSESSID', |
|||
// SESSION_ID的提交变量,解决flash上传跨域 |
|||
'var_session_id' => '', |
|||
// 驱动方式 支持file cache |
|||
'type' => 'file', |
|||
// 存储连接标识 当type使用cache的时候有效 |
|||
'store' => null, |
|||
// 过期时间 |
|||
'expire' => 1440, |
|||
// 前缀 |
|||
'prefix' => '', |
|||
]; |
|||
@ -0,0 +1,10 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | Trace设置 开启调试模式后有效 |
|||
// +---------------------------------------------------------------------- |
|||
return [ |
|||
// 内置Html和Console两种方式 支持扩展 |
|||
'type' => 'Html', |
|||
// 读取的日志通道名 |
|||
'channel' => '', |
|||
]; |
|||
@ -0,0 +1,25 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | 模板设置 |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
return [ |
|||
// 模板引擎类型使用Think |
|||
'type' => 'Think', |
|||
// 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法 |
|||
'auto_rule' => 1, |
|||
// 模板目录名 |
|||
'view_dir_name' => 'view', |
|||
// 模板后缀 |
|||
'view_suffix' => 'html', |
|||
// 模板文件名分隔符 |
|||
'view_depr' => DIRECTORY_SEPARATOR, |
|||
// 模板引擎普通标签开始标记 |
|||
'tpl_begin' => '{', |
|||
// 模板引擎普通标签结束标记 |
|||
'tpl_end' => '}', |
|||
// 标签库标签开始标记 |
|||
'taglib_begin' => '{', |
|||
// 标签库标签结束标记 |
|||
'taglib_end' => '}', |
|||
]; |
|||
@ -0,0 +1,2 @@ |
|||
* |
|||
!.gitignore |
|||
@ -0,0 +1,8 @@ |
|||
<IfModule mod_rewrite.c> |
|||
Options +FollowSymlinks -Multiviews |
|||
RewriteEngine On |
|||
|
|||
RewriteCond %{REQUEST_FILENAME} !-d |
|||
RewriteCond %{REQUEST_FILENAME} !-f |
|||
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] |
|||
</IfModule> |
|||
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,24 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | ThinkPHP [ WE CAN DO IT JUST THINK ] |
|||
// +---------------------------------------------------------------------- |
|||
// | Copyright (c) 2006-2019 http://thinkphp.cn All rights reserved. |
|||
// +---------------------------------------------------------------------- |
|||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: liu21st <liu21st@gmail.com> |
|||
// +---------------------------------------------------------------------- |
|||
|
|||
// [ 应用入口文件 ] |
|||
namespace think; |
|||
|
|||
require __DIR__ . '/../vendor/autoload.php'; |
|||
|
|||
// 执行HTTP应用并响应 |
|||
$http = (new App())->http; |
|||
|
|||
$response = $http->run(); |
|||
|
|||
$response->send(); |
|||
|
|||
$http->end($response); |
|||
@ -0,0 +1,2 @@ |
|||
User-agent: * |
|||
Disallow: |
|||
@ -0,0 +1,19 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | ThinkPHP [ WE CAN DO IT JUST THINK ] |
|||
// +---------------------------------------------------------------------- |
|||
// | Copyright (c) 2006~2019 http://thinkphp.cn All rights reserved. |
|||
// +---------------------------------------------------------------------- |
|||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: liu21st <liu21st@gmail.com> |
|||
// +---------------------------------------------------------------------- |
|||
// $Id$ |
|||
|
|||
if (is_file($_SERVER["DOCUMENT_ROOT"] . $_SERVER["SCRIPT_NAME"])) { |
|||
return false; |
|||
} else { |
|||
$_SERVER["SCRIPT_FILENAME"] = __DIR__ . '/index.php'; |
|||
|
|||
require __DIR__ . "/index.php"; |
|||
} |
|||
@ -0,0 +1,2 @@ |
|||
* |
|||
!.gitignore |
|||
@ -0,0 +1,17 @@ |
|||
<?php |
|||
// +---------------------------------------------------------------------- |
|||
// | ThinkPHP [ WE CAN DO IT JUST THINK ] |
|||
// +---------------------------------------------------------------------- |
|||
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved. |
|||
// +---------------------------------------------------------------------- |
|||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) |
|||
// +---------------------------------------------------------------------- |
|||
// | Author: liu21st <liu21st@gmail.com> |
|||
// +---------------------------------------------------------------------- |
|||
use think\facade\Route; |
|||
|
|||
Route::get('think', function () { |
|||
return 'hello,ThinkPHP6!'; |
|||
}); |
|||
|
|||
Route::get('hello/:name', 'index/hello'); |
|||
@ -0,0 +1,2 @@ |
|||
* |
|||
!.gitignore |
|||
@ -0,0 +1,10 @@ |
|||
#!/usr/bin/env php |
|||
<?php |
|||
namespace think; |
|||
|
|||
// 命令行入口文件 |
|||
// 加载基础文件 |
|||
require __DIR__ . '/vendor/autoload.php'; |
|||
|
|||
// 应用初始化 |
|||
(new App())->console->run(); |
|||
@ -0,0 +1 @@ |
|||
如果不使用模板,可以删除该目录 |
|||
Loading…
Reference in new issue