Compare commits

...

8 Commits
1.6.3 ... 1.6.5

Author SHA1 Message Date
crazywhalecc
cc31a1654d update to v1.6.5 version
correct version name
update dependencies
2020-12-09 14:06:58 +08:00
crazywhalecc
dfca486b64 update to v1.6.5 version
correct version name
2020-12-09 13:57:51 +08:00
crazywhalecc
754c2846fe update to v1.6.5 version
fix composer.json bug
2020-12-09 13:53:16 +08:00
crazywhalecc
eed670cb50 update to v1.6.4 version
fix LOAD_MODE = 1 autoload bug
remove unnecessary dependencies
2020-12-09 13:43:25 +08:00
Whale
9e824d960f Update README.md 2020-12-08 02:07:08 +08:00
Whale
992b6020a5 Update README.md 2020-12-08 02:06:48 +08:00
Whale
d51dbef437 Update README.md 2020-11-28 09:32:11 +08:00
Whale
7f058638bd Update README.md 2020-11-23 00:07:17 +08:00
3 changed files with 49 additions and 20 deletions

View File

@@ -15,11 +15,15 @@
</div>
## 开发者注意
**v2.0 版本已经开始公测了,但是文档还在光速编写中,可以现行进行测试!**
**炸毛框架目前经过实验可以直接在 PHP8 环境上运行,但是细节部分未经充分测试,如果在 PHP8 环境下运行出现问题,请及时提出 Issue谢谢**
**由于 CQHTTP 不再提供维护,转为 [OneBot 标准](https://github.com/howmanybots/onebot)(原 CQHTTP 插件衍生而来的机器人 HTTP 接口标准),本框架也将在未来改为兼容此标准。**
**以上涉及的变更将在下一个大版本 (v2.0.0) 更新,请关注 2.0-dev 分支 和 Project 模块!**
**v2.0版本即将到来,请持续关注 [新文档](https://zhamao.xin/docs-v2/) 进度和 Project 模块展示的测试进度!**
**v2.0版本即将到来,请持续关注 [新文档](https://docs-v2.zhamao.xin/) 进度和 Project 模块展示的测试进度!**
## 简介
zhamao-framework 是一个 PHP Swoole 的聊天机器人框架,兼容 OneBot 标准,它会对微信公众号等终端收到的消息进行解析处理,并以模块化的形式进行开发,来完成机器人的自然语言对话等功能。
@@ -32,8 +36,10 @@ zhamao-framework 是一个 PHP Swoole 的聊天机器人框架,兼容 OneBot
2. 你也可以直接拉取本项目,进入文件夹后 `composer update` 加载依赖后使用 `bin/start init` 快速初始化框架文件
3. 还可以使用 Dockerfile 构建 Docker 容器
## 文档
[https://framework.zhamao.xin/](https://framework.zhamao.xin/)
## 文档 (v1.x)
国内服务器:[https://docs-v1.zhamao.xin/](https://docs-v1.zhamao.xin/)
GitHub Pages[https://docs-v1.zhamao.me/](https://docs-v1.zhamao.me/)
## 特点
- 支持多账号

View File

@@ -3,7 +3,7 @@
"description": "High performance QQ robot and web server development framework",
"minimum-stability": "stable",
"license": "Apache-2.0",
"version": "1.6.3",
"version": "1.6.5",
"authors": [
{
"name": "whale",
@@ -21,21 +21,17 @@
"require": {
"php": ">=7.2",
"swoole/ide-helper": "@dev",
"ext-mbstring": "*",
"swlib/saber": "^1.0",
"doctrine/annotations": "~1.10",
"ext-json": "*",
"ext-posix": "*",
"ext-ctype": "*",
"ext-pdo": "*",
"psy/psysh": "@stable"
"psy/psysh": "@stable",
"symfony/polyfill-ctype": "^1.20",
"symfony/polyfill-mbstring": "^1.20"
},
"autoload": {
"psr-4": {
"Custom\\": "src/Custom",
"Framework\\": "src/Framework",
"ZM\\": "src/ZM",
"Module\\": "src/Module"
"ZM\\": "src/ZM"
}
}
}
}

View File

@@ -34,7 +34,8 @@ class FrameworkLoader
/** @var Server */
private $server;
public function __construct($args = []) {
public function __construct($args = [])
{
$this->requireGlobalFunctions();
if (LOAD_MODE == 0) define("WORKING_DIR", getcwd());
elseif (LOAD_MODE == 1) define("WORKING_DIR", realpath(__DIR__ . "/../../"));
@@ -45,6 +46,29 @@ class FrameworkLoader
/** @noinspection PhpIncludeInspection */
require_once DataProvider::getWorkingDir() . "/vendor/autoload.php";
}
if (LOAD_MODE == 0) {
echo "* This is repository mode.\n";
$composer = json_decode(file_get_contents(DataProvider::getWorkingDir() . "/composer.json"), true);
if (!isset($composer["autoload"]["psr-4"]["Module\\"])) {
echo "框架源码模式需要在autoload文件中添加Module目录为自动加载是否添加[Y/n] ";
$r = strtolower(trim(fgets(STDIN)));
if ($r === "" || $r === "y") {
$composer["autoload"]["psr-4"]["Module\\"] = "src/Module";
$composer["autoload"]["psr-4"]["Custom\\"] = "src/Custom";
$r = file_put_contents(DataProvider::getWorkingDir() . "/composer.json", json_encode($composer, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE));
if ($r !== false) {
echo "成功添加!请重新进行 composer update \n";
exit(1);
} else {
echo "添加失败!请按任意键继续!";
fgets(STDIN);
exit(1);
}
} else {
exit(1);
}
}
}
if (LOAD_MODE == 2) {
require_once FRAMEWORK_DIR . "/vendor/autoload.php";
spl_autoload_register('phar_classloader');
@@ -136,11 +160,13 @@ class FrameworkLoader
}
}
private function requireGlobalFunctions() {
private function requireGlobalFunctions()
{
require_once __DIR__ . '/global_functions.php';
}
private function defineProperties() {
private function defineProperties()
{
define("ZM_START_TIME", microtime(true));
define("ZM_DATA", self::$settings->get("zm_data"));
define("ZM_VERSION", json_decode(file_get_contents(__DIR__ . "/../../composer.json"), true)["version"] ?? "unknown");
@@ -158,14 +184,15 @@ class FrameworkLoader
define("ZM_DEFAULT_FETCH_MODE", self::$settings->get("sql_config")["sql_default_fetch_mode"] ?? 4);
}
private function selfCheck() {
private function selfCheck()
{
if (!extension_loaded("swoole")) die("Can not find swoole extension.\n");
if (version_compare(SWOOLE_VERSION, "4.4.13") == -1) die("You must install swoole version >= 4.4.13 !");
//if (!extension_loaded("gd")) die("Can not find gd extension.\n");
if (!extension_loaded("sockets")) die("Can not find sockets extension.\n");
if (!extension_loaded("ctype")) die("Can not find ctype extension.\n");
//if (!extension_loaded("sockets")) die("Can not find sockets extension.\n");
if (!function_exists("ctype_alpha")) die("Can not find ctype extension.\n");
if (!function_exists("mb_substr")) die("Can not find mbstring extension.\n");
if (substr(PHP_VERSION, 0, 1) != "7") die("PHP >=7 required.\n");
if (substr(PHP_VERSION, 0, 1) < "7") die("PHP >=7 required.\n");
//if (!function_exists("curl_exec")) die("Can not find curl extension.\n");
//if (!class_exists("ZipArchive")) die("Can not find Zip extension.\n");
//if (!file_exists(CRASH_DIR . "last_error.log")) die("Can not find log file.\n");