commit
5fddaf6f11
45 changed files with 2013 additions and 0 deletions
-
1.example.env
-
7.gitignore
-
1.htaccess
-
42.travis.yml
-
26404.html
-
32LICENSE.txt
-
56README.md
-
1app/.htaccess
-
22app/AppService.php
-
94app/BaseController.php
-
58app/ExceptionHandle.php
-
8app/Request.php
-
2app/common.php
-
17app/controller/Index.php
-
17app/event.php
-
10app/middleware.php
-
9app/provider.php
-
9app/service.php
-
49composer.json
-
1070composer.lock
-
32config/app.php
-
29config/cache.php
-
9config/console.php
-
20config/cookie.php
-
63config/database.php
-
24config/filesystem.php
-
27config/lang.php
-
45config/log.php
-
8config/middleware.php
-
45config/route.php
-
19config/session.php
-
10config/trace.php
-
25config/view.php
-
2extend/.gitignore
-
39index.html
-
8public/.htaccess
-
BINpublic/favicon.ico
-
24public/index.php
-
2public/robots.txt
-
19public/router.php
-
2public/static/.gitignore
-
17route/app.php
-
10think
-
2vendor/.gitignore
-
1view/README.md
@ -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,7 @@ |
|||
/.idea |
|||
/.vscode |
|||
/runtime |
|||
/public/.well-known |
|||
/public/uploads |
|||
*.log |
|||
.env |
|||
@ -0,0 +1 @@ |
|||
|
|||
@ -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,26 @@ |
|||
<!doctype html> |
|||
<html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> |
|||
<title>404</title> |
|||
<style> |
|||
body{ |
|||
background-color:#444; |
|||
font-size:14px; |
|||
} |
|||
h3{ |
|||
font-size:60px; |
|||
color:#eee; |
|||
text-align:center; |
|||
padding-top:30px; |
|||
font-weight:normal; |
|||
} |
|||
</style> |
|||
</head> |
|||
|
|||
<body> |
|||
<h3>404,您请求的文件不存在!</h3> |
|||
</body> |
|||
</html> |
|||
@ -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.2+,兼容PHP8.1 |
|||
|
|||
[官方应用服务市场](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-2021 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;">16载初心不改 - 你值得信赖的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://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,49 @@ |
|||
{ |
|||
"name": "topthink/think", |
|||
"description": "the new thinkphp framework", |
|||
"type": "project", |
|||
"keywords": [ |
|||
"framework", |
|||
"thinkphp", |
|||
"ORM" |
|||
], |
|||
"homepage": "https://www.thinkphp.cn/", |
|||
"license": "Apache-2.0", |
|||
"authors": [ |
|||
{ |
|||
"name": "liu21st", |
|||
"email": "liu21st@gmail.com" |
|||
}, |
|||
{ |
|||
"name": "yunwuxin", |
|||
"email": "448901948@qq.com" |
|||
} |
|||
], |
|||
"require": { |
|||
"php": ">=7.2.5", |
|||
"topthink/framework": "^6.1.0", |
|||
"topthink/think-orm": "^2.0", |
|||
"topthink/think-filesystem": "^1.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" |
|||
] |
|||
} |
|||
} |
|||
1070
composer.lock
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -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,39 @@ |
|||
<!doctype html> |
|||
<html> |
|||
<head> |
|||
<meta charset="utf-8"> |
|||
<title>恭喜,站点创建成功!</title> |
|||
<style> |
|||
.container { |
|||
width: 60%; |
|||
margin: 10% auto 0; |
|||
background-color: #f0f0f0; |
|||
padding: 2% 5%; |
|||
border-radius: 10px |
|||
} |
|||
|
|||
ul { |
|||
padding-left: 20px; |
|||
} |
|||
|
|||
ul li { |
|||
line-height: 2.3 |
|||
} |
|||
|
|||
a { |
|||
color: #20a53a |
|||
} |
|||
</style> |
|||
</head> |
|||
<body> |
|||
<div class="container"> |
|||
<h1>恭喜, 站点创建成功!</h1> |
|||
<h3>这是默认index.html,本页面由系统自动生成</h3> |
|||
<ul> |
|||
<li>本页面在FTP根目录下的index.html</li> |
|||
<li>您可以修改、删除或覆盖本页面</li> |
|||
<li>FTP相关信息,请到“面板系统后台 > FTP” 查看</li> |
|||
</ul> |
|||
</div> |
|||
</body> |
|||
</html> |
|||
@ -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> |
|||
@ -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,10 @@ |
|||
#!/usr/bin/env php |
|||
<?php |
|||
namespace think; |
|||
|
|||
// 命令行入口文件 |
|||
// 加载基础文件 |
|||
require __DIR__ . '/vendor/autoload.php'; |
|||
|
|||
// 应用初始化 |
|||
(new App())->console->run(); |
|||
@ -0,0 +1,2 @@ |
|||
* |
|||
!.gitignore |
|||
@ -0,0 +1 @@ |
|||
如果不使用模板,可以删除该目录 |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue