改名
This commit is contained in:
@@ -0,0 +1,98 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Kiri\Core;
|
||||||
|
|
||||||
|
use JetBrains\PhpStorm\Pure;
|
||||||
|
|
||||||
|
class HashMap implements \ArrayAccess
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private array $lists = [];
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $key
|
||||||
|
* @param $value
|
||||||
|
*/
|
||||||
|
public function put(string $key, $value)
|
||||||
|
{
|
||||||
|
$this->lists[$key] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $key
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
#[Pure] public function get(string $key): mixed
|
||||||
|
{
|
||||||
|
if (!$this->has($key)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return $this->lists[$key];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $key
|
||||||
|
*/
|
||||||
|
public function del(string $key)
|
||||||
|
{
|
||||||
|
if (!$this->has($key)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
unset($this->lists[$key]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $key
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function has(string $key): bool
|
||||||
|
{
|
||||||
|
return array_key_exists($key, $this->lists);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mixed $offset
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function offsetExists($offset): bool
|
||||||
|
{
|
||||||
|
return isset($this->lists[$offset]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mixed $offset
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
#[Pure] public function offsetGet($offset): mixed
|
||||||
|
{
|
||||||
|
return $this->get($offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mixed $offset
|
||||||
|
* @param mixed $value
|
||||||
|
*/
|
||||||
|
public function offsetSet($offset, $value)
|
||||||
|
{
|
||||||
|
$this->put($offset, $value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param mixed $offset
|
||||||
|
*/
|
||||||
|
public function offsetUnset($offset)
|
||||||
|
{
|
||||||
|
unset($this->lists[$offset]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,19 +6,20 @@ namespace Annotation;
|
|||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use Kiri\Kiri;
|
use Kiri\Kiri;
|
||||||
|
use Server\Tasker\AsyncTaskExecute;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Asynchronous
|
* Class Task
|
||||||
* @package Annotation
|
* @package Annotation
|
||||||
* Task任务
|
* Task任务
|
||||||
*/
|
*/
|
||||||
#[\Attribute(\Attribute::TARGET_CLASS)] class Asynchronous extends Attribute
|
#[\Attribute(\Attribute::TARGET_CLASS)] class Task extends Attribute
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Asynchronous constructor.
|
* Task constructor.
|
||||||
* @param string $name
|
* @param string $name
|
||||||
*/
|
*/
|
||||||
public function __construct(public string $name)
|
public function __construct(public string $name)
|
||||||
@@ -35,8 +36,8 @@ use Kiri\Kiri;
|
|||||||
*/
|
*/
|
||||||
public function execute(mixed $class, mixed $method = null): bool
|
public function execute(mixed $class, mixed $method = null): bool
|
||||||
{
|
{
|
||||||
$async = Kiri::app()->getAsync();
|
$task = Kiri::getDi()->get(AsyncTaskExecute::class);
|
||||||
$async->addAsync($this->name, $class);
|
$task->reg($this->name, $class);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user