arrilot/bitrix-blade
最新稳定版本:0.8.0
Composer 安装命令:
composer require arrilot/bitrix-blade
包简介
README 文档
README
Данный пакет больше активно не поддерживается
Причина - мы больше не используем Битрикс в своих проектах. Если вам интересен этот проект и вы хотите заняться его поддержкой - форкните его и создайте Issue в данном репозитории чтобы мы поместили здесь ссылку на форк.
Форки:
Bitrix Blade - интеграция шаблонизатора Blade в Битрикс
Установка
1)composer require arrilot/bitrix-blade
- добавляем в init.php
use Arrilot\BitrixBlade\BladeProvider; require $_SERVER['DOCUMENT_ROOT']."/vendor/autoload.php"; BladeProvider::register();
Использование
Заменяем шаблон компонента с template.php на template.blade и можно писать на Blade
Директива @include('path.to.view') модифицирована следующим образом:
- Сначала view ищется относительно директории текущего шаблона компонента (там где лежит template.blade)
- Если не view там не нашёлся, то он ищется относительно базовой директории (по умолчанию
local/views, но может быть указана другая при вызовеBladeProvider::register())
Пользовательские директивы (custom directives)
Для того чтобы добавить свою директиву, необходимо зарегистрировать её в компиляторе:
$compiler = BladeProvider::getCompiler();
$compiler->directive('directiveName', function ($expression) {
return '...';
});
При установке пакета BladeProvider::register() за вас уже автоматически зарегистрировано некоторое количество полезных директив:
@bxComponent- аналог$APPLICATION->IncludeComponent()@block('key')и@endblock- всё что заключено между ними будет выведено в месте, где вызван метод$APPLICATION->ShowViewContent('key')@lang('key')- равносильно{!! Bitrix\Main\Localization\Loc::getMessage('key') !!}@authи@endauth- сокращенная запись<?php if($USER->IsAuthorized()) ?> ... <?php endif ?>@guestи@endguest- аналогично, но проверка на неавторизованного юзера.@adminи@endadmin- аналогично, но$USER->IsAdmin()@csrf- сокращенная форма для<input type="hidden" name="sessid" value="{!! bitrix_sessid() !!}" />- Директивы по работе с эрмитажем
Конфигурация
При необходимости пути можно поменять в конфигурации. .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' ], 'readonly' => false, ],
Очистка кэша
Для обеспечения высокой скорости работы Blade кэширует скомпилированные шаблоны в php файлы.
В большинстве случаев чистить этот кэш самостоятельно потребности нет, потому что блейд сверяет время модификации файлов шаблонов и кэша и самостоятеьно инвалидирует этот кэш.
Однако в некоторых случаях (например при добавлении новой пользовательской директивы), этот кэш всё-же надо сбросить.
Делается это методом BladeProvider::clearCache()
Некоторые моменты
- Битрикс позволяет использовать сторонние шаблонизаторы только в шаблонах компонентов. Шаблоны сайтов только на 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
arrilot/bitrix-blade 适用场景与选型建议
arrilot/bitrix-blade 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5.16k 次下载、GitHub Stars 达 44, 最近一次更新时间为 2015 年 08 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「blade」 「bitrix」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 arrilot/bitrix-blade 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 arrilot/bitrix-blade 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 arrilot/bitrix-blade 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
统计信息
- 总下载量: 5.16k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 44
- 点击次数: 18
- 依赖项目数: 1
- 推荐数: 4
其他信息
- 授权协议: MIT
- 更新时间: 2015-08-27