@zebrains/velund-php
v1.0.1
Published
PHP-генератор для системы UI-компонентов Velund
Readme
@zebrains/velund-php
PHP-генератор для системы UI-компонентов Velund.
Этот пакет предоставляет возможность использовать Velund-компоненты в PHP-бэкенд-проектах. Он преобразует определения фронтенд-компонентов в готовый PHP-код и предоставляет удобный API для их рендеринга через выбранный шаблонизатор.
🚀 Ключевые особенности
- Генерация PHP-библиотеки: формирует PHP-модули, которые можно напрямую подключать в бэкенд-приложение.
- Гибкая поддержка рендереров: работает с
HTML,TwigиJinja. - Интеграция с Velund: полностью совместим с ядром Velund и другими генераторами.
- Серверная логика: поддержка
prepare-методов для асинхронной подготовки данных перед рендерингом.
📦 Установка
pnpm add @zebrains/velund-phpТакже установите необходимые рендереры (например, Twig):
pnpm add @zebrains/velund-twig🛠️ Использование в проекте Velund
Чтобы подключить @zebrains/velund-php в проекте, зарегистрируйте его в конфигурации плагина velund в vite.config.ts:
// vite.config.ts
import { defineConfig } from 'vite';
import velund from 'velund';
import phpGenerator from '@zebrains/velund-php'; // Импорт PHP-генератора
import twigRenderer from '@zebrains/velund-twig'; // Пример: Twig-рендерер
export default defineConfig({
plugins: [
velund({
generator: 'php', // Указываем PHP как основной генератор
renderer: 'twig', // Указываем Twig как основной рендерер
renderers: [
twigRenderer(), // Регистрируем используемые рендереры
],
generators: [
phpGenerator(), // Добавляем PHP-генератор
],
}),
],
});📂 Результат генерации
После сборки фронтенд-проекта (pnpm run build), PHP-генератор создаст:
- PHP-классы для компонентов Velund;
- вспомогательные классы для рендеринга;
- поддержку выбранного шаблонизатора (например, Twig или Jinja).
Сгенерированную библиотеку можно подключать напрямую в ваш PHP-бэкенд-код.
💻 Пример использования в PHP-приложении
<?php
require __DIR__ . '/../vendor/autoload.php';
use Velund\Renderer;
use Velund\Component\HomePageComponent;
// создаём рендерер
$renderer = new Renderer();
// регистрируем prepare-метод для компонента
HomePageComponent::registerPrepare(function (): array {
$response = file_get_contents('https://fakestoreapi.com/products');
$products = json_decode($response, true);
return [
'products' => $products
];
});
// рендерим компонент
$html = $renderer->render('HomePage');
echo $html;🔗 См. также
- Velund — Плагин Velund
- @zebrains/velund-twig — Python-генератор
- @zebrains/velund-twig — Twig-рендерер
- @zebrains/velund-jinja — Jinja-рендерер
