[Из песочницы] 30 чудных библиотек для PHP программистов
Предлагаю читателям «Хабрахабра» перевод публикации »30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.30. GoutteGoutte используется для скрапинга веб-сайтов и извлечения данных. Лицензия — MIT. Предоставляет обширный API для обхода сайтов/блогов и извлечения данных из HTML/XML.
29. GoogChart GoogChart является классом PHP для создания динамичных диаграмм с помощью Google Charts. Не распространяется на весь API Google Charts, но делает их очень простыми в использовании.
28. GifCreator Название говорит за себя. Это класс PHP, который генерирует анимированные GIF из нескольких изображений. Вам просто нужно указать изображения и продолжительность их отображения, вот и все. Размер и прозрачность определяются по первому кадру.
27. dBug dBug является PHP-версией ColdFusion-ского sfdump. Он отображает цветную и хорошо структурированную информацию о переменной в табличном виде. Стили можно редактировать, таблицу можно сворачивать/разворачивать. dBug также можно заставить изменить вывод данных определенных типов. Например, вы можете настроить вывод объектной переменной в виде массива.
26. Alice Alice позволяет мгновенно генерировать сотни фейковых данных (фикстуры) в целях тестирования. Вы можете генерировать сложные данные с ограничениями, которые легко читать и редактировать. Позволяет контролировать диапазоны фикстур, необязательные данные, значения объектов и уникальные ограничения.
25. PHPGeo PHPGeo — простая библиотека для измерения расстояния между двумя координатами с высокой точностью. Она использует формулу Гаверсинуса и Винсента для вычисления расстояния. Вы можете интегрировать ее с любым приложением, связанным с картами или местоположениями.
24. Geocoder Если вы планируете разработать geo aware приложение, взгляните на Geocoder. Это расширяемая PHP-библиотека делится на 2 части: Provider и HttpAdapter. Она также предлагает дополнительный уровень абстракции для геокодирования.
23. Purl Purl — объектно-ориентированная библиотека для работы с URL. Вы можете легко создавать экземпляры URL и вызывать по цепочке методы после создания URL. Библиотека поддерживает манипуляции путем, фрагментом и запросом.
22. Snappy Snappy позволяет создавать снимки, миниатюры и PDF по URL или HTML страницы. Эта библиотека использует WebKit на основе wkhtmltoimage и wkhtmltopdf, доступна для Windows, OSX и Linux.
21. ShellWrap ShellWrap — библиотека, которая позволяет использовать мощные инструменты Unix/Linux в PHP. Вы можете легко вызывать команды, используя простой синтаксис и обработку ошибок исключениями PHP. Все аргументы должным образом экранируются, пути к исполняемым файлам будут разрешены автоматически.
20. Unirest Unirest — это коллекция легких HTTP-библиотек, которые идеально подходят для многочисленных приложений. Выполняет PUT, DELETE, PATCH, GET и POST запросы. Поддерживается gzip, базовая аутентификация, загрузка файлов, формы, настраиваемые тайм-ауты и заголовки по умолчанию для каждого запроса.
19. IniScan IniScan — это инструмент, предназначенный для сканирования php.ini файлов на предмет безопасности. Ищет распространенные ошибки безопасности и рапортует о результатах. Можно задавать порог для правил сканирования, чтобы найти ошибки выше указанного уровня.
18. PHP Captcha PHP Captcha можно использовать для генерации аудио и видео капчи. Поддерживает вращение символов, выбор размера шрифта, выбор набора символов, случайный или указанный фон, дополнительный отображаемый текст и тень символов.
17. Ratchet Ratchet — слабо связанная PHP библиотека, которая предлагает различные инструменты для разработки в режиме реального времени, двунаправленную связь приложения между сервером и клиентом через WebSockets. Есть много легкодоступных компонентов. Вы можете написать собственное приложение-чат за несколько минут.
16. TCPDF TCPDF — PHP-класс (открытый) для создания PDF-документов. Он поддерживает все стандартные форматы страницы, пользовательский формат страниц, UTF-8, PDF аннотации, в том числе ссылки, режим рендеринга текста, набор шрифтов, растягивание текста и интервал, сжатие страниц, TrueTypeUnicode и OpenTypeUnicode.
15. Munee Библиотека Munee может использоваться для компиляции на лету CoffieScript, Less, SCSS, изменения размера изображения, сжатия JS & CSS, и кэширования результата на стороне сервера и клиента, без изменения assets в шаблоне. В целом, это хороший вариант для достижения молниеносных запросов и сохранения пропускной способности.
14. HTML Purifier HTML Purifier — библиотека для фильтрации HTML, разработанная для удаления всего вредоносного кода. Может быть использована для защиты кода от XSS атак. Эта библиотека использует надежные белые списки, агрессивный разбор, и убеждается, что в результате разметка соответствует стандартам.
13. Detector Detector — открытая библиотека для определения многочисленных сведений о пользователях/посетителях. Это может помочь вам построить точные веб-аналитики. Она отображает пользовательский агент, тип устройства, используемый браузер вместе с его HTML и CSS возможностями. Также сообщает, кто запросил данные — человек или бот.
12. Whoops Whoops поможет вам работать с ошибками и исключениями в менее болезненной форме. Предоставляет отличный интерфейс, сообщающий вам подробную информацию об ошибках и исключениях, присутствующих в коде (с подсветкой). Кроме того, поддерживает JSON, XML, SOAP и AJAX.
11. Gaufrette Gaufrette обеспечивает уровень абстракции для файловой системы, что позволяет вам разрабатывать приложения без необходимости знать, где и как будут сохранены медиа-файлы. Также позволяет менять расположение файлов без изменения исходного кода, кроме определения файловой системы.
10. Imagine Imagine, это богатая объектно-ориентированная библиотека для работы с изображениями. Она может обрабатывать различные операции, такие как открытие, сохранение, создание, изменение размеров, водяные знаки, создать коллаж, делать отражение изображения и т.д. Система координат Imagine позволяет рисовать различные фигуры на изображениях. Класс для работы с цветом помогает создавать значения RGB для применения цветов к изображениям. Он также поддерживает слои и манипуляции для анимированных GIF.
9. Idiorm Idiorm — легковесный ORM и гибкий конструктор запросов для PHP5, представляющий собой надстройку над PDO. С ним не надо будет писать длинные и рутинные SQL запросы. Кроме того, он не требует ни XML настроек, ни классов моделей, ни генераторов кода.
8. phpFastCache Как следует из названия, это высоко производительная система кэширования. Она предназначена для ускорения динамических веб-приложений за счет снижения нагрузки на базы данных. Она поддерживает несколько методов кэширования (период может быть явно определен), включая MemCache, Memcached, файлы, wincache, mpdo, pdo и apc. Вы не должны переписывать свой PHP класс для кэширования снова, при изменениях на серверах.
7. JpGraph JpGraph — PHP библиотека для создания объектно-ориентированных графиков. Имеет более 200 встроенных флагов стран, 400 именованных цветов и поддерживает дополнительно диаграммы Ганта, несколько Y-осей, альфа-смешивание и внутреннее кэширование (с таймаутом). Эта библиотека позволяет строить линейные диаграммы, гистограммы, пироги, карты, свечи, полярные, радар, круговые и контурные диаграммы любого размера.
Читайте: 20+ Полезных онлайн инструментов для создания графиков и диаграмм.
6. SEOstats SEOstats — мощная библиотека с открытым исходным кодом, которая предоставляет различные относящиеся к SEO показатели, такие как детальный анализ обратных ссылок, рейтинг страницы, тренды сайта, ключевые слова, статистика трафика, Alexa rank и многое другое. Она собирает данные от Alexa, Google, Moz, open site explorer, SEMRush, Facebook и Twitter.
5. PHP Parser PHP Parser написан на PHP для упрощения статического анализа кода и манипуляций. Он преобразует исходный код PHP в абстрактное синтаксическое дерево. Синтаксическое дерево поможет вам легко проанализировать проблемы кода и ошибки. Кроме того, вы можете превратить синтаксическое дерево обратно в PHP код. Пример показан на изображении, где белая часть представляет простой код, а черный участок содержит сгенерированное синтаксическое дерево.
4. PHP Error PHP Error — библиотека, которая используется для преобразования обычных сообщений об ошибках в более наглядные с полной подсветкой синтаксиса и с фрагментами кода. Она исправляет некоторые сообщения об ошибках, которые просто неверны и применима для AJAX. Кроме того, вы можете вручную выключать или включать ее, запускать отдельные разделы без сообщений об ошибках и игнорировать выбранные файлы.
3. PHP-CPP PHP-CPP — библиотека C++, которая может быть использована для разработки расширений PHP. Она построена с помощью простых в использовании и хорошо документированных классов для создания собственных расширений для PHP. Это может ускорить вашу программу, потому что код, написанный на C++ выполняется быстрее, чем на PHP.
2. Eden Eden — набор повторно используемых компонентов, который работает практически со всеми PHP-фреймворками и CMS. Охватывает компоненты для автозагрузки, кэша, файловых систем, веб сервисов, шаблонов, интернационализации, платежных систем и облачных технологий. Работает с основными веб-сервисами, включая Google, Facebook, Yahoo, PayPal, Tumblr, Foursquare и Amazon Web Services.
1. Locust Locust — простой в использовании инструмент тестирования пользовательской нагрузки. Он может быть использован для выяснения, сколько одновременных пользователей выдержит система. Позволяет писать сценарии на Python. У Locust отличный интерфейс (HTML + JS), который отображает важные данные в режиме реального времени.