Download the PHP package prettybx/support without Composer

On this page you can find all versions of the php package prettybx/support. 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 support

Pretty Bitrix (Support)

Scrutinizer Code Quality Build Status Code Intelligence Status

Библиотека для упрощения работы с Битрикс

Установка

Начало работы

  1. Инициализируйте сервис провайдер в local/php_interface/init.php:

DI container

Для реализации Dependency Injection предлагается использовать Illuminate/Container (DI container из фреймворка Laravel). Для того, чтобы получить экземпляр контейнера, можно воспользоваться хэлпером container() Пример:

Фасады

Для удобства тестирования библиотека подключает к проекту и адаптирует к работе ларавелевские фасады. Чтобы сдлать свой фасад, нужно создать класс, унаследовать его от PrettyBx\Support\Base\AbstractFacade и реализовать в нем метод getFacadeAccessor, который должен вернуть название класса, спрятанного за фасадом. Пример:

В тестах можно использовать так:

Глобальные переменные Bitrix

Так как статические методы и глобальные переменные очень плохо поддаются тестированию, для удобства работы с ними предлагается использовать фасады, результаты работы которых можно легко подменять тестовыми двойниками.

$GLOBALS['APPLICATION']

Получить экземпляр класса \CMain, размещенные в $GLOBALS['APPLICATION'], можно с помощью фасада PrettyBx\Support\Facades\CMain Пример:

$GLOBALS['USER']

Получить экземпляр класса \CUser можно с помощью фасада PrettyBx\Support\Facades\CUser. Пример получения текущего идентификатора пользователя:

Пример авторизации:

\Bitrix\Main\Application

Данный класс является основополагающим классов в D7, но в нем пристутствуют статические методы. Кроме того, он является синглтоном на уровне кода, то есть получить его экземпляр можно только с помощью метода getInstance. Это очень сильно затрудняет тестирование. Чтобы сделать тестирование этого класса возможным, предлагается использовать его фасад PrettyBx\Support\Facades\Application.

Удобная загрузка модулей Bitrix

В разрабатываемых классах очень часто нужно загружать модули Bitrix. Библиотека предоставляет разработчику удобный инструмент для загрузки модулей. Предлагается использовать трайт PrettyBx\Support\Traits\LoadsModules. Пример:

В случае, если указанный модуль не может быть загружен, будет выброшено исключение \RuntimeException

Работа с конфигурацией

Библиотека предоставляет удобный инструмент для работы с конфигурацией Bitrix, размещенной в файле bitrix/.settings.php. Для того, чтобы получить значение элемента конфигурации, можно воспользоваться вспомогательной функцией config.

Значение многомерного массива можно получить, разделив ключи массива точками, например:

Валидация данных

Для валидации данных используется библиотека Illuminate/Validation Для того, чтобы использовать ее, предлагается к нужному классу подключить трайт PrettyBx\Support\Traits\Validatable Пример

В случае, если валидация данных провалится, будет выброшено исключение \InvalidArgumentException Список всех доступных правил валидации можно смотреть здесь https://laravel.com/docs/5.8/validation

Работа с событиями

Всю работу с событиями предлагается вынести в один класс - EventServiceProvider. Для того, чтобы зарегистрировать свои обработчики событий, создайте класс, наследующийся от PrettyBx\Support\Providers\AbstractEventServiceProvider. Укажите события, которые нужно обработать, в массиве в защищенном свойстве events. Пример:

После этого зарегистрируйте этот класс в php_interface/init.php:

При регистрации EventServiceProvider подпишет указанные обработчики на указанные события.

Работа с файловой системой

Для удобства работы с файлами есть класс PrettyBx\Support\Filesystem\Manager, который представляет из себя набор команд для выполнения файловых операций. Рекомендуется зарегистрировать этот класс как синглтон с помощью сервис провайдера:

Теперь файловые операции, такие как переименование, проверка на существование, получение содержимого, удаление и тд, можно осуществлять следующим образом:

или через фасад:

Расширение функционала для работы с файлами Класс PrettyBx\Support\Filesystem\Manager реализует трайт Illuminate\Support\Traits\Macroable, что позволяет на лету добавлять в него свои методы. Рекомендуется делать это в сервис провайдерах. Пример добавления метода append:

  1. В сервис провайдере добавляем такую команду:

  2. Пользуемся

Другие библиотеки в рамках проекта "Pretty Bitrix"


All versions of support with dependencies

PHP Build Version
Package Version
Requires illuminate/validation Version >=5.8
illuminate/support Version >=5.8
illuminate/container Version >=5.8
mockery/mockery Version >=1.3
phpunit/phpunit Version >=7
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 prettybx/support contains the following files

Loading the files please wait ....