Использование Composer в Bitrix: Управление зависимостями в вашем проекте
Назад

Использование Composer в Bitrix: Управление зависимостями в вашем проекте

Composer - это инструмент для управления зависимостями в PHP-проектах. Он позволяет вам легко добавлять, обновлять и управлять библиотеками и пакетами, необходимыми для вашего проекта. В этой статье мы рассмотрим, как использовать Composer в среде CMS Bitrix для управления зависимостями и улучшения процесса разработки.

Почему стоит использовать Composer в Bitrix?

Использование Composer в Bitrix предоставляет несколько преимуществ:

  1. Управление зависимостями: Вы можете легко добавлять и обновлять библиотеки и пакеты, необходимые для вашего проекта, без необходимости загрузки файлов вручную.
  2. Изолированные зависимости: Composer создает изолированные директории для каждой зависимости, что позволяет избегать конфликтов между версиями библиотек.
  3. Автоматическое подключение классов: Composer автоматически подключает классы и пространства имен из установленных зависимостей, упрощая разработку.
  4. Обновления: Легко получайте обновления для зависимостей с помощью Composer, что помогает поддерживать ваш проект актуальным и безопасным.

Шаги по использованию Composer в Bitrix:

1. Установка

Первым шагом является установка Composer на вашем сервере. Вы можете скачать его с официального сайта Composer. После установки убедитесь, что команда composer доступна в командной строке.

2. Инициализация

После установки Вам потребуется инициализировать composer. Лучше всего это делать в папке /local/ (если такой папки в корне у Вас нет - требуется ее создать).

Запускаем консоль (SHH). Переходим в папку следующей командой и запускаем инициализацию:

              cd /путь/до/вашего/битрикса/local/
composer init
         

Проходим все шаги инициализации. После чего в папке local появится файл composer.json.

Если у Вас есть необходимость создавать и использовать собственные namespace и классы - требуется создать папку, в которую composer будет обращаться через autoload.

Например, в папке local создать еще одну папку src.

Ваш файл composer.json должен выглядеть примерно так:

              {
    "type": "project",
    "authors": [
        {
            "name": "Skillline",
            "email": "noreply@skillline.ru",
            "homepage": "https://skillline.ru"
        }
    ],
    "autoload": {
        "psr-4": {
            "App\\": "./src/"
        }
    },
    "minimum-stability": "stable",
    "require": {
        "ext-json": "*",
    }
}
         

В данном примере для папки src мы будем использовать namespace App.

3. Подключение библиотек в ядро Bitrix

Что бы Битрикс начал воспринимать установленные библиотеки, потребуется подключить autoload в файле /php_interface/init.php (данный файл и папку так же можно создать в папке local, Битрикс автоматически его подключит).

Пример файла init.php с подключением composer:

              
<?php /** * Подключение composer */
require __DIR__ . '/../vendor/autoload.php';

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

После всех вышеперечисленных манипуляций функционал composer подключен и работает.

Для тестирование, в папке ./local/src/ создайте файл Test.php со следующим содержимым:

              
<?php namespace App; class Test { private string $text; public function __construct() { $this->text = 'Hello world!'; } public function showText() { echo $this->text; } }

И в любом файле, где подключен prolog или header, используем:

              
<?php use App\Test; $test = new Test(); $test->showText();

После обновления страницы в браузере должно быть выведено "Hello world!".

Это пример с использованием собственных классов. Так же у Вас появилась возможность установить публичные библиотеки. Для этого Вам потребуется вернуться в консоль:

              cd /путь/до/вашего/битрикса/local/
         

И попробуем установить тестовую библиотеку:composer require monolog/monolog

              composer require monolog/monolog
         

После установки, убедитесь что autoload обновился. Вы можете увидеть новую зависимость в папке vendor.

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

              
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // создание объекта $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // добавление записей $log->warning('Hello'); $log->error('world!');

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

Заключение

Использование Composer в Bitrix упрощает управление зависимостями и облегчает разработку веб-приложений. Он позволяет добавлять и обновлять библиотеки и пакеты, необходимые для вашего проекта, а также упрощает подключение классов из зависимостей. Начните использовать Composer в вашем проекте Bitrix, чтобы улучшить его структуру и обеспечить более эффективную разработку.

Отправить запрос

Напишите нам и мы свяжемся с вами сразу после ознакомления с запросом (в рабочее время ~10 минут ожидания)

Россия, г. Калининград, ул.Уральская, 18, этаж 4, оф. 4, оф. 6