Статьи

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

Возврат к списку