PHPackages                             proklung/bitrix-blade-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. proklung/bitrix-blade-bundle

ActiveSymfony-bundle

proklung/bitrix-blade-bundle
============================

Бандл для Symfony, обеспечивающий поддержку шаблонизатора Blade

1.2.2(4y ago)126MITPHPPHP &gt;=7.3 || ^8.0

Since Apr 27Pushed 4y ago1 watchersCompare

[ Source](https://github.com/ProklUng/symfony.blade.bundle)[ Packagist](https://packagist.org/packages/proklung/bitrix-blade-bundle)[ RSS](/packages/proklung-bitrix-blade-bundle/feed)WikiDiscussions master Synced yesterday

READMEChangelog (9)Dependencies (8)Versions (10)Used By (0)

Бандл для Symfony, обеспечивающий поддержку шаблонизатора Blade в связке Битрикс + Symfony (или Wordpress + Symfony).
=====================================================================================================================

[](#бандл-для-symfony-обеспечивающий-поддержку-шаблонизатора-blade-в-связке-битрикс--symfony-или-wordpress--symfony)

На базе [https://github.com/arrilot/bitrix-blade](%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0)

Установка
---------

[](#установка)

`composer require proklung/bitrix-blade-bundle`

Использование
-------------

[](#использование)

Заменяем шаблон компонента с template.php на template.blade и можно писать на Blade

Директива @include('path.to.view') модифицирована следующим образом:

Сначала view ищется относительно директории текущего шаблона компонента (там где лежит template.blade).

Если не view там не нашёлся, то он ищется относительно базовой директории (по умолчанию local/views, но может быть указана другая при вызове BladeProvider::register()).

#### Дополнительно

[](#дополнительно)

В контейнере появляются два сервиса рендеринга из шаблонов Blade:

- `symfony_blade.blade` - рендерер для Битрикса.
- `symfony_blade.blade_instance` - фреймворконезависимый рендерер (работает, например, в Wordpress).

##### Методы:

[](#методы)

Вернет ларавеловский View для указанного шаблона. Внутри него магический метод `__toString`, вызывающий рендерер.

```
    /**
     * Получить View шаблона.
     *
     * @param string $file      Blade шаблон.
     * @param array  $data      Данные.
     * @param array  $mergeData Данные.
     *
     * @return View
     */
    public function file(string $file, array $data = [], array $mergeData = []) : View;
```

Можно динамически задать пути, где шаблонизатор будет искать шаблоны.

```
    /**
     * Добавить базовый путь.
     *
     * @param string $path Базовый путь.
     *
     * @return void
     */
    public function addBasePath(string $path): void;
```

Пользовательские директивы (custom directives)
----------------------------------------------

[](#пользовательские-директивы-custom-directives)

При установке пакета за вас уже автоматически зарегистрировано некоторое количество полезных директив:

`@bxComponent` - аналог $APPLICATION-&gt;IncludeComponent() `@block('key')` и `@endblock` - всё что заключено между ними будет выведено в месте, где вызван метод $APPLICATION-&gt;ShowViewContent('key') `@lang('key')` - равносильно {!! Bitrix\\Main\\Localization\\Loc::getMessage('key') !!} `@auth` и `@endauth` - сокращенная запись IsAuthorized()) ?&gt; ... `@guest` и `@endguest` - аналогично, но проверка на неавторизованного юзера. `@admin` и `@endadmin` - аналогично, но $USER-&gt;IsAdmin() `@csrf` - сокращенная форма для

Фильтры:

`lcfirst` - первый символ в нижний регистр `ucfirst` - первый символ в верхний регистр `date` - строку в дату, согласно заданному формату `trim` - trim строки

Директивы:

`istrue` / `endistrue``isfalse` / `endisfalse``isnull` / `endisnull``isnotnull` / `endisnotnull`

Дампы

`dump``dd`

### Добавление своих фильтров и директив Blade

[](#добавление-своих-фильтров-и-директив-blade)

Чтобы подцепить кастомный фильтр - нужно пометить сервис тэгом `blade.custom.filter`. Директиву - тэгом `blade.custom.directive` (класс должен реализовывать интерфейс `BladeDirectiveInterface`).

Конфигурация
------------

[](#конфигурация)

При необходимости пути можно поменять в конфигурации бандла в `local/configs/packages/symfony_blade.yaml`:

```
symfony_blade:
  baseViewPath: '%kernel.project_dir%/local/views'
  cachePath: '%kernel.project_dir%/bitrix/cache/blade'
  readonly: false
```

#### Очистка кэша

[](#очистка-кэша)

Для обеспечения высокой скорости работы Blade кэширует скомпилированные шаблоны в php файлы. В большинстве случаев чистить этот кэш самостоятельно потребности нет, потому что блейд сверяет время модификации файлов шаблонов и кэша и самостоятеьно инвалидирует этот кэш. Однако в некоторых случаях (например при добавлении новой пользовательской директивы), этот кэш всё-же надо сбросить. Делается это методом BladeProvider::clearCache()

Для Битрикса существует сервис `symfony_blade.clear_cache`, очищающий кэш в случае присутствия GET параметра clear\_cache.

#### Некоторые моменты

[](#некоторые-моменты)

Битрикс позволяет использовать сторонние шаблонизаторы только в шаблонах компонентов. Шаблоны сайтов только на php.

По понятным причинам наследованием шаблонов в полную силу воспользоваться не получится.

Традиционное расширение .blade.php использовать нельзя. Битрикс видя .php включает php движок.

Вместо $this в шаблоне следует использовать $template - например $template-&gt;setFrameMode(true);

Проверку `` прописывать в blade-шаблоне не нужно, она добавляется в скомпилированные view автоматически. Также вместе с этим выполняется и extract($arResult, EXTR\_SKIP);

Чтобы языковой файл из шаблона подключился, его (этот языковой файл) надо назвать как обычно - template.php

#### Дополнительно

[](#дополнительно-1)

##### PhpStorm

[](#phpstorm)

Чтобы включить подсветку синтаксиса в PhpStorm для .blade файлов нужно добавить это расширение в Settings-&gt;Editor-&gt;File Types-&gt;Blade

Чтобы PhpStorm понимал и подсвечивалл должным образом пользовательские директивы из этого пакета их можно добавить в него. Делается это в Settings-&gt;Language &amp; Frameworks-&gt;PHP-&gt;Blade-&gt;Directives

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~13 days

Recently: every ~25 days

Total

9

Last Release

1739d ago

PHP version history (2 changes)1.0.0PHP &gt;=7.3

1.2.0PHP &gt;=7.3 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/9210c86ee6734e537eaf22c0f2fe7a965451e340e39e1aae2b74013f24c2660d?d=identicon)[gedovan](/maintainers/gedovan)

---

Top Contributors

[![ProklUng](https://avatars.githubusercontent.com/u/19857467?v=4)](https://github.com/ProklUng "ProklUng (15 commits)")

---

Tags

bitrixbitrix-symfonyphp7wordpress-symfonyphpbitrix-symfonybitrix-bundle

### Embed Badge

![Health badge](/badges/proklung-bitrix-blade-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/proklung-bitrix-blade-bundle/health.svg)](https://phpackages.com/packages/proklung-bitrix-blade-bundle)
```

###  Alternatives

[php-flasher/flasher-symfony

Integrate flash notifications into Symfony projects effortlessly with PHPFlasher. Improve user experience and application feedback loops easily.

141.3M20](/packages/php-flasher-flasher-symfony)[contao-community-alliance/dc-general

Universal data container for Contao

1578.3k86](/packages/contao-community-alliance-dc-general)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
