Яндекс.Метрика
qr-код - Как-то так стрелка - Как-то так
Ведущий экономист + ... пиктограмма - Как-то Так THIS     Экономическая грамотность и web-решения
Всё по теме: что, как и почему. Актуальные вещи - своими словами.
Повышайте своё качество WITH ME - СПЭМ !
Если тебе не нравится то, что ты получаешь, измени то, что ты даешь. © Карлос Кастанеда     KAKTOTAK.BY - услуги по экономическому проектированию и web-разработке (php/js - telegram, WordPress, Laravel, Vue, SEO)    Кооперация - на постоянной основе    Будь в теме   -    ПОДПИШИСЬ      Мои заметки - ЭКОНОМИКА +  и  Справочник WEB-разработчика | php+js+seo   в Telegram   telegram  

Как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)

Как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)

Многие сайты/проекты, чтобы не изобретать велосипед удобнее делать уже на готовых платформах php – CMS (WordPress, Bitrix от 1С, Joomla, OpenCart, ImageCMS и т.п.). Ну, или же, для придания большего колорита и определённой независимости, на одном из фреймворков (Laravel, Symfony, CodeIgniter и т.п.).

Речь конечно же идёт о среде разработке с использование серверного языка программирования PHP.

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

Другими словами – разработали свой скрипт/программу на PHP, или взяли стронную библиотеку (других разработчиков) и интегрировали её в тело своего движка (CMS) для взаимодействия её с функционалом вашего проекта и возврата результата её работы в шаблон страницы CMS.

В данном посте речь пойдёт именно о том, как подключить стороннюю библиотеку, разработанную на PHP (стандарта Packagist) к своему проекту на CMS с помощью  популярного менеджера зависимостей PHP – COMPOSER.

Чтобы понять, как можно настроить всё это взаимодействие, с учётом конкретной потребности разработчика в решении определённой задачи, приведём простой пример.

Так как практически все популярные CMS построены на подходах ООП (объектно-ориентированного программирования) и файловая структура их схожа, общие подходы в реализации данной задачи для всех CMS (WordPress, Bitrix, Joomla, Drupal и т.д. ) будут подобны.

У нас есть сайт на движке ImageCMS (фреймворк CodeIgniter) и необходимо реализовать такую простую задачку.

На своём сайте с помощью функционала движка (админ панели) создадим обычную страницу, на которой, создав предварительно дополнительные поля для загрузки двух изображений (через всю туже админку), выведем их в формате png, и уже на их основе сгенерируем одно изображение в формате gif (в двух вариациях).

Создание страницы и вывод исходных изображений на ней будет достигнуто с помощью стандартной административной процедуры управления движком(CMS), а вот в создании gif картинки (анимации) на этой же странице нам как раз поможет сторонняя библиотека.

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

  • 1 – с помощью файла functions.php, находящегося в корне темы движка (используемого для расширения его функционала)
  • 2 – созданной нами библиотеки lib_gif в теле самого фреймворка(codeigniter) движка(ImageCMS) (в папке application/ libraries)

Осталось найти нужную библиотеку на PHP для решения поставленной задачи.

Есть такой замечательный ресурс https://packagist.org, на котором разработчики всего мира размещают и делятся своими программными скриптами (библиотеками), облегчая тем самым процесс разработки другим программистам.

Packagist — это репозиторий пакетов Composer. Он позволяет находить пакеты и сообщает Composer, откуда взять код. Любой разработчик может использовать Composer для управления своим проектом или зависимостями библиотек.

Composer же, в свою очередь, представляет из себя популярный менеджер зависимостей PHP, который упрощает процесс установки и обновления зависимостей проекта (некоторый аналог NodeJS NPM).

Он способствует установке, через командную строку своего терминала/консоль, всех необходимых версии пакетов в соответствии с запросом разработчика.  Кроме всего прочего, Composer часто используется для установки на своём локальном сервере новых проектов построенных на таких популярных фреймворках PHP, как Laravel и Symfony.

И так, заходим на сайт https://packagist.org и ищем что-нибудь похожее для решения нашей задачи – создание gif анимации.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 1

Находим нужную нам библиотеку - pomirleanu/gif-create

Ознакамливаемся с инструкцией по её установке и использованию.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 2

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 3

До того как приступим к установке pomirleanu/gif-create, нам необходимо сначала установить в нашу систему (в данном случае Windows) compser, для того чтобы обеспечить загрузку и подключение данной библиотеки в наш проект через командную строку.

Так как локальная среда разработки у нас на Оpen Server (OS), то composer уже установлен в систему по умолчанию вместе с OS.

Единственное что мы ещё сделаем, это добавим для своего удобства и возможности работы с ним не только через консоль OS, но и Visual Studio Code, который является нашим редактором кода (IDE - интегрированной средой разработки). Или, другими словами, подружим консоль VS Code и OpenServer.

Делаем в настройках OS следующее:

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 5

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 6

