Перестаньте изобретать изобретенное: 8 полезных PHP библиотек, которые заменят ваши велосипеды
29К открытий30К показов
Многие программисты при выполнении каких-то задач пишут свои собственные решения, часто забывая о том, что эта же задача, скорее всего, уже давно решена другим разработчиком намного эффективней и качественней.
Tproger собрал 8 существующих библиотек и инструментов, функциональность которых чаще всего реализуют самостоятельно. Они пригодятся любому веб-разработчику: если не сейчас, то в будущем их знание избавит вас от траты времени на написание своих велосипедов.
Imanee
Пожалуйста, хватит писать свои функции для работы с графикой!
Imanee предоставляет высокоуровневое API генерации и разнообразной обработки изображений всех популярных форматов. Написав всего пару строчек с использованием Imanee, вы сможете наложить копирайт, ватермарк или совершить более сложную операцию. Библиотека имеет подробную документацию и отличается высоким быстродействием.
Чтобы окончательно убедить вас не писать что-то своё, приведем несколько примеров.
Создать гифку, включающую в себя, например, все изображения в папке, можно всего одной строкой:
То же самое касается и установки на изображение своего копирайта:
Официальный GitHub репозиторий: Imanee
Сайт с документацией и котиком: Imanee.io
PHP Benchmark
Перестаньте писать свои решения с запоминанием таймстампов в переменные и сравнением, ваши проблемы решает PHP Benchmark — бесплатная библиотека с открытыми исходниками.
Она ведет учет не только времени выполнения, но и использованной памяти и других параметров.
Подключив PHP Benchmark и прописав в нужных местах следующую строчку:
можно получить детальный отчет по работе приложения.
Вот пример для популярной платформы WordPress:
Подробную документацию, как и исходники, вы можете найти на гитхабе: PHP-Benchmark
RegExp Builder
Являясь бесплатным портом известной JavaScript библиотеки, PHP RegExp Builder позволяет полностью забыть о регулярках, их синтаксисе и искусстве написания. С использованием этого инструмента валидацию, поиск и замену сложных по структуре данных — основные области применения регулярных выражений — стало делать ещё проще.
Выражения, созданные в Builder’е, легко читать и изменять — всё состоит из так называемых «цепочек».
Пример создания регулярного выражения с RegExp Builder:
Скачать библиотеку можно на GitHub: RegExp Builder
Там же доступна и документация: RegExp Builder Wiki
PHP FaceDetection
Определение лиц на фотографиях не является распространенной задачей, тем не менее, знание о том, что такая библиотека существует, вам пригодится.
PHP FaceDetection — это серверная адаптация одноименного JS-фреймворка от Котика Тхеравада, с помощью которой, написав всего пару строчек, вы получите координаты лица на изображении в удобном формате.
Пример:
Ссылка на GitHub: PHP FaceDetection
Mobile Detect
Mobile Detect — легковесный класс с открытым исходным кодом, предназначенный для определения модели мобильного устройства клиента. Для «детекта» он использует User-Agent в сочетании с HTTP заголовками и свою обширную базу данных — это делает количество ложных срабатываний минимальным.
Даже несмотря на то, что для адаптивного дизайна сегодня используются Media Queries, скрипт всё равно может быть полезен: например, вы можете отдавать мобильным пользователям более легковесные изображения, тем самым ускоряя загрузку сайта.
Простейший пример:
Рабочее демо: demo.mobiledetect.net
Документация и ссылка на скачивание: mobiledetect.net
ABLincoln
ABLinkoln — написанная на PHP реализация фреймворка PlanOut от Facebook, предназначенного для A/B тестов — тестов, использующихся для оценки эффективности веб-страницы и повышения конверсии, или, другими словами, сплит-тестирования.
ABLincoln значительно упрощает этот процесс, предоставляя программисту возможность легко развертывать и поддерживать сложные эксперименты на больших проектах с широкой аудиторией.
Например, чтобы поставить эксперимент с двумя видами надписи и цвета кнопки, нужно создать вот такой простой класс:
Документация, исходники и примеры кода — на GitHub.
phpQuery
Задача спарсить некую информацию со стороннего сайта встает перед веб-разработчиком очень часто: таким образом можно заполнить контентом собственный сайт, динамически подгрузить какую-то информацию и многое другое.
Ранее мы уже делали подборку лучших инструментов для парсинга веб-страниц средствами PHP. Согласно результатам того исследования, наиболее универсальной оказалась библиотека phpQuery.
Это, по сути, PHP вариант jQuery, обладающий почти всем, что есть в оригинале. Помимо удобства использования, phpQuery еще и гораздо быстрее своих конкурентов, а значит, лучше всего подойдет для работы с большим объемом данных.
Вот небольшой пример использования phpQuery для обработки элементов списка (li):
Библиотека и документация к ней доступны на официальной странице в Google Code.
mPDF
mPDF — одна из лучших библиотек для генерации документов в формате PDF. В отличие от своих конкурентов, mPDF в полной мере поддерживает русский язык, вставку картинок, форматирование и, самое главное, HTML и CSS.
Основанный на открытом движке инструмент очень прост в использовании: на вход вы подаете почти обычную веб-страницу — на выходе получаете полноценный PDF.
Более подробную документацию, пример кода и ссылку на скачивание вы найдете на официальном сайте.
29К открытий30К показов