Випущено Fusion Developer Preview: пишіть PHP у своїх компонентах Vue та React

Перекладено ШІ
Оригінал: Laravel News
Оновлено: 15 лютого, 2025
Fusion — це простий спосіб інтегрувати сучасний JavaScript-фронтенд із потужним Laravel-бекендом. Ця стаття розкриває, як Fusion спрощує ваш робочий процес, дозволяючи без зусиль передавати дані та викликати методи між фронтендом і бекендом. Чи готові ви дізнатися більше про цю революційну технологію?

Aaron Francis та Try Hard Studios офіційно представили Fusion, і ви можете знайти його на GitHub!

Fusion — це найпростіший спосіб об’єднати ваш сучасний JavaScript фронтенд з Laravel бекендом. Ви можете передавати дані з бекенду на фронтенд, оголошувати методи на бекенді, які можна викликати без API-кілець з фронтенду. Fusion спрощує роботу з JavaScript у Laravel, надаючи при цьому повний контроль та можливості потужного бекенду.

Кілька днів тому Aaron записав подкаст про Fusion, його ідею та багато іншого. Слухайте:

# Вступ до Fusion

Aaron також випустив відео, в якому розкриває основи Fusion та деякі його можливості:

Основні моменти:

Зверніть увагу: Fusion знаходиться на дуже ранній стадії розробки. Не використовуйте його в продакшені, оскільки можуть бути помилки.

# Концепції Fusion

У документації зазначається, що важливо розуміти, чого Fusion не робить:

Що Fusion робить:

Ви можете уявити блок <php> у вашому файлі як контролер, з деяким авто-налаштуванням для впровадження стану і виклику методів.

# Основний приклад Fusion

<php>
  // Визначте властивість у PHP
  $name = prop(Auth::user()->name);
</php>
 
<template>
  <!-- Використовуйте це у Vue! -->
  Привіт {{ name }}!
</template>

Це відкриває змінну $name у вашому шаблоні Vue як name. Вона буде передана на фронтенд під час першого завантаження. Вам не потрібно визначати жодних властивостей на стороні Vue — ми подбаємо про це.

Ви також можете використовувати класичний стиль:

<php>
new class {
  public string $name;
 
  public function mount()
  {
     $this->name = Auth::user()->name;
  }
}
</php>
 
<template>
  Привіт {{ name }}!
</template>

Для повних деталей перегляньте проект на GitHub.

# Backstage Pass

Ще одна нова функція — це Backstage pass, який надає доступ до приватної групи Slack.