Для чего может потребоваться Composer

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

Размер сторонних решений может быть от парочки удобных "функций" или библиотек, до полноценных фреймворков, включающих сотни файлов.

Composer - диспетчер, выполняющий функции установки, централизованного хранения, удаления таких библиотек и фреймворков. По простому, похож на то же приложение "Установка и удаление программ" в Windows.

К примеру если вы хотите работать с файлами формата XLSX, PDF, XLS вы можете писать код с нуля, разрабатывая велосипед, а можно воспользоваться разработанной ранее библиотекой, которая ставится централизованно с помощью Composer, и готова к использованию в течении пары минут.

К примеру такую библиотеку как PhpSpreadsheet, удобная, много возможностей, бесплатная.

Устанавливаем Composer

Устанавливать будем на CentOS 7. Обычно данная ОС идет в комплекте виртуальной машины для Битрикс 24:Коробочная версия (CRM система). Для использования в данных проектах, и будем устанавливать.

Последовательность:
  1. Проверяeм установку расширения phar в PHP
  2. Ставим расширение если его нет
  3. Устанавливаем файл composer
  4. Устанавливаем PhpSpreadsheet

Проверяем установку расширения

php -m | grep Phar
Если ничего не вывел, значит расширение для PHP не установлен. Тогда устанавливаем

Устанавливаем PHAR если его нет

yum install php-pecl-phar

Если пакет не установлен, он установится. Следуйте мастеру. Если установлен, выведет, сообщение вроде



  Если видите похожее, значит расширение установлено, просто в видимо не включен. Тогда включаем расширение в PHP:
В папке /etc/php.d/ есть файл 20-phar.ini. Скорее всего его не будет, либо он будет вида 20-phar.ini.disabled, если так, переименовываем в 20-phar.ini, если вообще нет, то создаем с таким именем. В любом из вариантов, внутри должна быть одна строчка

extension=phar.so


Перезапускаем php 

systemctl restart httpd

Чтобы убедиться, что prar установлен, опять команду

php -m | grep Phar
Выведет красную строчку Phar, значит всё хорошо, можно переходить к установке Composer.

Устанавливаем composer

Для тех, кто разбирается, можно так

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Для тех, кто не особо шарит, можно так:  качаем с оф сайта файл composer.phar (на момент написания последняя версия composer.phar 1.8.5 от 09.04.2019)

Загружаем на сервер в папку, например: /home/bitrix/www/local/arcnet_dev/

Запускаем консоль сервера. Переходим в консоли в ту папку, куда закинули файл, командой

cd /home/bitrix/www/local/arcnet_dev/composer/


Теперь у нас есть всё необходимое, для первой инсталляции библиотеки или компонента, с помощью Composer

Устанавливаем PhpSpreadsheet

Для начала включаем расширения в PHP для этой библиотеки

yum install php-xmlwriter 

yum install php-xml

Если всё хорошо, включаем расширения в PHP в папке /etc/php.d/ как тогда, когда включали phar



 Перезапускаем php 

systemctl restart httpd

Далее сама установка, командой:

php composer.phar require phpoffice/phpspreadsheet

В итоге будет, что-то вроде


Всё, библиотеку можно использовать в своих скриптах:

<?php require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet(); 
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('A1', 'Hello World !');
$writer = new Xlsx($spreadsheet);
$writer->save('hello world.xlsx');

Руководство по адресу https://phpspreadsheet.readthedocs.io/en/latest/
Рейтинг:
(3.3)
Поделиться информацией: