добавляю все изменения проекта на текущий момент

This commit is contained in:
vasya
2026-02-27 18:49:27 +03:00
parent e927910fda
commit 9c35f4e35e
303 changed files with 79434 additions and 2558 deletions
+78
View File
@@ -0,0 +1,78 @@
<?php
namespace App\Services;
/**
* Базовый класс для работы с Redis в контексте модульной структуры платформы
*/
abstract class RedisBaseService
{
/**
* @var string базовое подключение к Redis. Руками не прописывается, устанавливается в конструкторе дочернего сервиса через недоступный из фасада метод protected connection(). Сделано это, чтобы разработчик не указывал вручную подключение каждый раз b при этом любой дочерний сервис был обязан прописывать подключение
*/
protected string $connection;
/**
* @var int базовый ttl для данных с ограниченным сроком жизни
*/
public int $ttl = 600;
/**
* @var string имя модуля/приложения откуда отправляются данные. Передается в инициилизирующем методе module(). Значение '' означает, что данные отправляются из корня проекта, не из модуля
*/
public string $moduleName;
/**
* Метод установки подключения к Redis. В какую БД кладем данные
*
* @param string $connection имя подключения
* @return void
*/
abstract protected function connection(string $connection): void;
/**
* Инициилизирующий метод фасада, принимающий аргумент в виде названия модуля, откуда планируется отправить данные.
*
* @param string $moduleName имя модуля, откуда передаются данные. Аргумент можно не передавать, если данные передаются из корня ларавель
* @return self
*/
public function module(string $moduleName = ''): self
{
$this->moduleName = $moduleName;
return $this;
}
/**
* Меняем ttl данных
*
* @param int $ttl время жизни записи с данными
* @return self
*/
public function ttl(int $ttl): self
{
$this->ttl = $ttl;
return $this;
}
/**
* Возвращает часть префикса ключа redis для хранения информации, отправленной из модуля
*
* @return string
*/
protected function getModuleRedisPrefix(): string
{
return "_" . $this->moduleName . ":";
}
/**
* Реализация размещения данных в Redis
*
* @return void
*/
abstract public function put(): void;
}