reformat code

This commit is contained in:
jerry
2021-02-09 17:09:09 +08:00
parent 0f9767aa16
commit 77c12db31a
25 changed files with 74 additions and 67 deletions

View File

@@ -224,5 +224,14 @@ public function repeat() {
这样,一个简易的复读机就做好了!回到 QQ 机器人聊天,向机器人发送 `echo 你好啊`,它会回复你 `你好啊`。 这样,一个简易的复读机就做好了!回到 QQ 机器人聊天,向机器人发送 `echo 你好啊`,它会回复你 `你好啊`。
<chat-box>
) echo 你好啊
( 你好啊
) echo
( 请输入你要回复的内容
) 哦豁,完蛋
( 哦豁,完蛋
</chat-box>
> 如果你只回复 `echo` 的话,它会先和你进入一个会话状态,并问你 `请输入你要回复的内容`,这时你再次说一些内容例如 `哦豁`,会回复你 `哦豁`。效果和直接输入 `echo 哦豁` 是一致的,这是炸毛框架内的一个封装好的命令参数对话询问功能。有关参数询问功能,请看后面的进阶模块。 > 如果你只回复 `echo` 的话,它会先和你进入一个会话状态,并问你 `请输入你要回复的内容`,这时你再次说一些内容例如 `哦豁`,会回复你 `哦豁`。效果和直接输入 `echo 哦豁` 是一致的,这是炸毛框架内的一个封装好的命令参数对话询问功能。有关参数询问功能,请看后面的进阶模块。

View File

@@ -130,7 +130,7 @@ class CQ
* @return string * @return string
*/ */
public static function anonymous($ignore = 1) { public static function anonymous($ignore = 1) {
return "[CQ:anonymous".($ignore != 1 ? ",ignore=0" : "")."]"; return "[CQ:anonymous" . ($ignore != 1 ? ",ignore=0" : "") . "]";
} }
/** /**
@@ -208,7 +208,7 @@ class CQ
} }
public static function node($user_id, $nickname, $content) { public static function node($user_id, $nickname, $content) {
return "[CQ:node,user_id=$user_id,nickname=$nickname,content=".self::escape($content)."]"; return "[CQ:node,user_id=$user_id,nickname=$nickname,content=" . self::escape($content) . "]";
} }
/** /**

View File

@@ -59,7 +59,7 @@ class ZMRobot
public static function getAllRobot() { public static function getAllRobot() {
$r = ManagerGM::getAllByName('qq'); $r = ManagerGM::getAllByName('qq');
$obj = []; $obj = [];
foreach($r as $v) { foreach ($r as $v) {
$obj[] = new ZMRobot($v); $obj[] = new ZMRobot($v);
} }
return $obj; return $obj;

View File

@@ -47,7 +47,7 @@ class AnnotationParser
*/ */
public function registerMods() { public function registerMods() {
foreach ($this->path_list as $path) { foreach ($this->path_list as $path) {
Console::debug("parsing annotation in ".$path[0]); Console::debug("parsing annotation in " . $path[0]);
$all_class = getAllClasses($path[0], $path[1]); $all_class = getAllClasses($path[0], $path[1]);
$this->reader = new AnnotationReader(); $this->reader = new AnnotationReader();
foreach ($all_class as $v) { foreach ($all_class as $v) {

View File

@@ -31,7 +31,7 @@ class BuildCommand extends Command
$target_dir = $input->getOption("target") ?? (__DIR__ . '/../../../resources/'); $target_dir = $input->getOption("target") ?? (__DIR__ . '/../../../resources/');
if (mb_strpos($target_dir, "../")) $target_dir = realpath($target_dir); if (mb_strpos($target_dir, "../")) $target_dir = realpath($target_dir);
if ($target_dir === false) { if ($target_dir === false) {
$output->writeln(TermColor::color8(31) . "Error: No such file or directory (".__DIR__ . '/../../../resources/'.")" . TermColor::RESET); $output->writeln(TermColor::color8(31) . "Error: No such file or directory (" . __DIR__ . '/../../../resources/' . ")" . TermColor::RESET);
return Command::FAILURE; return Command::FAILURE;
} }
$output->writeln("Target: " . $target_dir . " , Version: " . ($version = json_decode(file_get_contents(__DIR__ . "/../../../composer.json"), true)["version"])); $output->writeln("Target: " . $target_dir . " , Version: " . ($version = json_decode(file_get_contents(__DIR__ . "/../../../composer.json"), true)["version"]));
@@ -51,7 +51,7 @@ class BuildCommand extends Command
return Command::SUCCESS; return Command::SUCCESS;
} }
private function build ($target_dir, $filename) { private function build($target_dir, $filename) {
@unlink($target_dir . $filename); @unlink($target_dir . $filename);
$phar = new Phar($target_dir . $filename); $phar = new Phar($target_dir . $filename);
$phar->startBuffering(); $phar->startBuffering();

View File

@@ -18,8 +18,8 @@ class DaemonStopCommand extends DaemonCommand
protected function execute(InputInterface $input, OutputInterface $output) { protected function execute(InputInterface $input, OutputInterface $output) {
parent::execute($input, $output); parent::execute($input, $output);
system("kill -TERM ".intval($this->daemon_file["pid"])); system("kill -TERM " . intval($this->daemon_file["pid"]));
unlink(DataProvider::getWorkingDir()."/.daemon_pid"); unlink(DataProvider::getWorkingDir() . "/.daemon_pid");
$output->writeln("<info>成功停止!</info>"); $output->writeln("<info>成功停止!</info>");
return Command::SUCCESS; return Command::SUCCESS;
} }

View File

@@ -36,8 +36,8 @@ class PureHttpCommand extends Command
protected function execute(InputInterface $input, OutputInterface $output) { protected function execute(InputInterface $input, OutputInterface $output) {
$tty_width = explode(" ", trim(exec("stty size")))[1]; $tty_width = explode(" ", trim(exec("stty size")))[1];
if(realpath($input->getArgument('dir') ?? '.') === false) { if (realpath($input->getArgument('dir') ?? '.') === false) {
$output->writeln("<error>Directory error(".($input->getArgument('dir') ?? '.')."): no such file or directory.</error>"); $output->writeln("<error>Directory error(" . ($input->getArgument('dir') ?? '.') . "): no such file or directory.</error>");
return self::FAILURE; return self::FAILURE;
} }
$global = ZMConfig::get("global"); $global = ZMConfig::get("global");
@@ -60,15 +60,15 @@ class PureHttpCommand extends Command
"document_root" => realpath($input->getArgument('dir') ?? '.'), "document_root" => realpath($input->getArgument('dir') ?? '.'),
"document_index" => $index "document_index" => $index
]); ]);
echo "\r".Coroutine::stats()["coroutine_peak_num"]; echo "\r" . Coroutine::stats()["coroutine_peak_num"];
}); });
$server->on("start", function ($server) { $server->on("start", function ($server) {
Process::signal(SIGINT, function () use ($server) { Process::signal(SIGINT, function () use ($server) {
Console::warning("Server interrupted by keyboard."); Console::warning("Server interrupted by keyboard.");
for ($i = 0; $i < 32; ++$i) { for ($i = 0; $i < 32; ++$i) {
$num = ZMAtomic::$atomics["request"][$i]->get(); $num = ZMAtomic::$atomics["request"][$i]->get();
if($num != 0) if ($num != 0)
echo "[$i]: ".$num."\n"; echo "[$i]: " . $num . "\n";
} }
$server->shutdown(); $server->shutdown();
$server->stop(); $server->stop();

View File

@@ -38,7 +38,7 @@ class DB
if (Table::getTableInstance($table_name) === null) { if (Table::getTableInstance($table_name) === null) {
if (in_array($table_name, self::$table_list)) if (in_array($table_name, self::$table_list))
return new Table($table_name); return new Table($table_name);
elseif(SqlPoolStorage::$sql_pool !== null){ elseif (SqlPoolStorage::$sql_pool !== null) {
throw new DbException("Table " . $table_name . " not exist in database."); throw new DbException("Table " . $table_name . " not exist in database.");
} else { } else {
throw new DbException("Database connection not exist or connect failed. Please check sql configuration"); throw new DbException("Database connection not exist or connect failed. Please check sql configuration");
@@ -84,7 +84,7 @@ class DB
* @throws DbException * @throws DbException
*/ */
public static function rawQuery(string $line, $params = [], $fetch_mode = ZM_DEFAULT_FETCH_MODE) { public static function rawQuery(string $line, $params = [], $fetch_mode = ZM_DEFAULT_FETCH_MODE) {
Console::debug("MySQL: ".$line." | ". implode(", ", $params)); Console::debug("MySQL: " . $line . " | " . implode(", ", $params));
try { try {
$conn = SqlPoolStorage::$sql_pool->get(); $conn = SqlPoolStorage::$sql_pool->get();
if ($conn === false) { if ($conn === false) {
@@ -115,7 +115,7 @@ class DB
return $ps->fetchAll($fetch_mode); return $ps->fetchAll($fetch_mode);
} }
} catch (DbException $e) { } catch (DbException $e) {
if(mb_strpos($e->getMessage(), "has gone away") !== false) { if (mb_strpos($e->getMessage(), "has gone away") !== false) {
zm_sleep(0.2); zm_sleep(0.2);
Console::warning("Gone away of MySQL! retrying!"); Console::warning("Gone away of MySQL! retrying!");
return self::rawQuery($line, $params); return self::rawQuery($line, $params);
@@ -123,7 +123,7 @@ class DB
Console::warning($e->getMessage()); Console::warning($e->getMessage());
throw $e; throw $e;
} catch (PDOException $e) { } catch (PDOException $e) {
if(mb_strpos($e->getMessage(), "has gone away") !== false) { if (mb_strpos($e->getMessage(), "has gone away") !== false) {
zm_sleep(0.2); zm_sleep(0.2);
Console::warning("Gone away of MySQL! retrying!"); Console::warning("Gone away of MySQL! retrying!");
return self::rawQuery($line, $params); return self::rawQuery($line, $params);

View File

@@ -28,6 +28,6 @@ class InsertBody
* @throws DbException * @throws DbException
*/ */
public function save() { public function save() {
DB::rawQuery('INSERT INTO ' . $this->table->getTableName() . ' VALUES ('.implode(',', array_fill(0, count($this->row), '?')).')', $this->row); DB::rawQuery('INSERT INTO ' . $this->table->getTableName() . ' VALUES (' . implode(',', array_fill(0, count($this->row), '?')) . ')', $this->row);
} }
} }

View File

@@ -4,7 +4,6 @@
namespace ZM\DB; namespace ZM\DB;
class Table class Table
{ {
private $table_name; private $table_name;
@@ -28,7 +27,7 @@ class Table
return new SelectBody($this, $what == [] ? ["*"] : $what); return new SelectBody($this, $what == [] ? ["*"] : $what);
} }
public function where($column, $operation_or_value, $value = null){ public function where($column, $operation_or_value, $value = null) {
return (new SelectBody($this, ["*"]))->where($column, $operation_or_value, $value); return (new SelectBody($this, ["*"]))->where($column, $operation_or_value, $value);
} }
@@ -47,7 +46,7 @@ class Table
return new DeleteBody($this); return new DeleteBody($this);
} }
public function statement(){ public function statement() {
$this->cache = []; $this->cache = [];
//TODO: 无返回的statement语句 //TODO: 无返回的statement语句
} }

View File

@@ -18,6 +18,7 @@ class UpdateBody
* @var array * @var array
*/ */
private $set_value; private $set_value;
/** /**
* UpdateBody constructor. * UpdateBody constructor.
* @param Table $table * @param Table $table
@@ -31,19 +32,19 @@ class UpdateBody
/** /**
* @throws DbException * @throws DbException
*/ */
public function save(){ public function save() {
$arr = []; $arr = [];
$msg = []; $msg = [];
foreach($this->set_value as $k => $v) { foreach ($this->set_value as $k => $v) {
$msg []= $k .' = ?'; $msg [] = $k . ' = ?';
$arr[]=$v; $arr[] = $v;
} }
if(($msg ?? []) == []) throw new DbException('update value sets can not be empty!'); if (($msg ?? []) == []) throw new DbException('update value sets can not be empty!');
$line = 'UPDATE '.$this->table->getTableName().' SET '.implode(', ', $msg); $line = 'UPDATE ' . $this->table->getTableName() . ' SET ' . implode(', ', $msg);
if($this->where_thing != []) { if ($this->where_thing != []) {
list($sql, $param) = $this->getWhereSQL(); list($sql, $param) = $this->getWhereSQL();
$arr = array_merge($arr, $param); $arr = array_merge($arr, $param);
$line .= ' WHERE '.$sql; $line .= ' WHERE ' . $sql;
} }
return DB::rawQuery($line, $arr); return DB::rawQuery($line, $arr);
} }

View File

@@ -15,17 +15,17 @@ trait WhereBody
return $this; return $this;
} }
protected function getWhereSQL(){ protected function getWhereSQL() {
$param = []; $param = [];
$msg = ''; $msg = '';
foreach($this->where_thing as $k => $v) { foreach ($this->where_thing as $k => $v) {
foreach($v as $ks => $vs) { foreach ($v as $ks => $vs) {
if($param != []) { if ($param != []) {
$msg .= ' AND '.$ks ." $k ?"; $msg .= ' AND ' . $ks . " $k ?";
} else { } else {
$msg .= "$ks $k ?"; $msg .= "$ks $k ?";
} }
$param []=$vs; $param [] = $vs;
} }
} }
if ($msg == '') $msg = 1; if ($msg == '') $msg = 1;

View File

@@ -93,13 +93,13 @@ class EventDispatcher
foreach ((EventManager::$events[$this->class] ?? []) as $v) { foreach ((EventManager::$events[$this->class] ?? []) as $v) {
$this->dispatchEvent($v, $this->rule, ...$params); $this->dispatchEvent($v, $this->rule, ...$params);
if ($this->log) Console::verbose("[事件分发{$this->eid}] 单一对象 " . $v->class . "::" . $v->method . " 分发结束。"); if ($this->log) Console::verbose("[事件分发{$this->eid}] 单一对象 " . $v->class . "::" . $v->method . " 分发结束。");
if($this->status == self::STATUS_BEFORE_FAILED || $this->status == self::STATUS_RULE_FAILED) continue; if ($this->status == self::STATUS_BEFORE_FAILED || $this->status == self::STATUS_RULE_FAILED) continue;
if (is_callable($this->return_func) && $this->status === self::STATUS_NORMAL) { if (is_callable($this->return_func) && $this->status === self::STATUS_NORMAL) {
if ($this->log) Console::verbose("[事件分发{$this->eid}] 单一对象 " . $v->class . "::" . $v->method . " 正在执行返回值处理函数 ..."); if ($this->log) Console::verbose("[事件分发{$this->eid}] 单一对象 " . $v->class . "::" . $v->method . " 正在执行返回值处理函数 ...");
($this->return_func)($this->store); ($this->return_func)($this->store);
} }
} }
if($this->status === self::STATUS_RULE_FAILED) $this->status = self::STATUS_NORMAL; if ($this->status === self::STATUS_RULE_FAILED) $this->status = self::STATUS_NORMAL;
} catch (InterruptException $e) { } catch (InterruptException $e) {
$this->store = $e->return_var; $this->store = $e->return_var;
$this->status = self::STATUS_INTERRUPTED; $this->status = self::STATUS_INTERRUPTED;
@@ -113,9 +113,9 @@ class EventDispatcher
* @param mixed $v * @param mixed $v
* @param null $rule_func * @param null $rule_func
* @param mixed ...$params * @param mixed ...$params
* @throws AnnotationException
* @throws InterruptException
* @return bool * @return bool
* @throws InterruptException
* @throws AnnotationException
*/ */
public function dispatchEvent($v, $rule_func = null, ...$params) { public function dispatchEvent($v, $rule_func = null, ...$params) {
$q_c = $v->class; $q_c = $v->class;

View File

@@ -94,7 +94,7 @@ class Framework
"version" => ZM_VERSION, "version" => ZM_VERSION,
"config" => $args["env"] === null ? 'global.php' : $args["env"] "config" => $args["env"] === null ? 'global.php' : $args["env"]
]; ];
if(APP_VERSION !== "unknown") $out["app_version"] = APP_VERSION; if (APP_VERSION !== "unknown") $out["app_version"] = APP_VERSION;
if (isset(ZMConfig::get("global", "swoole")["task_worker_num"])) { if (isset(ZMConfig::get("global", "swoole")["task_worker_num"])) {
$out["task_worker_num"] = ZMConfig::get("global", "swoole")["task_worker_num"]; $out["task_worker_num"] = ZMConfig::get("global", "swoole")["task_worker_num"];
} }

View File

@@ -160,7 +160,7 @@ class Response
* @return mixed * @return mixed
*/ */
public function end($content = null) { public function end($content = null) {
if(!$this->is_end) { if (!$this->is_end) {
$this->is_end = true; $this->is_end = true;
return $this->response->end($content); return $this->response->end($content);
} else { } else {

View File

@@ -16,7 +16,7 @@ class RouteManager
public static $routes = null; public static $routes = null;
public static function importRouteByAnnotation(RequestMapping $vss, $method, $class, $methods_annotations) { public static function importRouteByAnnotation(RequestMapping $vss, $method, $class, $methods_annotations) {
if(self::$routes === null) self::$routes = new RouteCollection(); if (self::$routes === null) self::$routes = new RouteCollection();
// 拿到所属方法的类上面有没有控制器的注解 // 拿到所属方法的类上面有没有控制器的注解
$prefix = ''; $prefix = '';
@@ -27,8 +27,8 @@ class RouteManager
} }
} }
$tail = trim($vss->route, "/"); $tail = trim($vss->route, "/");
$route_name = $prefix.($tail === "" ? "" : "/").$tail; $route_name = $prefix . ($tail === "" ? "" : "/") . $tail;
Console::debug("添加路由:".$route_name); Console::debug("添加路由:" . $route_name);
$route = new Route($route_name, ['_class' => $class, '_method' => $method]); $route = new Route($route_name, ['_class' => $class, '_method' => $method]);
$route->setMethods($vss->request_method); $route->setMethods($vss->request_method);

View File

@@ -13,14 +13,14 @@ class StaticFileHandler
public function __construct($filename, $path) { public function __construct($filename, $path) {
$full_path = realpath($path . "/" . $filename); $full_path = realpath($path . "/" . $filename);
$response = ctx()->getResponse(); $response = ctx()->getResponse();
Console::debug("Full path: ".$full_path); Console::debug("Full path: " . $full_path);
if ($full_path !== false) { if ($full_path !== false) {
if (strpos($full_path, $path) !== 0) { if (strpos($full_path, $path) !== 0) {
$response->status(403); $response->status(403);
$response->end("403 Forbidden"); $response->end("403 Forbidden");
return true; return true;
} else { } else {
if(is_file($full_path)) { if (is_file($full_path)) {
$exp = strtolower(pathinfo($full_path)['extension'] ?? "unknown"); $exp = strtolower(pathinfo($full_path)['extension'] ?? "unknown");
$response->setHeader("Content-Type", ZMConfig::get("file_header")[$exp] ?? "application/octet-stream"); $response->setHeader("Content-Type", ZMConfig::get("file_header")[$exp] ?? "application/octet-stream");
$response->end(file_get_contents($full_path)); $response->end(file_get_contents($full_path));

View File

@@ -184,7 +184,7 @@ class LightCache
$r[$k] = self::parseGet($v); $r[$k] = self::parseGet($v);
} }
} }
if(self::$config["persistence_path"] == "") return; if (self::$config["persistence_path"] == "") return;
if (file_exists(self::$config["persistence_path"])) { if (file_exists(self::$config["persistence_path"])) {
$r = file_put_contents(self::$config["persistence_path"], json_encode($r, 128 | 256)); $r = file_put_contents(self::$config["persistence_path"], json_encode($r, 128 | 256));
if ($r === false) Console::error("Not saved, please check your \"persistence_path\"!"); if ($r === false) Console::error("Not saved, please check your \"persistence_path\"!");

View File

@@ -15,18 +15,16 @@ class SpinLock
private static $delay = 1; private static $delay = 1;
public static function init($key_cnt, $delay = 1) public static function init($key_cnt, $delay = 1) {
{
self::$kv_lock = new Table($key_cnt, 0.7); self::$kv_lock = new Table($key_cnt, 0.7);
self::$delay = $delay; self::$delay = $delay;
self::$kv_lock->column('lock_num', Table::TYPE_INT, 8); self::$kv_lock->column('lock_num', Table::TYPE_INT, 8);
return self::$kv_lock->create(); return self::$kv_lock->create();
} }
public static function lock(string $key) public static function lock(string $key) {
{
while (($r = self::$kv_lock->incr($key, 'lock_num')) > 1) { //此资源已经被锁上了 while (($r = self::$kv_lock->incr($key, 'lock_num')) > 1) { //此资源已经被锁上了
if(Coroutine::getCid() != -1) System::sleep(self::$delay / 1000); if (Coroutine::getCid() != -1) System::sleep(self::$delay / 1000);
else usleep(self::$delay * 1000); else usleep(self::$delay * 1000);
} }
} }

View File

@@ -16,7 +16,7 @@ class ZMRedis
* @throws NotInitializedException * @throws NotInitializedException
*/ */
public static function call(callable $callable) { public static function call(callable $callable) {
if(ZMRedisPool::$pool === null) throw new NotInitializedException("Redis pool is not initialized."); if (ZMRedisPool::$pool === null) throw new NotInitializedException("Redis pool is not initialized.");
$r = ZMRedisPool::$pool->get(); $r = ZMRedisPool::$pool->get();
$result = $callable($r); $result = $callable($r);
if (isset($r->wasted)) ZMRedisPool::$pool->put(null); if (isset($r->wasted)) ZMRedisPool::$pool->put(null);
@@ -29,7 +29,7 @@ class ZMRedis
* @throws NotInitializedException * @throws NotInitializedException
*/ */
public function __construct() { public function __construct() {
if(ZMRedisPool::$pool === null) throw new NotInitializedException("Redis pool is not initialized."); if (ZMRedisPool::$pool === null) throw new NotInitializedException("Redis pool is not initialized.");
$this->conn = ZMRedisPool::$pool->get(); $this->conn = ZMRedisPool::$pool->get();
} }

View File

@@ -24,13 +24,13 @@ class ZMRedisPool
); );
try { try {
$r = self::$pool->get()->ping('123'); $r = self::$pool->get()->ping('123');
if(strpos(strtolower($r), "123") !== false) { if (strpos(strtolower($r), "123") !== false) {
Console::debug("成功连接redis连接池"); Console::debug("成功连接redis连接池");
} else { } else {
var_dump($r); var_dump($r);
} }
} catch (RedisException $e) { } catch (RedisException $e) {
Console::error("Redis init failed! ".$e->getMessage()); Console::error("Redis init failed! " . $e->getMessage());
self::$pool = null; self::$pool = null;
} }
} }

View File

@@ -41,7 +41,7 @@ class WorkerCache
private static function processRemote($action, $async, $config) { private static function processRemote($action, $async, $config) {
$ss = server()->sendMessage(json_encode($action, JSON_UNESCAPED_UNICODE), $config["worker"]); $ss = server()->sendMessage(json_encode($action, JSON_UNESCAPED_UNICODE), $config["worker"]);
if(!$ss) return false; if (!$ss) return false;
if ($async) return true; if ($async) return true;
zm_yield(); zm_yield();
$p = self::$transfer[zm_cid()] ?? null; $p = self::$transfer[zm_cid()] ?? null;
@@ -63,7 +63,7 @@ class WorkerCache
public static function add($key, int $value, $async = false) { public static function add($key, int $value, $async = false) {
$config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0]; $config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0];
if ($config["worker"] === server()->worker_id) { if ($config["worker"] === server()->worker_id) {
if(!isset(self::$store[$key])) self::$store[$key] = 0; if (!isset(self::$store[$key])) self::$store[$key] = 0;
self::$store[$key] += $value; self::$store[$key] += $value;
return true; return true;
} else { } else {
@@ -75,7 +75,7 @@ class WorkerCache
public static function sub($key, int $value, $async = false) { public static function sub($key, int $value, $async = false) {
$config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0]; $config = self::$config ?? ZMConfig::get("global", "worker_cache") ?? ["worker" => 0];
if ($config["worker"] === server()->worker_id) { if ($config["worker"] === server()->worker_id) {
if(!isset(self::$store[$key])) self::$store[$key] = 0; if (!isset(self::$store[$key])) self::$store[$key] = 0;
self::$store[$key] -= $value; self::$store[$key] -= $value;
return true; return true;
} else { } else {

View File

@@ -55,7 +55,7 @@ class CoMessage
SpinLock::lock("wait_api"); SpinLock::lock("wait_api");
$all = LightCacheInside::get("wait_api", "wait_api") ?? []; $all = LightCacheInside::get("wait_api", "wait_api") ?? [];
foreach ($all as $k => $v) { foreach ($all as $k => $v) {
if(!isset($v["compare"])) continue; if (!isset($v["compare"])) continue;
foreach ($v["compare"] as $vs) { foreach ($v["compare"] as $vs) {
if (!isset($v[$vs], $dat[$vs])) continue 2; if (!isset($v[$vs], $dat[$vs])) continue 2;
if ($v[$vs] != $dat[$vs]) { if ($v[$vs] != $dat[$vs]) {
@@ -64,7 +64,7 @@ class CoMessage
} }
$last = $k; $last = $k;
} }
if($last !== null) { if ($last !== null) {
$all[$last]["result"] = $dat; $all[$last]["result"] = $dat;
LightCacheInside::set("wait_api", "wait_api", $all); LightCacheInside::set("wait_api", "wait_api", $all);
SpinLock::unlock("wait_api"); SpinLock::unlock("wait_api");

View File

@@ -15,7 +15,7 @@ class DataProvider
} }
public static function getWorkingDir() { public static function getWorkingDir() {
if(LOAD_MODE == 0) return WORKING_DIR; if (LOAD_MODE == 0) return WORKING_DIR;
elseif (LOAD_MODE == 1) return LOAD_MODE_COMPOSER_PATH; elseif (LOAD_MODE == 1) return LOAD_MODE_COMPOSER_PATH;
elseif (LOAD_MODE == 2) return realpath('.'); elseif (LOAD_MODE == 2) return realpath('.');
return null; return null;

View File

@@ -89,10 +89,10 @@ function getAllClasses($dir, $indoor_name) {
//echo "At " . $indoor_name . PHP_EOL; //echo "At " . $indoor_name . PHP_EOL;
if (is_dir($dir . $v)) $classes = array_merge($classes, getAllClasses($dir . $v . "/", $indoor_name . "\\" . $v)); if (is_dir($dir . $v)) $classes = array_merge($classes, getAllClasses($dir . $v . "/", $indoor_name . "\\" . $v));
elseif (mb_substr($v, -4) == ".php") { elseif (mb_substr($v, -4) == ".php") {
if(substr(file_get_contents($dir.$v), 6, 6) == "#plain") continue; if (substr(file_get_contents($dir . $v), 6, 6) == "#plain") continue;
$composer = json_decode(file_get_contents(DataProvider::getWorkingDir()."/composer.json"), true); $composer = json_decode(file_get_contents(DataProvider::getWorkingDir() . "/composer.json"), true);
foreach($composer["autoload"]["files"] as $fi) { foreach ($composer["autoload"]["files"] as $fi) {
if(realpath(DataProvider::getWorkingDir()."/".$fi) == realpath($dir.$v)) { if (realpath(DataProvider::getWorkingDir() . "/" . $fi) == realpath($dir . $v)) {
continue 2; continue 2;
} }
} }