PHPackages                             ge1i0n/bitrix-blade - 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. [Templating &amp; Views](/categories/templating)
4. /
5. ge1i0n/bitrix-blade

ActiveLibrary[Templating &amp; Views](/categories/templating)

ge1i0n/bitrix-blade
===================

0.12.0(5mo ago)78884MITPHPPHP ^8.2

Since Aug 27Pushed 5mo agoCompare

[ Source](https://github.com/Ge1i0N/bitrix-blade)[ Packagist](https://packagist.org/packages/ge1i0n/bitrix-blade)[ Docs](https://github.com/ge1i0n/bitrix-blade)[ RSS](/packages/ge1i0n-bitrix-blade/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (32)Used By (0)

[![Latest Stable Version](https://camo.githubusercontent.com/3f525b406592c3cefbd263d0db5014b4b06528b608f3592ebc5b54c96d612a28/68747470733a2f2f706f7365722e707567782e6f72672f67653169306e2f6269747269782d626c6164652f762f737461626c652e737667)](https://packagist.org/packages/ge1i0n/bitrix-blade/)[![Total Downloads](https://camo.githubusercontent.com/6cb5aefb1402d5573305314395b995ee55d5cb03f7415c5781e5a50bebefe4a3/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f67653169306e2f6269747269782d626c6164652e7376673f7374796c653d666c6174)](https://packagist.org/packages/ge1i0n/bitrix-blade)

Bitrix Blade - интеграция шаблонизатора Blade в Битрикс
=======================================================

[](#bitrix-blade---интеграция-шаблонизатора-blade-в-битрикс)

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

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

1. `composer require ge1i0n/bitrix-blade`
2. Добавляем в init.php

```
use Arrilot\BitrixBlade\BladeProvider;

require $_SERVER['DOCUMENT_ROOT']."/vendor/autoload.php";

BladeProvider::register();
```

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

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

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

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

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

X-Компоненты
------------

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

Вы можете использовать x-компоненты в своём шаблоне. По-умолчанию классы x-компонентов подгружаются из пространства имён `View\\Components\\`, но можно задать своё пространство имён в [конфигурации](#%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F). Если вы хотите использовать специфический класс для компонента, его можно зарегистрировать в компиляторе следующим образом:

```
$compiler = BladeProvider::getCompiler();
$compiler->component('your-component', \\Namespace\\YourComponent::class);
```

Также вы можете использовать [дополнительные простраства имён](https://laravel.com/docs/8.x/blade#manually-registering-package-components), если это необходимо. Для этого их нужно зарегистрировать:

```
$compiler = BladeProvider::getCompiler();
$compiler->componentNamespace('Any\\Components\\Namespace\\', 'any');
```

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

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

Для того чтобы добавить свою директиву, необходимо зарегистрировать её в компиляторе:

```
$compiler = BladeProvider::getCompiler();
$compiler->directive('directiveName', function ($expression) {
    return '...';
});
```

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

1. `@bxComponent` - аналог `$APPLICATION->IncludeComponent()`
2. `@block('key')` и `@endblock` - всё что заключено между ними будет выведено в месте, где вызван метод `$APPLICATION->ShowViewContent('key')`
3. `@lang('key')` - равносильно `{!! Bitrix\Main\Localization\Loc::getMessage('key') !!} `
4. `@auth` и `@endauth` - сокращенная запись ` ... `
5. `@guest` и `@endguest` - аналогично, но проверка на неавторизованного юзера.
6. `@admin` и `@endadmin` - аналогично, но `$USER->IsAdmin()`
7. `@csrf` - сокращенная форма для ``
8. [Директивы по работе с эрмитажем](docs/hermitage.md)

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

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

При необходимости пути можно поменять в конфигурации. .settings\_extra.php

```
    'bitrix-blade' => [
        'value'    => [
            'baseViewPath' => '/absolute/path/or/path/from/document/root', // по умолчанию 'local/views'
            'cachePath' => '/absolute/path/or/path/from/document/root', // по умолчанию 'local/cache/blade'
            'namespace' => 'Custom\\Namespace\\', // по умолчанию 'View\\Components\\'
        ],
        'readonly' => true,
    ],
```

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

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

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

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

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

1. Битрикс позволяет использовать сторонние шаблонизаторы только в шаблонах компонентов. Шаблоны сайтов только на php.
2. По понятным причинам наследованием шаблонов в полную силу воспользоваться не получится.
3. Вызывать шаблон как `template.blade.php` нельзя. Битрикс видя `.php` включает php движок. Однако в остальных местах ничего не мешает его использовать.
4. Вместо `$this` в шаблоне следует использовать `$template` - например `$template->setFrameMode(true);`
5. Проверку `` прописывать в blade-шаблоне не нужно, она добавляется в скомпилированные view автоматически. Также вместе с этим выполняется и `extract($arResult, EXTR_SKIP);`
6. Чтобы языковой файл из шаблона подключился, его (этот языковой файл) надо назвать как обычно - `template.php`

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

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

PhpStorm

1. Чтобы включить подсветку синтаксиса в PhpStorm для .blade файлов нужно добавить это расширение в `Settings->Editor->File Types->Blade`
2. Чтобы PhpStorm понимал и подсвечивалл должным образом пользовательские директивы из этого пакета их можно добавить в него. Делается это в `Settings->Language & Frameworks->PHP->Blade->Directives`

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance74

Regular maintenance activity

Popularity25

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 52.3% 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 ~124 days

Recently: every ~192 days

Total

31

Last Release

172d ago

PHP version history (5 changes)0.1.0PHP &gt;=5.4.0

0.9.0PHP &gt;=7.3.0

0.10.0PHP ^7.3|^8.0

0.11.0PHP ^8.1

0.11.1PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/2223361bbd3b57f83ae5b6a56dadea6bfded10399ec54dfd8aeba63dcbf68208?d=identicon)[Ge1i0N](/maintainers/Ge1i0N)

---

Top Contributors

[![arrilot](https://avatars.githubusercontent.com/u/2826480?v=4)](https://github.com/arrilot "arrilot (23 commits)")[![Ge1i0N](https://avatars.githubusercontent.com/u/6265043?v=4)](https://github.com/Ge1i0N "Ge1i0N (21 commits)")

---

Tags

bitrixblade

### Embed Badge

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

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

###  Alternatives

[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[tightenco/jigsaw

Simple static sites with Laravel's Blade.

2.2k438.5k29](/packages/tightenco-jigsaw)[psalm/plugin-laravel

Psalm plugin for Laravel

3274.9M308](/packages/psalm-plugin-laravel)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M367](/packages/laravel-zero-framework)[jenssegers/blade

The standalone version of Laravel's Blade templating engine for use outside of Laravel.

8661.2M107](/packages/jenssegers-blade)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

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