Публічне бета-тестування Laravel Wayfinder

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 05 квітня, 2025
Відкрийте для себе Laravel Wayfinder – новий пакет, який спрощує роботу з маршрутами між вашими фронтенд- та бекенд-частинами. Як автоматично отримувати типізовані функції TypeScript для контролерів і маршрутів? Читайте статтю, щоб дізнатися більше про цю інноваційну можливість

Команда Laravel випустила першу бета-версію пакету Laravel Wayfinder, нового рішення, яке з'єднує ваші маршрути між фронтендом і бекендом:

Laravel Wayfinder забезпечує безперешкодне з'єднання між вашим бекендом на Laravel і фронтендом на TypeScript. Він автоматично генерує повністю типізовані, імпортовані функції TypeScript для ваших контролерів і маршрутів, що дозволяє безпосередньо викликати ваші Laravel ендпоінти у клієнтському коді, як будь-яку іншу функцію. Тепер не потрібно жорстко кодувати URL, вгадувати параметри маршрутів чи ручно синхронізувати зміни бекенду.

Wayfinder генерує визначення TypeScript для ваших маршрутів і методів контролерів за допомогою команди Artisan: php artisan wayfinder:generate. Ви також можете налаштувати Vite для автоматичного виконання команди wayfinder:generate при зміні файлів маршрутів і контролерів, щоб фронтенд завжди залишався актуальним.

Після генерації визначень TypeScript ви можете використовувати їх для отримання URL і HTTP-методу:

import { show } from "@actions/App/Http/Controllers/PostController";
 
show(1); // { url: "/posts/1", method: "get" }
 
// Викликаємі контролери
import StorePostController from "@actions/App/Http/Controllers/StorePostController";
 
StorePostController();
 
// Методи контролерів
import PostController from "@actions/App/Http/Controllers/PostController";
 
PostController.show(1);
 
// Іменовані маршрути
import { show } from "@routes/post";
 
// Іменований маршрут - `post.show`...
show(1); // { url: "/posts/1", method: "get" }

Ще одна вражаюча особливість — безшовна інтеграція Wayfinder з Inertia та useForm. Просто передайте об'єкт у метод submit() форми, і він автоматично визначить URL і метод запиту:

import { useForm } from "@inertiajs/react";
import { store } from "@actions/App/Http/Controllers/PostController";
 
const form = useForm({
    name: "Мій великий пост",
});
 
form.submit(store()); // Відправить POST на `/posts`...

# Головні особливості

# Додаткова інформація

На момент написання Wayfinder знаходиться на початковому етапі публічної бета-версії. Можливі зміни API перед стабільним релізом v1.0, які можна відстежувати в журналі змін проекту. Додаткову інформацію про цей пакет, повні інструкції з встановлення та вихідний код можна знайти на GitHub за адресою laravel/wayfinder.