Download the PHP package proklung/bitrix-blade-bundle without Composer

On this page you can find all versions of the php package proklung/bitrix-blade-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package bitrix-blade-bundle

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

На базе https://github.com/arrilot/bitrix-blade

Установка

composer require proklung/bitrix-blade-bundle

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

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

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

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

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

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

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

Методы:

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

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

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

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

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

Фильтры:

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

Директивы:

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

Дампы

dump dd

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

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

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

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

Очистка кэша

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

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

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

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

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

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

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

Проверку <?if(!defined("B_PROLOG_INCLUDED")||B_PROLOG_INCLUDED!==true) die();?> прописывать в blade-шаблоне не нужно, она добавляется в скомпилированные view автоматически. Также вместе с этим выполняется и extract($arResult, EXTR_SKIP);

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

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

PhpStorm

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

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


All versions of bitrix-blade-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=7.3 || ^8.0
symfony/dependency-injection Version ^4.4 || ^5.0
symfony/http-kernel Version ^4.4 || ^5.0
symfony/config Version ^4.4 || ^5.0
illuminate/view Version ~6 | ~7 | ~8
illuminate/container Version ~6 | ~7 | ~8
arrilot/bitrix-hermitage Version ^1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package proklung/bitrix-blade-bundle contains the following files

Loading the files please wait ....