A curated list of amazingly awesome PHP libraries, resources and shiny things.
Contributing
Please see CONTRIBUTING and CODE-OF-CONDUCT for details.
Table of Contents
- Awesome PHP
- Dependency Management
- Dependency Management Extras
- Frameworks
- Framework Extras
- Components
- Micro Frameworks
- Micro Framework Extras
- Routers
- Templating
- Static Site Generators
- HTTP
- Middlewares
- URL
- Files
- Streams
- Dependency Injection
- Imagery
- Testing
- Continuous Integration
- Documentation
- Security
- Passwords
- Code Analysis
- Architectural
- Debugging and Profiling
- Build Tools
- Task Runners
- Navigation
- Asset Management
- Geolocation
- Date and Time
- Event
- Logging
- E-commerce
- Office
- Database
- Migrations
- NoSQL
- Queue
- Search
- Command Line
- Authentication and Authorization
- Markup
- Strings
- Numbers
- Filtering and Validation
- API
- Caching
- Data Structure and Storage
- Notifications
- Deployment
- Internationalisation and Localisation
- Third Party APIs
- Extensions
- Miscellaneous
- Software
- Resources
- Contributing
Dependency Management
Libraries for dependency and package management.
- Composer Installers - A multi framework Composer library installer.
- Composer/Packagist - A package and dependency manager.
- Melody - A tool to build one file Composer scripts.
- Pickle - A PHP extension installer.
Dependency Management Extras
Extras related to dependency management.
- Composed - A library to parse your project's Composer environment at runtime.
- Composer Checker - A tool to validate Composer configurations.
- Composer Merge Plugin - A composer plugin to merge several composer.json files.
- Composition - A library to check your Composer environment at runtime.
- NameSpacer - A library to convert from underscores to namespaces.
- Patch Installer - A library to install patches using Composer.
- Prestissimo - A composer plugin which enables parallel install process.
- Satis - A static Composer repository generator.
- Toran Proxy - A static Composer repository and proxy.
Frameworks
Web development frameworks.
- Aura PHP - A framework of independent components.
- CakePHP - A rapid application development framework (CP).
- Laravel 5 - Another PHP framework (L5).
- Nette - Another framework comprised of individual components.
- Phalcon - A framework implemented as a C extension.
- PPI Framework 2 - An interoperability framework.
- Symfony 2 - A framework comprised of individual components (SF2).
- Yii2 - Another PHP framework.
- Zend Framework 2 - Another framework comprised of individual components (ZF2).
- Radar - An Action-Domain-Responder implementation for PHP.
- Ice - Another simple and fast PHP framework delivered as C-extension.
Framework Extras
Extras related to web development frameworks.
- CakePHP CRUD - A Rapid Application Development (RAD) plugin for CakePHP.
- Knp RAD Bundle - A Rapid Application Development (RAD) bundle for Symfony 2.
- Symfony CMF - A Content Management Framework to create custom CMS.
Components
Standalone components from web development frameworks and development groups.
- CakePHP Plugins - A directory of CakePHP plugins.
- Hoa Project - Another package of PHP components.
- League of Extraordinary Packages - A PHP package development group.
- Symfony2 Components - The components that make Symfony 2.
- Zend Framework 2 Components - The components that make Zend Framework.
Micro Frameworks
Micro frameworks and routers.
- Bullet PHP - A micro framework for building REST APIs.
- Lumen - A micro-framework by Laravel.
- Proton - A StackPHP compatible micro framework
- Silex - A micro framework built around Symfony2 components.
- Slim - Another simple micro framework.
Micro Framework Extras
Extras related to micro frameworks and routers.
- Silex Skeleton - A project skeleton for Silex.
- Silex Web Profiler - A web debug toolbar for Silex.
- Slim Skeleton - A skeleton for Slim.
- Slim View - A collection of custom views for Slim.
Routers
Libraries for handling application routing.
- Fast Route - A fast routing library.
- Klein - A flexible router.
- Pux - Another fast routing library.
- Route - A routing library built on top of Fast Route.
Templating
Libraries and tools for templating and lexing.
- Foil - Another native PHP templating library.
- Lex - A lightweight template parser.
- MtHaml - A PHP implementation of the HAML template language.
- Mustache - A PHP implementation of the Mustache template language.
- Phly Mustache - Another PHP implementation of the Mustache template language.
- PHPTAL - A PHP implementation of the TAL templating language.
- Plates - A native PHP templating library.
- Smarty - A template engine to complement PHP.
- Twig - A comprehensive templating language.
- Tale Jade - A PHP implementation of the Jade template language.
Static Site Generators
Tools for pre-processing content to generate web pages.
- Couscous - Couscous turns Markdown documentation into beautiful websites. It's GitHub Pages on steroids.
- Phrozn - Another tool that converts Textile, Markdown and Twig into HTML.
- Sculpin - A tool that converts Markdown and Twig into static HTML.
- Spress - An extensible tool that converts Markdown and Twig into HTML.
HTTP
Libraries for working with HTTP.
- Buzz - Another HTTP client.
- Guzzle - A comprehensive HTTP client.
- HTTPFul - A chainable HTTP client.
- PHP VCR - A library for recording and replaying HTTP requests.
- Requests - A simple HTTP library.
- Retrofit - A library to ease creation of REST API clients.
- zend-diactoros - PSR-7 HTTP Message implementation.
Scraping
Libraries for scraping websites.
- Embed - An information extractor from any web service or page.
- Goutte - A simple web scraper.
- PHP Spider - A configurable and extensible PHP web spider.
Middlewares
Libraries for building application using middlewares.
- Expressive - PSR-7 Middleware framework from Zend
- PSR7-Middlewares - Inspiring collection of handy middlewares.
- Relay - A PHP 5.5 PSR-7 middleware dispatcher
- Slim Middleware - A collection of custom middleware for Slim.
- Stack - A library of stackable middleware for Silex/Symfony.
- zend-stratigility - Middleware for PHP built on top of PSR-7
URL
Libraries for parsing URLs.
- PHP Domain Parser - A domain suffix parser library.
- Purl - A URL manipulation library.
- sabre/uri - A functional URI manipulation library.
- Uri - Another URL manipulation library.
Libraries for sending and parsing email.
- CssToInlineStyles - A library to inline CSS in email templates.
- Email Reply Parser - An email reply parser library.
- Email Validator - A small email address validation library.
- Fetch - An IMAP library.
- Mautic - Email marketing automation
- PHPMailer - Another mailer solution.
- Stampie - A library for email services such as SendGrid, PostMark, MailGun and Mandrill.
- SwiftMailer - A mailer solution.
Files
Libraries for file manipulation and MIME type detection.
- Apache MIME Types - A library that parses Apache MIME types.
- Canal - A library to determine internet media types.
- CSV - A CSV data manipulation library.
- Ferret - A MIME detection library.
- Flysystem - Another filesystem abstraction layer.
- Gaufrette - A filesystem abstraction layer.
- Hoa Mime - Another MIME detection library.
- Lurker - A resource tracking library.
- PHP FFmpeg - A wrapper for the FFmpeg video library.
Streams
Libraries for working with streams.
- Streamer - A simple object-orientated stream wrapper library.
Dependency Injection
Libraries that implement the dependency injection design pattern.
- Acclimate - A common interface to dependency injection containers and service locators.
- Auryn - A recursive dependency injector.
- Container - Another flexible dependency injection container.
- PHP-DI - A dependency injection container that supports autowiring.
- Pimple - A tiny dependency injection container.
- Symfony DI - A dependency injection container component (SF2).
Imagery
Libraries for manipulating images.
- Color Extractor - A library for extracting colours from images.
- GIF Creator - A library to create GIF animations from multiple images.
- GIF Frame Extractor - A library to extract GIF animation frame information.
- Glide - An on-demand image manipulation library.
- Image Hash - A library for generating perceptual image hashes.
- Image Optimizer - A library for optimizing images.
- Image With Text - A library for embedding text into images.
- Imagine - An image manipulation library.
- Intervention Image - Another image manipulation library.
- PHP Image Workshop - Another image manipulation library.
Testing
Libraries for testing codebases and generating test data.
- Alice - An expressive fixture generation library.
- AspectMock - A mocking framework for PHPUnit/Codeception.
- Atoum - A simple testing library.
- Behat - A behaviour driven development (BDD) testing framework.
- Codeception - A full stack testing framework.
- DBUnit - A database testing library for PHPUnit.
- Faker - A fake data generator library.
- HTTP Mock - A library for mocking HTTP requests in unit tests.
- Kahlan - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
- Mink - Web acceptance testing.
- Mockery - A mock object library for testing.
- ParaTest - A parallel testing library for PHPUnit.
- Peridot - An event driven test framework.
- Phake - Another mock object library for testing.
- Pho - Another behaviour driven development testing framework.
- PHPSpec - A design by specification unit testing library.
- PHPT - A test tool used by PHP itself.
- PHPUnit - A unit testing framework.
- Prophecy - A highly opinionated mocking framework.
- Samsui - Another fake data generator library.
- VFS Stream - A virtual filesystem stream wrapper for testing.
- VFS - Another virtual filesystem for testing.
Continuous Integration
Libraries and applications for continuous integration.
- GitlabCi - Let GitLab CI test, build, deploy your code. TravisCi like.
- Jenkins - A continous integration platform with PHP support.
- JoliCi - A continuous integration client written in PHP and powered by Docker.
- PHPCI - An open source continuous integration platform for PHP.
- SemaphoreCI - A continuous integration platform for open source and private projects.
- Shippable - A docker based continious integration platform for open source and private projects.
- Sismo - A continuous testing server library.
- Travis CI - A continuous integration platform.
- Wercker - A continuous integration platform
Documentation
Libraries for generating project documentation.
- APIGen - Another API documentation generator.
- daux.io - A documentation generator which uses Markdown files.
- PHP Documentor 2 - A documentation generator.
- phpDox - A documentation generator for PHP projects (that is not limited to API documentation).
- Sami - An API documentation generator.
Security
Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.
- Halite - A simple library for encryption using libsodium.
- HTML Purifier - A standards compliant HTML filter.
- IniScan - A tool that scans PHP INI files for security.
- Optimus - Id obfuscation based on Knuth's multiplicative hashing method.
- PHP Encryption - Secure PHP Encryption Library.
- PHP IDS - A structured PHP security layer.
- PHP SSH - An experimental object orientated SSH wrapper library.
- PHPSecLib - A pure PHP secure communications library.
- RandomLib - A library for generating random numbers and strings.
- SecurityMultiTool - A PHP security library.
- SensioLabs Security Check - A web tool to check your Composer dependencies for security advisories.
- TCrypto - A simple encrypted key-value storage library.
- True Random - A library that generates random numbers using www.random.org.
- VAddy - A continuous security testing platform for web applications.
- Zed - An integrated penetration testing tool for web applications.
Passwords
Libraries and tools for working with and storing passwords.
- GenPhrase - A library for generating secure random passphrases.
- Password Compat - A compatibility library for the new PHP 5.5 password functions.
- Password Policy - A password policy library for PHP and JavaScript.
- Password Validator - A library for validating and upgrading password hashes.
- Password-Generator - PHP library to generate random passwords.
- PHP Password Lib - A library for generating and validating passwords.
- phpass - A portable password hashing framework.
- Zxcvbn PHP - A realistic PHP password strength estimate library based on Zxcvbn JS.
Code Analysis
Libraries and tools for analysing, parsing and manipulating codebases.
- Athletic - An annotation based benchmark framework.
- Code Climate - An automated code review.
- Dissect - A set of tools for lexical and syntactical analysis.
- Exakat - A static analysis engine for PHP.
- GrumPHP - A composer plugin to defend code quality.
- Mondrian - A code analysis tool using Graph Theory.
- PHP Analyser - A library for analysing PHP code to find bugs and errors.
- PHP Code Sniffer - A library that detects PHP, CSS and JS coding standard violations.
- PHP CS Fixer - A coding standards fixer library.
- PHP Manipulator - A library for analysing and modifying PHP Source Code.
- PHP Mess Detector - A library that scans code for bugs, sub-optimal code, unused parameters and more.
- PHP Metrics - A static metric library.
- PHP Parser - A PHP parser written in PHP.
- PHP Refactoring Browser - A command line utility for refactoring PHP code.
- PHP Semantic Versioning Checker - A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
- phan - A static analyzer based on PHP 7+ and the php-ast extension.
- PHPCheckstyle - A tool to help adhere to certain coding conventions.
- PHPCPD - A library that detects copied and pasted code.
- PhpDependencyAnalysis - A tool to create customisable dependency graphs.
- PHPLOC - A tool for quickly measuring the size of a PHP project.
- PHPQA - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
- PHPPHP - A PHP VM implementation in PHP.
- PHPSandbox - A PHP sandbox environment.
- Qafoo Quality Analyzer - A tool to visualize metrics and source code.
- Scrutinizer - A web tool to scrutinise PHP code.
- UBench - A simple micro benchmark library.
Architectural
Libraries related to design patterns, programming approaches and ways to organize code.
- Compose - A function composition library.
- Design Patterns PHP - A repository of software patterns implemented in PHP.
- Finite - A simple PHP finite state machine.
- Functional PHP - A functional programming library.
- Galapagos - Evolutionary language transformation.
- Iter - A library that provides iteration primitives using generators.
- Monad PHP - A simple Monad library.
- Patchwork - A library for redefining userland functions.
- PHP Option - An option type library.
- Pipeline - A pipeline pattern implementation.
- Ruler - A simple stateless production rules engine.
- RulerZ - A powerful rule engine and implementation of the Specification pattern.
Debugging and Profiling
Libraries and tools for debugging and profiling code.
- APM - Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
- Barbushin PHP Console - Another web debugging console using Google Chrome.
- Blackfire.io - A low-overhead code profiler.
- Kint - A debugging and profiling tool.
- PHP Console - A web debugging console.
- PHP Debug Bar - A debugging toolbar.
- PHPBench - A benchmarking Framework.
- PHPDBG - An interactive PHP debugger.
- Tideways.io - Monitoring and profiling tool
- Tracy - A simple error detection, logging and time measuring library.
- xDebug - A debug and profile tool for PHP.
- XHProf - A profiling tool originally developed by Facebook.
- Z-Ray - A debug and profile tool for Zend Server.
Build Tools
Project build and automation tools.
- Bob - A simple project automation tool.
- Box - A utility to build PHAR files.
- Phake - A rake PHP clone library.
- Phing - A PHP project build system inspired by Apache Ant.
Task Runners
Libraries for automating and running tasks.
- Bldr - A PHP Task runner built on Symfony components.
- Jobby - A PHP cron job manager without modifying crontab.
- Robo - A PHP Task runner with object-orientated configurations.
- Task - A pure PHP task runner inspired by Grunt and Gulp.
Navigation
Tools for building navigation structures.
- Cartographer - A sitemap generation library.
- KnpMenu - A menu library.
Asset Management
Tools for managing, compressing and minifying website assets.
- Assetic - An asset manager pipeline library.
- JShrink - A JavaScript minifier library.
- Munee - An asset optimiser library.
- Pipe - Another asset manager pipeline library.
- Puli - A library for determining assets absolute paths.
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
- GeoCoder - A geocoding library.
- GeoJSON - A GeoJSON implementation.
- GeoTools - A library of geo-related tools.
- PHPGeo - A simple geo library.
Date and Time
Libraries for working with dates and times.
- CalendR - A calendar management library.
- Carbon - A simple DateTime API extension.
- Chronos - A DateTime API extension supporting both mutable and immutable date/time.
- ExpressiveDate - Another DateTime API extension.
- Moment.php - Moment.js inspired PHP DateTime handler with i18n support.
Event
Libraries that are event-driven or implement non-blocking event loops.
- Amp - An event driven non-blocking I/O library.
- Broadway - An event source and CQRS library.
- Cake Event - An event dispatcher library (CP).
- Elephant.io - Yet another web socket library.
- Evenement - An event dispatcher library.
- Event - An event library with a focus on domain events.
- Hoa EventSource - An event source library.
- Hoa WebSocket - Another web socket library.
- Icicle - An asynchronous library with coroutines, non-blocking I/O, and multithreading.
- Prooph Event Store - An event source component to persist event messages
- Ratchet - A web socket library.
- React - An event driven non-blocking I/O library.
- Rx.PHP - A reactive extension library.
- Workerman - An event driven non-blocking I/O library.
Logging
Libraries for generating and working with log files.
- Analog - A closure-based micro logging package.
- KLogger - An easy-to-use PSR-3 compliant logging class.
- Monolog - A comprehensive logger.
E-commerce
Libraries and applications for taking payments and building online e-commerce stores.
- Money - A PHP implementation of Fowler's money pattern.
- OmniPay - A framework agnostic multi-gateway payment processing library.
- Payum - A payment abstraction library.
- Shopware - Highly customizable e-commerce software
- Swap - An exchange rates library.
- Sylius - An open source e-commerce solution.
Libraries and software for working with PDF files.
- Dompdf - A HTML to PDF converter.
- PHPPdf - A library for generating PDFs and images from XML.
- Snappy - A PDF and image generation library.
- WKHTMLToPDF - A tool to convert HTML to PDF.
Office
Libraries for working with office suite documents.
- ExcelAnt - A library for manipulating Microsoft Excel documents.
- PHPExcel - A library for working with Microsoft Excel documents.
- PHPPowerPoint - A library for working with Microsoft PowerPoint Presentations.
- PHPWord - A library for working with Microsoft Word documents.
Database
Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.
- Baum - A nested set implementation for Eloquent.
- Cake ORM - Object-Relational Mapper, implemented using the DataMapper pattern (CP).
- Doctrine Extensions - A collection of Doctrine behavioural extensions.
- Doctrine - A comprehensive DBAL and ORM.
- Eloquent - A simple ORM (L5).
- LazyRecord - A fast ORM designed for simplicity, extendability and performance.
- Pomm - An Object Model Manager for PostgreSQL.
- Propel - A fast ORM, migration library and query builder.
- ProxyManager - A set of utilities to generate proxy objects for data mappers.
- RedBean - A lightweight, configuration-less ORM.
- Spot2 - A MySQL datamapper ORM.
Migrations
Libraries to help manage database schemas and migrations.
- Doctrine Migrations - A migration library for Doctrine.
- Migrations - A migration management library.
- Phinx - Another database migration library.
- PHPMig - Another migration management library.
- Ruckusing - Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite.
NoSQL
Libraries for working with "NoSQL" backends.