Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 28 декабря, печатный экземпляр отправим 1 января.

Опубликовать статью в журнале

Авторы: ,

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №22 (364) май 2021 г.

Дата публикации: 28.05.2021

Статья просмотрена: 136 раз

Библиографическое описание:

Медникова, О. В. Сравнительный анализ библиотек языка PHP для формирования документов веб- сервисами / О. В. Медникова, А. А. Симонов. — Текст : непосредственный // Молодой ученый. — 2021. — № 22 (364). — С. 29-30. — URL: https://moluch.ru/archive/364/81662/ (дата обращения: 18.12.2024).



Задача автоматического создания файлов часто встает перед web- разработчиками, в частности в сфере разработки платформенных решений для транспорта. Для упрощения процесса формирования документов существует несколько библиотек для языка PHP. В статье приведен сравнительный анализ наиболее актуальных на данный момент библиотек для формирования документов популярных форматов.

Ключевые слова: PHP, библиотеки PHP, автоматизация, PHPword, PHPstamp.

На сегодняшний день существует множество инструментов в области веб-разработки. Регулярно появляются новые Фреймворки. Но есть и такие языки, которые пользуются сумасшедшей популярностью свыше десяти лет. Яркий тому пример — PHP. Популярности языка способствовало то, что по его изучению написано множество качественной литературы. Согласно данным исследования австрийской консалтинговой компании Q-Success 79,2 % всех сайтов в сети интернет написаны на языке PHP [1, с. 15]. Разработчики не стоят на месте, и в ноябре 2020 года состоялся релиз PHP версии 8. Этот релиз кардинально поменял язык. Код стал быстрее, надёжнее, и писать его стало намного приятнее. Еще одним фактором популярности PHP является обширный выбор библиотек для решения широкого круга задач, встающих перед web- разработчиками каждый день.

Одной из таких задач является формирование различного рода документов, печатных форм, справок определенной формы с внесенными пользователем данными и их дальнейшая выгрузка печати. Существуют различные решения для создания документов. Разработаны несколько библиотек, написанных на языке JavaScript, например, библиотеки jsFile и html-docx-js. Сейчас эти библиотеки утратили свою актуальность, так как были разработаны более пяти лет назад и с того времени не поддерживаются разработчиками, вследствие чего у разработчиков возникают проблемы с интеграцией решений написанных при помощи данных библиотек. В связи с этим многие разработчики отдают предпочтение решениям, написанным на языке PHP, так как данный язык располагает необходимым инструментарием. В данной статье произведен сравнительный анализ наиболее часто используемых, свободно распространяемых библиотек для формирования документов PHPWord, PHPStamp с целью нахождения наиболее оптимального решения.

PHPWord — это библиотека, написанная на чистом PHP, которая предоставляет набор классов для записи и чтения из файлов различных форматов документов [2].

Релиз библиотеки PHPWord состоялся в 2010 году. Библиотека была написана для актуальной на тот момент версии PHP 5.4.4. PHPWord поддерживается разработчиками и постоянно дорабатывается. Актуальная версия 0.18.1 от 8 марта 2021 года. Текущая версия PHPWord поддерживает форматы *.doc, *.docx, *.odf, *.rtf.

Библиотека PHPWord, обладает обширным функционалом, который в значительной степени передает все особенность текстового процессора Microsoft Word. Библиотекой предусмотрено создание разделов документа, поддержка книжной и альбомной ориентации, добавление верхнего и нижнего колонтитулов и нумерация страниц. Есть возможность установки типа, размера и стиля шрифта. PHPWord позволяет работать с таблицами, изображениями и различными видами диаграмм (круговые и кольцевые диаграммы, столбцовые диаграммы, диаграммы рассеяния). К плюсам данной библиотеки можно отнести ее свободное распространение, поддержку кодировки UTF-8 с использованием символов кириллицы, а также наличие подробной документации по данной библиотеке. Среди минусов разработчики отмечают большие временные затраты на создание шаблона документа и большой объем кода.

Библиотека PHPstamp . Рассмотрим еще один шаблонизатор офисных документов, основанных на XML, PHPstamp. Так же, как и PHPword, библиотека написана на чистом PHP и для своей работы использует стандартные для средства, а именно DOMDocument и XSL [3]. Используется для генерации шаблона документа формата (*.docx) для многократного использования PHPstamp. Релиз версии 0.1 состоялся 3 апреля 2017 года. Последняя версия 0.2.3 датирована 28 июля 2019 года. Для корректной работы библиотеки необходимы модули Zip, DOM и XSL. Поддерживаются версии PHP, начиная с версии 5.3. Из-за прекращения поддержки разработчиками PHPstamp может работать некорректно на PHP 8.

Функционал библиотеки позволяет работать со шрифтами и стилями текста, изображениями и таблицами. Поддерживается только формат *.docx.

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

К минусам библиотеки можно отнести ограниченный функционал и завершение поддержки разработчиками.

Далее приведено сравнение библиотек PHPWord и PHPstamp по приведенным выше критериям.

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

Наличие документации. Как было отмечено ранее, PHPWord обладает отлично прописанной документацией с множеством примеров использования кода. Существует множество обучающих ресурсов и тематических статей. Документация PHPstamp не столь всеобъемлющая и проработанная.

Потребность в системных ресурсах . И PHPWord, и PHPstamp хорошо оптимизированы. Для работы с небольшими файлами лучше подходит библиотека PHPstamp, результаты нагрузочного тестирования показывают меньшее потребление памяти и более быстрое время выполнения скрипта. Но при этом стоит отметить, что PHPstamp не предназначена для генерации файлов большого объема.

