add cs fixer and PHPStan and activate it (build 436)

This commit is contained in:
crazywhalecc
2022-03-15 18:05:33 +08:00
parent d01bd69aa5
commit 1706afbcd0
163 changed files with 4572 additions and 3588 deletions

View File

@@ -1,9 +1,10 @@
<?php
declare(strict_types=1);
namespace ZM\Event;
use Closure;
use Error;
use Exception;
use Swoole\Timer;
@@ -19,15 +20,19 @@ use ZM\Store\ZMAtomic;
class EventManager
{
public static $events = [];
public static $middleware_map = [];
public static $middlewares = [];
public static $req_mapping = [];
public static function addEvent($event_name, ?AnnotationBase $event_obj) {
if ($event_obj->method instanceof \Closure) {
Console::debug("Adding event $event_name at @Anonymous");
public static function addEvent($event_name, ?AnnotationBase $event_obj)
{
if ($event_obj->method instanceof Closure) {
Console::debug("Adding event {$event_name} at @Anonymous");
} else {
Console::debug("Adding event $event_name at " . ($event_obj->class) . ":" . ($event_obj->method));
Console::debug("Adding event {$event_name} at " . ($event_obj->class) . ':' . ($event_obj->method));
}
self::$events[$event_name][] = $event_obj;
(new AnnotationParser())->sortByLevel(self::$events, $event_name);
@@ -36,7 +41,8 @@ class EventManager
/**
* @throws AnnotationException
*/
public static function loadEventByParser(AnnotationParser $parser) {
public static function loadEventByParser(AnnotationParser $parser)
{
self::$events = $parser->generateAnnotationEvents();
self::$middlewares = $parser->getMiddlewares();
self::$middleware_map = $parser->getMiddlewareMap();
@@ -48,33 +54,36 @@ class EventManager
* 注册所有计时器给每个进程
* @throws Exception
*/
public static function registerTimerTick() {
public static function registerTimerTick()
{
$dispatcher = new EventDispatcher(OnTick::class);
foreach (self::$events[OnTick::class] ?? [] as $vss) {
if (server()->worker_id !== $vss->worker_id && $vss->worker_id != -1) return;
if (server()->worker_id !== $vss->worker_id && $vss->worker_id != -1) {
return;
}
//echo server()->worker_id.PHP_EOL;
$plain_class = $vss->class;
Console::debug("Added Middleware-based timer: " . $plain_class . " -> " . $vss->method);
Console::debug('Added Middleware-based timer: ' . $plain_class . ' -> ' . $vss->method);
Timer::tick($vss->tick_ms, function () use ($vss, $dispatcher) {
set_coroutine_params([]);
if (ZMAtomic::get("stop_signal")->get() != 0) {
if (ZMAtomic::get('stop_signal')->get() != 0) {
Timer::clearAll();
return;
}
try {
$dispatcher->dispatchEvent($vss, null);
} catch (Exception $e) {
Console::error(zm_internal_errcode("E00034") . "Uncaught error from TimerTick: " . $e->getMessage() . " at " . $e->getFile() . "({$e->getLine()})");
Console::error(zm_internal_errcode('E00034') . 'Uncaught error from TimerTick: ' . $e->getMessage() . ' at ' . $e->getFile() . "({$e->getLine()})");
} catch (Error $e) {
Console::error(zm_internal_errcode("E00034") . "Uncaught fatal error from TimerTick: " . $e->getMessage());
echo Console::setColor($e->getTraceAsString(), "gray");
Console::error("Please check your code!");
Console::error(zm_internal_errcode('E00034') . 'Uncaught fatal error from TimerTick: ' . $e->getMessage());
echo Console::setColor($e->getTraceAsString(), 'gray');
Console::error('Please check your code!');
}
});
}
$conf = ZMConfig::get("global", "worker_cache") ?? ["worker" => 0];
if (server()->worker_id == $conf["worker"]) {
zm_timer_tick(ZMConfig::get("global", "light_cache")["auto_save_interval"] * 1000, function () {
$conf = ZMConfig::get('global', 'worker_cache') ?? ['worker' => 0];
if (server()->worker_id == $conf['worker']) {
zm_timer_tick(ZMConfig::get('global', 'light_cache')['auto_save_interval'] * 1000, function () {
LightCache::savePersistence();
});
}