| 1234567891011121314151617181920212223242526272829303132333435363738 | <?phpdeclare(strict_types=1);namespace Yansongda\Pay;use Yansongda\Pay\Contract\EventDispatcherInterface;use Yansongda\Pay\Exception\ContainerException;use Yansongda\Pay\Exception\InvalidConfigException;use Yansongda\Pay\Exception\ServiceNotFoundException;/** * @method static Event\Event dispatch(object $event) */class Event{    /**     * @throws ContainerException     * @throws ServiceNotFoundException     * @throws InvalidConfigException     */    public static function __callStatic(string $method, array $args): void    {        if (!Pay::hasContainer() || !Pay::has(EventDispatcherInterface::class)) {            return;        }        $class = Pay::get(EventDispatcherInterface::class);        if ($class instanceof \Psr\EventDispatcher\EventDispatcherInterface) {            $class->{$method}(...$args);            return;        }        throw new InvalidConfigException(Exception\Exception::EVENT_CONFIG_ERROR);    }}
 |