olegv/brick
Composer 安装命令:
composer require olegv/brick
包简介
Инструмент для создания строго типизированных UI-компонентов на PHP
README 文档
README
Внимание! Эта библиотека является экспериментальной и предназначена для исследовательских целей.
Brick — инструмент для создания строго типизированных UI-компонентов на PHP. Каждый компонент — это иммутабельный readonly PHP-класс, который автоматически связывается со своим HTML-шаблоном, CSS-стилями и JavaScript-кодом.
Ключевые особенности
- Иммутабельные компоненты (
Brick):readonlyклассы, которые не меняются после создания. - Автоматическое обнаружение файлов: Brick сам находит
template.php,style.css,script.jsв папке компонента. - Централизованное управление (
BrickManager): Кэширование метаданных компонентов, рендеринг CSS/JS. - Модульность через трейты: Добавляйте кэширование (
WithCache), хелперы (WithHelpers) и другие возможности. - Безопасность по умолчанию: Автоматическое экранирование HTML, защита от XSS.
Рекомендации по использованию
- Делайте композицию компонентов только через
echoили приведение к строке - Оставьте конструктор пустым
- Подготовку данных выполняйте в
prepare()- он автоматически срабатывает перед подключением шаблона - Используйте простые типы данных —
string,int,float,bool,arrayиnull
Быстрый старт
Установка
composer require olegv/brick
Минимальный пример
<?php // HelloWorld/HelloWorld.php declare(strict_types=1); namespace PSR4Path\HelloWorld; readonly class HelloWorld extends \OlegV\Brick { public function __construct(public string $name) { } }
<?php //HelloWorld/template.php declare(strict_types=1); use PSR4Path\HelloWorld\HelloWorld; /** @var HelloWorld $this */ ?> <!-- HelloWorld/template.php --> <h1>Hello, <?= $this->e($this->name) ?>!</h1>
<?php // Использование require_once 'vendor/autoload.php'; echo new HelloWorld('World'); echo \OlegV\BrickManager::getInstance()->renderAssets();
统计信息
- 总下载量: 4
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-08