Функциональные возможности. Функционал PHPWord обширнее, нежели функционал PHPstamp. PHPWord работает с большим количеством расширений и позволяет создавать шаблоны документов со сложной структурой.

Подводя итоги сравнения можно сказать, что обе библиотеки обладают необходимыми инструментами для формирования документов. Главное отличие заключается в том, что PHPWord больше подходит для формирования документов со сложной структурой. Для формирования простых документов небольшого объема лучше подойдет библиотека PHPstamp, за счет меньшего объема потребляемых ресурсов и высокой скорости работы.

Литература:

  1. Локхарт Джош Современный PHP. Новые возможности и передовой опыт; ДМК Пресс — М., 2020. — 304 c
  2. Библиотека PHPWord: основные возможности: сайт. — URL: http://docs.mirocow.com/doku.php?id=php:docx_doc (дата обращения: 07.04.2021). — Текст: электронный.
  3. PHPStamp — честная генерация DOCX документов из шаблона: сайт. — URL: https://habr.com/ru/post/244421/ (дата обращения: 9.04.2021). — Текст: электронный.
Основные термины (генерируются автоматически): PHP, библиотека, XSL, формирование документов, разработчик, DOM, XML, сложная структура, сравнительный анализ, язык.


Ключевые слова

автоматизация, PHP, библиотеки PHP, PHPword, PHPstamp

Похожие статьи

Разработка и внедрение библиотеки валидации на клиентском языке JavaScript

Библиотеки проверки подлинности играют решающую роль в разработке веб-приложений, особенно в обеспечении целостности и безопасности данных. Цель этой статьи — помочь разработчикам в процессе создания пользовательской библиотеки проверки подлинности д...

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Разработка алгоритма валидации форм на клиентской стороне для передачи данных

В данной статье рассмотрены методы и алгоритмы функционирования систем клиент-серверной архитектуры для передачи данных с помощью технологий программных инструментов: HTML, CSS, Javascript.

Анализ средств для реализации нейронных сетей на языке программирования Java

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

Язык программирования Python. Библиотеки Python

Язык программирования Python — это высокоуровневый и интерпретируемый язык программирования, который был создан Гвидо Ван Россумом в 1989 году и выпущен в 1991 году, которые «автоматизируют скучные вещи» (как выразилась одна популярная книга по изуче...

Сравнительный анализ сред разработки и редакторов кода для web-разработчиков

В данной статье рассматривается самые популярные интегрированные платформы и редакторы кода для веб-разработки.

Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android

В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.

Сравнительный анализ программных средств для организации командной работы в высшей школе

В статье приведены результаты сравнительного анализа нескольких программных продуктов для организации работы над проектами в команде. Дана таблица сравнительных характеристик выбранных для рассмотрения программных средств. Определены преимущества каж...

Сравнение производительности фронтэнд-фреймворков React, Angular, Vue.js и Svelte

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

Анализ технологий разработки веб-интерфейсов

Статья посвящена анализу технологий разработки веб-интерфейсов. Рассматриваются функции программ, анализируются их недостатки и достоинства, приводится сравнительная характеристика.

Похожие статьи

Разработка и внедрение библиотеки валидации на клиентском языке JavaScript

Библиотеки проверки подлинности играют решающую роль в разработке веб-приложений, особенно в обеспечении целостности и безопасности данных. Цель этой статьи — помочь разработчикам в процессе создания пользовательской библиотеки проверки подлинности д...

Абстрактные и динамически сгенерированные контроллеры в ASP.NET

В данной статье будет рассмотрен подход автоматически сгенерированных контроллеров в одной из самых популярных технологий для написания веб-сайтов — ASP.NET Core MVC.

Разработка алгоритма валидации форм на клиентской стороне для передачи данных

В данной статье рассмотрены методы и алгоритмы функционирования систем клиент-серверной архитектуры для передачи данных с помощью технологий программных инструментов: HTML, CSS, Javascript.

Анализ средств для реализации нейронных сетей на языке программирования Java

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

Язык программирования Python. Библиотеки Python

Язык программирования Python — это высокоуровневый и интерпретируемый язык программирования, который был создан Гвидо Ван Россумом в 1989 году и выпущен в 1991 году, которые «автоматизируют скучные вещи» (как выразилась одна популярная книга по изуче...

Сравнительный анализ сред разработки и редакторов кода для web-разработчиков

В данной статье рассматривается самые популярные интегрированные платформы и редакторы кода для веб-разработки.

Рассмотрение декларативного подхода к разработке интерфейсов мобильных приложений для Android

В данной статье рассматриваются императивный и декларативный подходы к разработке интерфейсов, анализируются преимущества и недостатки библиотеки Jetpack Compose.

Сравнительный анализ программных средств для организации командной работы в высшей школе

В статье приведены результаты сравнительного анализа нескольких программных продуктов для организации работы над проектами в команде. Дана таблица сравнительных характеристик выбранных для рассмотрения программных средств. Определены преимущества каж...

Сравнение производительности фронтэнд-фреймворков React, Angular, Vue.js и Svelte

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

Анализ технологий разработки веб-интерфейсов

Статья посвящена анализу технологий разработки веб-интерфейсов. Рассматриваются функции программ, анализируются их недостатки и достоинства, приводится сравнительная характеристика.

Задать вопрос