diff --git a/app/Http/Admin/Views/order/macro.volt b/app/Http/Admin/Views/order/macro.volt
index 4240b799..b45a5dd4 100644
--- a/app/Http/Admin/Views/order/macro.volt
+++ b/app/Http/Admin/Views/order/macro.volt
@@ -1,28 +1,28 @@
{%- macro item_info(order) %}
{% if order.item_type == 'course' %}
- {% set course = order.item_info['course'] %}
+ {% set course = order.item_info.course %}
-
课程名称:{{ course['title'] }}
-
市场价格:¥{{ course['market_price'] }}
-
有效期限:{{ date('Y-m-d', course['expire_time']) }}
+
课程名称:{{ course.title }}
+
市场价格:¥{{ course.market_price }}
+
有效期限:{{ date('Y-m-d', course.expire_time) }}
{% elseif order.item_type == 'package' %}
- {% set courses = order.item_info['courses'] %}
+ {% set courses = order.item_info.courses %}
{% for course in courses %}
-
课程名称:{{ course['title'] }}
-
市场价格:¥{{ course['market_price'] }}
-
有效期限:{{ date('Y-m-d', course['expire_time']) }}
+
课程名称:{{ course.title }}
+
市场价格:¥{{ course.market_price }}
+
有效期限:{{ date('Y-m-d', course.expire_time) }}
{% endfor %}
{% elseif order.item_type == 'reward' %}
- {% set course = order.item_info['course'] %}
+ {% set course = order.item_info.course %}
-
课程名称:{{ course['title'] }}
+
课程名称:{{ course.title }}
赞赏金额:¥{{ order.amount }}
{% elseif order.item_type == 'vip' %}
- {% set vip = order.item_info['vip'] %}
+ {% set vip = order.item_info.vip %}
商品名称:{{ order.subject }}
商品价格:¥{{ order.amount }}
diff --git a/app/Http/Admin/Views/refund/list.volt b/app/Http/Admin/Views/refund/list.volt
index 94f66675..49c6fa85 100644
--- a/app/Http/Admin/Views/refund/list.volt
+++ b/app/Http/Admin/Views/refund/list.volt
@@ -20,7 +20,6 @@
-
diff --git a/app/Providers/Database.php b/app/Providers/Database.php
index 5fc7425b..942aaa4e 100644
--- a/app/Providers/Database.php
+++ b/app/Providers/Database.php
@@ -16,12 +16,12 @@ class Database extends AbstractProvider
$config = $this->getShared('config');
$options = [
- 'host' => $config->db->host ?: '127.0.0.1',
- 'port' => $config->db->host ?: 3306,
+ 'host' => $config->db->host,
+ 'port' => $config->db->port,
'dbname' => $config->db->dbname,
'username' => $config->db->username,
'password' => $config->db->password,
- 'charset' => $config->db->charset ?: 'utf8',
+ 'charset' => $config->db->charset,
];
$connection = new MySqlAdapter($options);
diff --git a/app/Searchers/Course.php b/app/Searchers/Course.php
index 02532410..ded8ff17 100644
--- a/app/Searchers/Course.php
+++ b/app/Searchers/Course.php
@@ -2,6 +2,7 @@
namespace App\Searchers;
+use App\Models\Course as CourseModel;
use Phalcon\Mvc\User\Component as UserComponent;
class Course extends UserComponent
@@ -18,7 +19,7 @@ class Course extends UserComponent
/**
* 搜索
- *
+ *
* @param string $query
* @param integer $limit
* @param integer $offset
@@ -41,7 +42,7 @@ class Course extends UserComponent
/**
* 添加索引
- *
+ *
* @param CourseModel $course
*/
public function addIndex($course)
@@ -53,7 +54,7 @@ class Course extends UserComponent
/**
* 更新索引
- *
+ *
* @param CourseModel $course
* @throws \XSException
*/
@@ -66,7 +67,7 @@ class Course extends UserComponent
/**
* 删除索引
- *
+ *
* @param CourseModel $course
*/
public function deleteIndex($course)
@@ -76,13 +77,30 @@ class Course extends UserComponent
/**
* 设置文档
- *
+ *
* @param CourseModel $course
* @return \XSDocument
*/
private function setXSDocument($course)
{
- $data = $course->toArray();
+
+ $data = [
+ 'id' => $course->id,
+ 'title' => $course->title,
+ 'cover' => $course->cover,
+ 'summary' => $course->summary,
+ 'keywords' => $course->keywords,
+ 'market_price' => $course->market_price,
+ 'vip_price' => $course->vip_price,
+ 'expiry' => $course->expiry,
+ 'rating' => $course->rating,
+ 'score' => $course->score,
+ 'model' => $course->model,
+ 'level' => $course->level,
+ 'student_count' => $course->student_count,
+ 'lesson_count' => $course->lesson_count,
+ 'created_at' => $course->created_at,
+ ];
$doc = new \XSDocument();
diff --git a/app/Searchers/course.ini b/app/Searchers/course.ini
index e087081d..2b94ed4b 100644
--- a/app/Searchers/course.ini
+++ b/app/Searchers/course.ini
@@ -1,51 +1,55 @@
project.name = course
+project.default_charset = UTF-8
+
+server.index = 8383
+server.search = 8384
[id]
type = id
-[user_id]
-type = string
-index = self
-tokenizer = full
-
-[category_id]
-type = string
-index = self
-tokenizer = full
-
-[type]
-type = string
-index = self
-tokenizer = full
-
[title]
type = title
+[cover]
+type = string
+
[summary]
type = body
-[tags]
+[keywords]
+type = string
+index = mixed
+
+[market_price]
+type = string
+
+[vip_price]
+type = string
+
+[expiry]
type = string
-index = both
[rating]
-type = numeric
+type = string
[score]
type = numeric
-[price]
-type = numeric
+[model]
+type = string
+index = self
+tokenizer = full
[level]
type = string
index = self
tokenizer = full
-[status]
+[student_count]
+type = numeric
+
+[lesson_count]
type = string
-index = self
-tokenizer = full
[create_time]
type = numeric
diff --git a/composer.json b/composer.json
index 418484fd..7621bc52 100644
--- a/composer.json
+++ b/composer.json
@@ -14,6 +14,7 @@
"hightman/xunsearch": "^1.4.14"
},
"require-dev": {
+ "odan/phinx-migrations-generator": "^4.6"
},
"repositories": {
"packagist": {
diff --git a/composer.lock b/composer.lock
index a042edc2..c1ad8d04 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "0f1bd4f098897d13a5f8452989407860",
+ "content-hash": "9e0fcf410383f7ba3d69a36d7ff00331",
"packages": [
{
"name": "doctrine/lexer",
@@ -18,13 +18,7 @@
"type": "zip",
"url": "https://api.github.com/repos/doctrine/lexer/zipball/e17f069ede36f7534b95adec71910ed1b49c74ea",
"reference": "e17f069ede36f7534b95adec71910ed1b49c74ea",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": "^7.2"
@@ -86,13 +80,7 @@
"type": "zip",
"url": "https://api.github.com/repos/egulias/EmailValidator/zipball/92dd169c32f6f55ba570c309d83f5209cefb5e23",
"reference": "92dd169c32f6f55ba570c309d83f5209cefb5e23",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"doctrine/lexer": "^1.0.1",
@@ -150,13 +138,7 @@
"type": "zip",
"url": "https://api.github.com/repos/guzzle/command/zipball/2aaa2521a8f8269d6f5dfc13fe2af12c76921034",
"reference": "2aaa2521a8f8269d6f5dfc13fe2af12c76921034",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"guzzlehttp/guzzle": "^6.2",
@@ -209,13 +191,7 @@
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
"reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"guzzlehttp/promises": "^1.0",
@@ -280,13 +256,7 @@
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle-services/zipball/9e3abf20161cbf662d616cbb995f2811771759f7",
"reference": "9e3abf20161cbf662d616cbb995f2811771759f7",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"guzzlehttp/command": "~1.0",
@@ -346,13 +316,7 @@
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
"reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.5.0"
@@ -403,13 +367,7 @@
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/239400de7a173fe9901b9ac7c06497751f00727a",
"reference": "239400de7a173fe9901b9ac7c06497751f00727a",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.4.0",
@@ -468,6 +426,64 @@
],
"time": "2019-07-01T23:21:34+00:00"
},
+ {
+ "name": "hightman/xunsearch",
+ "version": "1.4.14",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/hightman/xs-sdk-php.git",
+ "reference": "d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/hightman/xs-sdk-php/zipball/d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87",
+ "reference": "d2faba65b9b4c0c0ea6e8b2ad5bafdefcbf3db87",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "lib-pcre": "*",
+ "php": ">=5.3.0"
+ },
+ "bin": [
+ "util/xs"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.4.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "lib/",
+ "wrapper/yii-ext/"
+ ],
+ "psr-4": {
+ "hightman\\xunsearch\\": "wrapper/yii2-ext/"
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "GPL-2.0+"
+ ],
+ "authors": [
+ {
+ "name": "hightman",
+ "email": "hightman@twomice.net",
+ "role": "Founder and project leader"
+ }
+ ],
+ "description": "xunsearch php sdk, include yii, yii2 supports",
+ "homepage": "http://www.xunsearch.com/",
+ "keywords": [
+ "search engine",
+ "xunsearch",
+ "yii",
+ "yii2"
+ ],
+ "time": "2019-11-01T02:17:32+00:00"
+ },
{
"name": "monolog/monolog",
"version": "2.0.0",
@@ -480,13 +496,7 @@
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/68545165e19249013afd1d6f7485aecff07a2d22",
"reference": "68545165e19249013afd1d6f7485aecff07a2d22",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": "^7.2",
@@ -567,13 +577,7 @@
"type": "zip",
"url": "https://api.github.com/repos/mtdowling/cron-expression/zipball/9504fa9ea681b586028adaaa0877db4aecf32bad",
"reference": "9504fa9ea681b586028adaaa0877db4aecf32bad",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.2"
@@ -617,13 +621,7 @@
"type": "zip",
"url": "https://api.github.com/repos/peppeocchi/php-cron-scheduler/zipball/1b18892fdd4f9c913107fda1544ac402eb7ec6e5",
"reference": "1b18892fdd4f9c913107fda1544ac402eb7ec6e5",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"mtdowling/cron-expression": "~1.0",
@@ -678,13 +676,7 @@
"type": "zip",
"url": "https://api.github.com/repos/phalcon/incubator/zipball/4883d9009a9d651308bfc201a0e9440c0ff692e2",
"reference": "4883d9009a9d651308bfc201a0e9440c0ff692e2",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"ext-phalcon": "^3.3",
@@ -753,13 +745,7 @@
"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
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.0"
@@ -805,13 +791,7 @@
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.0"
@@ -861,13 +841,7 @@
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
"reference": "6c001f1daafa3a3ac1d8ff69ee4db8e799a654dd",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.0"
@@ -914,13 +888,7 @@
"type": "zip",
"url": "https://api.github.com/repos/tencentyun/cos-php-sdk-v5/zipball/a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e",
"reference": "a8ac2dc1f58ddb36e5d702d19f9d7cb8d6f1dc5e",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"guzzlehttp/guzzle": "~6.3",
@@ -967,13 +935,7 @@
"type": "zip",
"url": "https://api.github.com/repos/qcloudsms/qcloudsms_php/zipball/48822045772d343b93c3d505d8a187cd51153c5a",
"reference": "48822045772d343b93c3d505d8a187cd51153c5a",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require-dev": {
"sami/sami": "dev-master"
@@ -1009,13 +971,7 @@
"type": "zip",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.6"
@@ -1055,13 +1011,7 @@
"type": "zip",
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a",
"reference": "5397cd05b0a0f7937c47b0adcb4c60e5ab936b6a",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"egulias/email-validator": "~2.0",
@@ -1123,13 +1073,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/429d0a1451d4c9c4abe1959b2986b88794b9b7d2",
"reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": "^7.1.3",
@@ -1199,13 +1143,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c61766f4440ca687de1084a5c00b08e167a2575c",
"reference": "c61766f4440ca687de1084a5c00b08e167a2575c",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": "^7.1.3"
@@ -1263,13 +1201,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d804bea118ff340a12e22a79f9c7e7eb56b35adc",
"reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": "^7.1.3",
@@ -1324,13 +1256,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/mime/zipball/987a05df1c6ac259b34008b932551353f4f408df",
"reference": "987a05df1c6ac259b34008b932551353f4f408df",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": "^7.1.3",
@@ -1389,13 +1315,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/685968b11e61a347c18bf25db32effa478be610f",
"reference": "685968b11e61a347c18bf25db32effa478be610f",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.3"
@@ -1454,13 +1374,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/6af626ae6fa37d396dc90a399c0ff08e5cfc45b2",
"reference": "6af626ae6fa37d396dc90a399c0ff08e5cfc45b2",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.3",
@@ -1522,13 +1436,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17",
"reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.3"
@@ -1587,13 +1495,7 @@
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/04ce3335667451138df4307d6a9b61565560199e",
"reference": "04ce3335667451138df4307d6a9b61565560199e",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3.3"
@@ -1648,13 +1550,7 @@
"type": "zip",
"url": "https://api.github.com/repos/TencentCloud/tencentcloud-sdk-php/zipball/71164956c234368c65c00e321e96f6dbd0f8d9c0",
"reference": "71164956c234368c65c00e321e96f6dbd0f8d9c0",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"guzzlehttp/guzzle": "^6.3",
@@ -1698,13 +1594,7 @@
"type": "zip",
"url": "https://api.github.com/repos/WhichBrowser/Parser-PHP/zipball/9c6ad8eadc23294b1c66d92876c11f13c5d4cf48",
"reference": "9c6ad8eadc23294b1c66d92876c11f13c5d4cf48",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.4.0",
@@ -1763,13 +1653,7 @@
"type": "zip",
"url": "https://api.github.com/repos/walkor/GatewayWorker/zipball/38b44c95f21cd340b5a9cff3987ddb2abb9a2a38",
"reference": "38b44c95f21cd340b5a9cff3987ddb2abb9a2a38",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"workerman/workerman": ">=3.1.8"
@@ -1803,13 +1687,7 @@
"type": "zip",
"url": "https://api.github.com/repos/walkor/Workerman/zipball/488f108f9e446f31bac4d689bb9f9fe3705862cf",
"reference": "488f108f9e446f31bac4d689bb9f9fe3705862cf",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=5.3"
@@ -1855,13 +1733,7 @@
"type": "zip",
"url": "https://api.github.com/repos/xiaochong0302/ip2region/zipball/3cb3c50fa9e2c49115e40252f6b651437712a4e9",
"reference": "3cb3c50fa9e2c49115e40252f6b651437712a4e9",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"php": ">=7.0"
@@ -1900,13 +1772,7 @@
"type": "zip",
"url": "https://api.github.com/repos/yansongda/pay/zipball/841999b65f97466ed1b405c52400c0c73aeaa3b5",
"reference": "841999b65f97466ed1b405c52400c0c73aeaa3b5",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"ext-json": "*",
@@ -1958,13 +1824,7 @@
"type": "zip",
"url": "https://api.github.com/repos/yansongda/supports/zipball/d4742562cf0453d127dc064334ad6dc3f86d247d",
"reference": "d4742562cf0453d127dc064334ad6dc3f86d247d",
- "shasum": "",
- "mirrors": [
- {
- "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%",
- "preferred": true
- }
- ]
+ "shasum": ""
},
"require": {
"guzzlehttp/guzzle": "^6.2",
@@ -2008,7 +1868,1043 @@
"time": "2019-09-21T14:56:18+00:00"
}
],
- "packages-dev": [],
+ "packages-dev": [
+ {
+ "name": "cakephp/cache",
+ "version": "3.8.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/cache.git",
+ "reference": "855a920c479925262575ec5b404010e22049098c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/cache/zipball/855a920c479925262575ec5b404010e22049098c",
+ "reference": "855a920c479925262575ec5b404010e22049098c",
+ "shasum": ""
+ },
+ "require": {
+ "cakephp/core": "^3.6.0",
+ "php": ">=5.6.0",
+ "psr/simple-cache": "^1.0.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cake\\Cache\\": "."
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/cache/graphs/contributors"
+ }
+ ],
+ "description": "Easy to use Caching library with support for multiple caching backends",
+ "homepage": "https://cakephp.org",
+ "keywords": [
+ "cache",
+ "caching",
+ "cakephp"
+ ],
+ "time": "2019-11-20T00:00:46+00:00"
+ },
+ {
+ "name": "cakephp/collection",
+ "version": "3.8.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/collection.git",
+ "reference": "3541cdd1739334fcbe301daed8d6cb9458903fdd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/collection/zipball/3541cdd1739334fcbe301daed8d6cb9458903fdd",
+ "reference": "3541cdd1739334fcbe301daed8d6cb9458903fdd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cake\\Collection\\": "."
+ },
+ "files": [
+ "functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/collection/graphs/contributors"
+ }
+ ],
+ "description": "Work easily with arrays and iterators by having a battery of utility traversal methods",
+ "homepage": "https://cakephp.org",
+ "keywords": [
+ "arrays",
+ "cakephp",
+ "collections",
+ "iterators"
+ ],
+ "time": "2019-11-20T00:00:46+00:00"
+ },
+ {
+ "name": "cakephp/core",
+ "version": "3.8.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/core.git",
+ "reference": "e77b155f93fd63d1a944c07f27abc82651377956"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/core/zipball/e77b155f93fd63d1a944c07f27abc82651377956",
+ "reference": "e77b155f93fd63d1a944c07f27abc82651377956",
+ "shasum": ""
+ },
+ "require": {
+ "cakephp/utility": "^3.6.0",
+ "php": ">=5.6.0"
+ },
+ "suggest": {
+ "cakephp/cache": "To use Configure::store() and restore().",
+ "cakephp/event": "To use PluginApplicationInterface or plugin applications."
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cake\\Core\\": "."
+ },
+ "files": [
+ "functions.php"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/core/graphs/contributors"
+ }
+ ],
+ "description": "CakePHP Framework Core classes",
+ "homepage": "https://cakephp.org",
+ "keywords": [
+ "cakephp",
+ "core",
+ "framework"
+ ],
+ "time": "2019-11-19T13:39:32+00:00"
+ },
+ {
+ "name": "cakephp/database",
+ "version": "3.8.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/database.git",
+ "reference": "c8a9123e8a393ac122bb0b51b100cafb3d34cece"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/database/zipball/c8a9123e8a393ac122bb0b51b100cafb3d34cece",
+ "reference": "c8a9123e8a393ac122bb0b51b100cafb3d34cece",
+ "shasum": ""
+ },
+ "require": {
+ "cakephp/cache": "^3.6.0",
+ "cakephp/core": "^3.6.0",
+ "cakephp/datasource": "^3.6.0",
+ "cakephp/log": "^3.6.0",
+ "php": ">=5.6.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cake\\Database\\": "."
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/database/graphs/contributors"
+ }
+ ],
+ "description": "Flexible and powerful Database abstraction library with a familiar PDO-like API",
+ "homepage": "https://cakephp.org",
+ "keywords": [
+ "abstraction",
+ "cakephp",
+ "database",
+ "database abstraction",
+ "pdo"
+ ],
+ "time": "2019-11-20T00:00:46+00:00"
+ },
+ {
+ "name": "cakephp/datasource",
+ "version": "3.8.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/datasource.git",
+ "reference": "e2fff5bd4adb650d565c853fb25380657e2d1dbb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/datasource/zipball/e2fff5bd4adb650d565c853fb25380657e2d1dbb",
+ "reference": "e2fff5bd4adb650d565c853fb25380657e2d1dbb",
+ "shasum": ""
+ },
+ "require": {
+ "cakephp/core": "^3.6.0",
+ "php": ">=5.6.0"
+ },
+ "suggest": {
+ "cakephp/cache": "If you decide to use Query caching.",
+ "cakephp/collection": "If you decide to use ResultSetInterface.",
+ "cakephp/utility": "If you decide to use EntityTrait."
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cake\\Datasource\\": "."
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/datasource/graphs/contributors"
+ }
+ ],
+ "description": "Provides connection managing and traits for Entities and Queries that can be reused for different datastores",
+ "homepage": "https://cakephp.org",
+ "keywords": [
+ "cakephp",
+ "connection management",
+ "datasource",
+ "entity",
+ "query"
+ ],
+ "time": "2019-11-20T00:00:46+00:00"
+ },
+ {
+ "name": "cakephp/log",
+ "version": "3.8.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/log.git",
+ "reference": "9194c5aebaf30d4e9541e5635fa16f8c373af2f3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/log/zipball/9194c5aebaf30d4e9541e5635fa16f8c373af2f3",
+ "reference": "9194c5aebaf30d4e9541e5635fa16f8c373af2f3",
+ "shasum": ""
+ },
+ "require": {
+ "cakephp/core": "^3.6.0",
+ "php": ">=5.6.0",
+ "psr/log": "^1.0.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cake\\Log\\": "."
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/log/graphs/contributors"
+ }
+ ],
+ "description": "CakePHP logging library with support for multiple different streams",
+ "homepage": "https://cakephp.org",
+ "keywords": [
+ "Streams",
+ "cakephp",
+ "log",
+ "logging"
+ ],
+ "time": "2019-11-20T00:00:46+00:00"
+ },
+ {
+ "name": "cakephp/utility",
+ "version": "3.8.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/utility.git",
+ "reference": "e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/utility/zipball/e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9",
+ "reference": "e60bf1dc7fbdbc0d717c950cbbeb3196d3bc0cf9",
+ "shasum": ""
+ },
+ "require": {
+ "cakephp/core": "^3.6.0",
+ "php": ">=5.6.0"
+ },
+ "suggest": {
+ "ext-intl": "To use Text::transliterate() or Text::slug()",
+ "lib-ICU": "To use Text::transliterate() or Text::slug()"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Cake\\Utility\\": "."
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/utility/graphs/contributors"
+ }
+ ],
+ "description": "CakePHP Utility classes such as Inflector, String, Hash, and Security",
+ "homepage": "https://cakephp.org",
+ "keywords": [
+ "cakephp",
+ "hash",
+ "inflector",
+ "security",
+ "string",
+ "utility"
+ ],
+ "time": "2019-11-21T14:18:54+00:00"
+ },
+ {
+ "name": "odan/phinx-migrations-generator",
+ "version": "4.6.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/odan/phinx-migrations-generator.git",
+ "reference": "741aa0b8003a620968dcb77ee4d503d89dacce3a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/odan/phinx-migrations-generator/zipball/741aa0b8003a620968dcb77ee4d503d89dacce3a",
+ "reference": "741aa0b8003a620968dcb77ee4d503d89dacce3a",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1",
+ "riimu/kit-phpencoder": "^2.4",
+ "robmorgan/phinx": "^0.11",
+ "symfony/console": "^2.8|^3.0|^4.0|^5.0"
+ },
+ "require-dev": {
+ "overtrue/phplint": "^1.1",
+ "phpstan/phpstan-shim": "^0.11",
+ "phpunit/phpunit": "^7.0",
+ "squizlabs/php_codesniffer": "^3.4"
+ },
+ "bin": [
+ "./bin/phinx-migrations"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Odan\\Migration\\": "src/Migration/"
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Migration generator for Phinx",
+ "homepage": "https://github.com/odan/phinx-migrations-generator",
+ "keywords": [
+ "database",
+ "generator",
+ "migration",
+ "migrations",
+ "mysql",
+ "phinx"
+ ],
+ "time": "2019-11-21T15:15:19+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://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"
+ ],
+ "time": "2017-02-14T16:28:37+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": ""
+ },
+ "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.jp/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"
+ ],
+ "time": "2017-10-23T01:57:42+00:00"
+ },
+ {
+ "name": "riimu/kit-phpencoder",
+ "version": "v2.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Riimu/Kit-PHPEncoder.git",
+ "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Riimu/Kit-PHPEncoder/zipball/7e876d25019c3f6c23321ab5ac1a55c72fcd0933",
+ "reference": "7e876d25019c3f6c23321ab5ac1a55c72fcd0933",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.2 || ^6.5 || ^5.7"
+ },
+ "suggest": {
+ "ext-gmp": "To convert GMP numbers into PHP code"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Riimu\\Kit\\PHPEncoder\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Riikka Kalliomäki",
+ "email": "riikka.kalliomaki@gmail.com",
+ "homepage": "http://riimu.net"
+ }
+ ],
+ "description": "Highly customizable alternative to var_export for PHP code generation",
+ "homepage": "http://kit.riimu.net",
+ "keywords": [
+ "code",
+ "encoder",
+ "export",
+ "generator",
+ "variable"
+ ],
+ "time": "2018-07-03T12:46:23+00:00"
+ },
+ {
+ "name": "robmorgan/phinx",
+ "version": "0.11.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/cakephp/phinx.git",
+ "reference": "3c6a171b0455225cf42716dc4864feb620da716f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/cakephp/phinx/zipball/3c6a171b0455225cf42716dc4864feb620da716f",
+ "reference": "3c6a171b0455225cf42716dc4864feb620da716f",
+ "shasum": ""
+ },
+ "require": {
+ "cakephp/collection": "^3.6",
+ "cakephp/core": "^3.6",
+ "cakephp/database": "^3.6",
+ "cakephp/datasource": "^3.6",
+ "php": ">=5.6",
+ "symfony/config": "^3.4|^4.0|^5.0",
+ "symfony/console": "^3.4|^4.0|^5.0",
+ "symfony/yaml": "^3.4|^4.0|^5.0"
+ },
+ "require-dev": {
+ "cakephp/cakephp-codesniffer": "^3.0",
+ "phpunit/phpunit": ">=5.7,<8.0",
+ "sebastian/comparator": ">=1.2.3"
+ },
+ "bin": [
+ "bin/phinx"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Phinx\\": "src/Phinx/"
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Rob Morgan",
+ "email": "robbym@gmail.com",
+ "homepage": "https://robmorgan.id.au",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Woody Gilk",
+ "email": "woody.gilk@gmail.com",
+ "homepage": "https://shadowhand.me",
+ "role": "Developer"
+ },
+ {
+ "name": "Richard Quadling",
+ "email": "rquadling@gmail.com",
+ "role": "Developer"
+ },
+ {
+ "name": "CakePHP Community",
+ "homepage": "https://github.com/cakephp/phinx/graphs/contributors",
+ "role": "Developer"
+ }
+ ],
+ "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.",
+ "homepage": "https://phinx.org",
+ "keywords": [
+ "database",
+ "database migrations",
+ "db",
+ "migrations",
+ "phinx"
+ ],
+ "time": "2019-12-12T16:53:38+00:00"
+ },
+ {
+ "name": "symfony/config",
+ "version": "v5.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/config.git",
+ "reference": "c0773efcc2c940ffbc4c34a0dba2836f2cf6dc9c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/config/zipball/c0773efcc2c940ffbc4c34a0dba2836f2cf6dc9c",
+ "reference": "c0773efcc2c940ffbc4c34a0dba2836f2cf6dc9c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5",
+ "symfony/filesystem": "^4.4|^5.0",
+ "symfony/polyfill-ctype": "~1.8"
+ },
+ "conflict": {
+ "symfony/finder": "<4.4"
+ },
+ "require-dev": {
+ "symfony/event-dispatcher": "^4.4|^5.0",
+ "symfony/finder": "^4.4|^5.0",
+ "symfony/messenger": "^4.4|^5.0",
+ "symfony/service-contracts": "^1.1|^2",
+ "symfony/yaml": "^4.4|^5.0"
+ },
+ "suggest": {
+ "symfony/yaml": "To use the yaml reference dumper"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Config\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Config Component",
+ "homepage": "https://symfony.com",
+ "time": "2019-12-01T10:51:15+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v4.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/f0aea3df20d15635b3cb9730ca5eea1c65b7f201",
+ "reference": "f0aea3df20d15635b3cb9730ca5eea1c65b7f201",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1.3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php73": "^1.8",
+ "symfony/service-contracts": "^1.1|^2"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<3.4",
+ "symfony/event-dispatcher": "<4.3|>=5",
+ "symfony/lock": "<4.4",
+ "symfony/process": "<3.3"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0"
+ },
+ "require-dev": {
+ "psr/log": "~1.0",
+ "symfony/config": "^3.4|^4.0|^5.0",
+ "symfony/dependency-injection": "^3.4|^4.0|^5.0",
+ "symfony/event-dispatcher": "^4.3",
+ "symfony/lock": "^4.4|^5.0",
+ "symfony/process": "^3.4|^4.0|^5.0",
+ "symfony/var-dumper": "^4.3|^5.0"
+ },
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.4-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Console Component",
+ "homepage": "https://symfony.com",
+ "time": "2019-12-01T10:06:17+00:00"
+ },
+ {
+ "name": "symfony/filesystem",
+ "version": "v5.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "1d71f670bc5a07b9ccc97dc44f932177a322d4e6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/1d71f670bc5a07b9ccc97dc44f932177a322d4e6",
+ "reference": "1d71f670bc5a07b9ccc97dc44f932177a322d4e6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5",
+ "symfony/polyfill-ctype": "~1.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Filesystem\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Filesystem Component",
+ "homepage": "https://symfony.com",
+ "time": "2019-11-26T23:25:11+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.13.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
+ "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.13-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "time": "2019-11-27T13:56:44+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php73",
+ "version": "v1.13.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php73.git",
+ "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/4b0e2222c55a25b4541305a053013d5647d3a25f",
+ "reference": "4b0e2222c55a25b4541305a053013d5647d3a25f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.13-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Polyfill\\Php73\\": ""
+ },
+ "files": [
+ "bootstrap.php"
+ ],
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.jp/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.3+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "time": "2019-11-27T16:25:15+00:00"
+ },
+ {
+ "name": "symfony/service-contracts",
+ "version": "v2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "144c5e51266b281231e947b51223ba14acf1a749"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749",
+ "reference": "144c5e51266b281231e947b51223ba14acf1a749",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5",
+ "psr/container": "^1.0"
+ },
+ "suggest": {
+ "symfony/service-implementation": ""
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Service\\": ""
+ }
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to writing services",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "time": "2019-11-18T17:27:11+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v5.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "51b684480184fa767b97e28eaca67664e48dd3e9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/51b684480184fa767b97e28eaca67664e48dd3e9",
+ "reference": "51b684480184fa767b97e28eaca67664e48dd3e9",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2.5",
+ "symfony/polyfill-ctype": "~1.8"
+ },
+ "conflict": {
+ "symfony/console": "<4.4"
+ },
+ "require-dev": {
+ "symfony/console": "^4.4|^5.0"
+ },
+ "suggest": {
+ "symfony/console": "For validating YAML files using the lint command"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Yaml\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.jp/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Yaml Component",
+ "homepage": "https://symfony.com",
+ "time": "2019-11-18T17:27:11+00:00"
+ }
+ ],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {
diff --git a/config/config.default.php b/config/config.default.php
index 78910253..5f64c8b3 100644
--- a/config/config.default.php
+++ b/config/config.default.php
@@ -32,6 +32,11 @@ $config['url']['static'] = '/static/';
*/
$config['db']['host'] = 'mysql';
+/**
+ * 数据库端口
+ */
+$config['db']['port'] = 3306;
+
/**
* 数据库名称
*/
@@ -63,7 +68,7 @@ $config['redis']['host'] = 'redis';
$config['redis']['port'] = 6379;
/**
- * redis链接密码
+ * redis密码
*/
$config['redis']['auth'] = '1qaz2wsx3edc';
diff --git a/db/migrations/20190616155547_my_test_migration.php b/db/migrations/20190616155547_my_test_migration.php
deleted file mode 100644
index 88b50aaf..00000000
--- a/db/migrations/20190616155547_my_test_migration.php
+++ /dev/null
@@ -1,36 +0,0 @@
-getDI()->getShared('config');
-$db = $config->database;
+$db = $config->db;
$options = [
@@ -26,7 +26,7 @@ $options = [
'default_database' => 'production',
'production' => [
- 'adapter' => $db->adapter,
+ 'adapter' => 'mysql',
'host' => $db->host,
'port' => $db->port,
'name' => $db->dbname,