Если же ваша среда разработки не на OS (а, к примеру, на XAMPP, WAMP, или же отдельно подключаемом PHP и т.п.), то composer необходимо установить глобально. Достаточно скачать и запустить установщик для Windows.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 7

Для проверки установленной версии composer в командной строке терминала введём:

composer –v

и получим всю служебную инвормацию по нему

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 8

Далее создадим папку app_packagist (название любое может быть задано) в корне проекта, в которую и загрузим необходимую библиотеку с помощью composer.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 9

Заходим через консоль VS Code в данную папку и выполняем следующую команду:

composer require pomirleanu/gif-create

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 4

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 10

После чего в папке app_packagist будет создан:

  • файл composer.json, где указан подключаемый пакет (название/версия).
  • файл composer.lock, где указаны все установленные зависимости и их версии.
  • и папка vendor с загруженными основными и зависимыми пакетами (библиотеками)

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 11

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 12

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 13

Если бы мы изначально в папке app_packagist создали файл composer.json и указали в нём конструкцию в виде объекта require:

и после этого сделали запрос:

composer install

то получили такой же результат.

По сути, тоже самое, что и с запросом composer require pomirleanu/gif-create, только при первом варианте файл composer.json создаётся автоматически, если до этого его в папке не было.

В папке vendor видим всё основные и вспомогательные пакеты необходимые для создания gif-анимации из изображений png.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 14

Создаём страницу (my_page) своего сайта с помощью админ-панели CMS:

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 15

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 16

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 17

Цепляем шаблон вывода этой страницы к созданному файлу my_page.tpl, где выводим наши исходные изображения (/uploads/1.png и /uploads/2.png)

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 18

Посмотрим что у нас получилось.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 18_1

Ниже, на той же странице, выведем результат работы подключаемой библиотеки pomirleanu/gif-create.

Для этого в файле созданного шаблона (my_page.tpl) нашей страницы напишем следующий код, который и будет отвечать за вывод анимации по двум вариантам.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 19

1 – с помощью созданной функции gif в файле functions.php:

{site_url(gif($image_1,$image_2))} – url первой анимации

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 20

2 – с помощью созданной библиотеки lib_gif (в папке application/ libraries):

{$url_animated = $CI->load->library('lib_gif')->index($image_1,$image_2)}

{site_url($url_animated)} - url второй анимации

По сути, код идентичен внутри метода index().

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 21

Отличие первой анимации от второй заключается в том, что массив $frame, который является первым аргументом вызываемого метода (->create($frames, $durations)) объекта класса (new GifCreate\GifCreate()) в 1-ом способе включает в себя первым элементом url = /uploads/1/png, а во 2-м втором url = /uploads/2.png.

Поэтому чередование исходных изображений в сгенерированной анимации в 1-ом и 2-ом варианте у нас будет отличаться.

как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS)  - 22

Вот таким образом можно настроить взаимодействие CMS с любой внешней библиотекой, установленной с помощью composer, в рамках своего проекта для синтеза, обработки и вывода определённых данных, в том числе на создаваемых страницах непосредственно самим движком (CMS).

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

Как подключить стороннюю библиотеку PHP с помощью COMPOSER к сайту на движке (CMS) - Как-то Так!

автор - Михаленко Р.
M R. Автор - kaktotak.by Специализация: финансово-экономическое проектирование - моделирование бизнеса, инвестиционных проектов реального сектора, анализ и оценка эффективности, оптимизация системы управленческих решений.

Широкий спектр web-компетенций для решения задач бизнеса.

Подписывайтесь на мой телеграмм канал - Мои заметки - ЭКОНОМИКА +
Там я ничего не втюхиваю и не навязываю. Просто делюсь полезной информацией по экономической грамотности. Повышайте своё качество вместе со мной: что, как и почему в экономике на простом языке. Понятия, алгоритмы, процессы, микро- и макроаспекты и многое другое. Может, будет интересно !

А так же - Справочник WEB-разработчика | php+js+seo
Заметки и нативные решения простых локальных задач на PHP, JS. Кое-что про Laravel, WordPress, Vue и SEO.

  Персональная помощь в экономическом проектировании и веб-разработке:

  • Финансово-экономическое моделирование, анализ, учёт, бизнес-планирование
  • Комплексная web-разработка/поддержка проекта в сети (php/js, seo – Laravel, WordPress, Vue, telegram, администрирование, контент, реклама в Яндекс Директ

  telegram или форма обратной связи

Administrator
1151
0
Имя
E-mail
Рейтинг
Отзыв

Конвертер валют
RUB RUB-icon
USD USD-icon
EUR EUR-icon
CNY CNY-icon
BYN BYN-icon
UAH UAH-icon
KZT KZT-icon
SHORT - о чём речь
ЭКОНОМИЧЕСКАЯ ГРАМОТНОСТЬ
Хочу Всё Знать. Полезные Советы