承接 olegv/brick 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

olegv/brick

Composer 安装命令:

composer require olegv/brick

包简介

Инструмент для создания строго типизированных UI-компонентов на PHP

README 文档

README

PHP PHPUnit PHPStan PSR-12

Tests Analise

License Immutable Components Server-side No Dependencies

Внимание! Эта библиотека является экспериментальной и предназначена для исследовательских целей.

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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-08