Aaron Francis та Try Hard Studios офіційно представили Fusion, і ви можете знайти його на GitHub!
Fusion — це найпростіший спосіб об’єднати ваш сучасний JavaScript фронтенд з Laravel бекендом. Ви можете передавати дані з бекенду на фронтенд, оголошувати методи на бекенді, які можна викликати без API-кілець з фронтенду. Fusion спрощує роботу з JavaScript у Laravel, надаючи при цьому повний контроль та можливості потужного бекенду.
Кілька днів тому Aaron записав подкаст про Fusion, його ідею та багато іншого. Слухайте:
Aaron також випустив відео, в якому розкриває основи Fusion та деякі його можливості:
Основні моменти:
Зверніть увагу: Fusion знаходиться на дуже ранній стадії розробки. Не використовуйте його в продакшені, оскільки можуть бути помилки.
У документації зазначається, що важливо розуміти, чого Fusion не робить:
Що Fusion робить:
Ви можете уявити блок <php>
у вашому файлі як контролер, з деяким авто-налаштуванням для впровадження стану і виклику методів.
<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, який надає доступ до приватної групи Slack.