Сучасним командам Laravel необхідні швидкість, узгодженість та практичний підхід. LaraUtilX — це підібраний набір утиліт, який спрощує щоденні патерни: CRUD, API-відповіді, валідацію, фільтрацію, пагінацію, кешування, конфігурацію, проксі-середовища та інтеграції з AI-чатами. Це дозволяє вам швидше реалізовувати функції з меншими ризиками і чистішим кодом.
- Репозиторій: github.com/omarchouman/lara-util-x
- Документація: larautilx.omarchouman.com
# Чим відрізняється LaraUtilX
- Сфокусованість на реальних випадках: Утиліти, які ви дійсно використовуватимете в продакшені — без зайвих надлишків.
- Компонентний, опціональний дизайн: Трейти та допоміжні функції, що органічно вписуються у вашу існуючу архітектуру.
- Узгодженість, якій можна довіряти: Передбачувані відповіді, однорідна пагінація та повторно використовувана валідація.
# Що всередині
-
CrudController
Розширюваний контролер, який перетворює стандартні CRUD кінцеві точки в декілька рядків коду — ідеально підходить для адміністративних інтерфейсів та API. -
ApiResponseTrait
Стандартизує JSON-відповіді у вашій програмі (успіх, помилка, пагиновані). Ваш фронтенд буде вдячний. -
FileProcessingTrait
Завантаження, видалення та читання вмісту файлів для одного або кількох файлів — без зайвої шаблонізації. -
ValidationHelperTrait
Повторно використовувані валідатори для електронних адрес, номерів телефонів та надійних паролів, готових для ваших форм. -
SchedulerMonitor
Отримайте видимість запланованих завдань, які наближаються або прострочені, щоб проблеми з cron не стали інцидентами у продакшені. -
FilteringUtil
Декларативна фільтрація з правилами поле/оператор/значення. Зберігайте логіку запитів чистою, виразною та такою, що тестується. -
AccessLogMiddleware
Фіксує вхідні запити для слідкування, аудиту та аналітики продуктивності. -
PaginationUtil
Узгоджена пагінація для Eloquent та колекцій — чисті дані на вході, чисті дані на виході, менше коду для зв’язки. -
CachingUtil
Кешування з урахуванням тегів та термінами дії для зменшення зайвих запитів та підвищення продуктивності. -
ConfigUtil
Безпечне зчитування, об’єднання та маніпуляція вкладеною конфігурацією — ідеально підходить для динамічних налаштувань та функціональних флагів. -
OpenAIProvider
Стандартизований інтерфейс з можливістю повторних спроб для GPT-чатів із структурованими відповідями.
# Встановлення
composer require omarchouman/lara-util-x
# Швидкі приклади
- Узгоджені API-відповіді
use App\Models\Post;
use Omarchouman\LaraUtilX\Traits\ApiResponseTrait;
class PostController
{
use ApiResponseTrait;
public function index()
{
$posts = Post::latest()->paginate(10);
return $this->success($posts, 'Пости успішно отримані.');
}
public function store(Request $request)
{
$data = $request->validate(['title' => 'required', 'body' => 'required']);
$post = Post::create($data);
return $this->created($post, 'Пост успішно створено.');
}
}
- Декларативна фільтрація
use App\Models\Post;
use Omarchouman\LaraUtilX\Utilities\FilteringUtil;
$filters = [
['field' => 'status', 'operator' => '=', 'value' => 'published'],
['field' => 'created_at', 'operator' => '>=', 'value' => now()->subMonth()],
];
$results = FilteringUtil::filter(Post::query(), $filters)->paginate(15);
- Основи кешування
use Omarchouman\LaraUtilX\Utilities\CachingUtil;
$posts = CachingUtil::remember(
key: 'posts.latest',
seconds: 600,
callback: fn () => Post::latest()->take(20)->get(),
tags: ['posts']
);
- Обробка файлів без зайвих клопотів
use Omarchouman\LaraUtilX\Traits\FileProcessingTrait;
class ProfileController
{
use FileProcessingTrait;
public function uploadAvatar(Request $request)
{
$path = $this->uploadFile($request, 'avatar', 'public/avatars');
return response()->json(['path' => $path]);
}
}
# Де LaraUtilX проявляє себе найкраще
- Адміністративні та бекофісні додатки з великою кількістю CRUD та пагінації
- Публічні API, що потребують узгодженого контракту на відповіді
- Високонавантажені додатки, які виграють від кешування і фіксації запитів
- Системи з великою кількістю завдань, які потребують видимості розкладу
- AI-рішення, які покладаються на надійні інтеграції з GPT
# Принципи дизайну
- Практичні налаштування: Уникайте обрядів. Зосередьтесь на наданні цінності.
- Компонентні утиліти: Вибирайте те, що вам потрібно; без жорсткої залежності.
- Узгодженість для команди: Патерни, що масштабуються серед людей і сервісів.
# Дізнайтеся більше
- Документація та посібники: larautilx.omarchouman.com
- Код та проблеми: github.com/omarchouman/lara-util-x
LaraUtilX допомагає вам рухатися швидше і з упевненістю — чистіший код, повторювані патерни та готові до продакшену утиліти, до яких ви повертатиметесь знову і знову.