Files
kiri-container/Inject/ServiceParams.php
T
2023-04-16 12:49:55 +08:00

38 lines
609 B
PHP

<?php
declare(strict_types=1);
namespace Kiri\Di\Inject;
use Exception;
use Kiri\Di\Interface\InjectParameterInterface;
use Kiri\Di\LocalService;
use Kiri\Di\Container;
#[\Attribute(\Attribute::TARGET_PARAMETER)]
class ServiceParams implements InjectParameterInterface
{
/**
* @param mixed $value
*/
public function __construct(readonly public mixed $value)
{
}
/**s
* @return mixed|null
* @throws Exception
*/
public function dispatch(string $class, string $method): mixed
{
$service = Container::instance()->get(LocalService::class);
return $service->get($this->value);
}
}