# Awesome PHP

A curated list of amazingly awesome PHP libraries, resources and shiny things.

## Contributing and Collaborating

Please see CONTRIBUTING, CODE-OF-CONDUCT and COLLABORATING for details.

## Table of Contents

- Awesome PHP
  - Composer Repositories
  - Dependency Management
  - Dependency Management Extras
  - Frameworks
  - Framework Extras
  - Content Management Systems
  - Components
  - Micro Frameworks
  - Micro Framework Extras
  - Routers
  - Templating
  - Static Site Generators
  - HTTP
  - Scraping
  - Middlewares
  - URL
  - Email
  - Files
  - Streams
  - Dependency Injection
  - Imagery
  - Testing
  - Continuous Integration
  - Documentation
  - Security
  - Passwords
  - Code Analysis
  - Code Quality
  - Static Analysis
  - Architectural
  - Debugging and Profiling
  - Build Tools
  - Task Runners
  - Navigation
  - Asset Management
  - Geolocation
  - Date and Time
  - Event
  - Logging
  - E-commerce
  - PDF
  - Office
  - Database
  - Migrations
  - NoSQL
  - Queue
  - Search
  - Command Line
  - Authentication and Authorization
  - Markup and CSS
  - JSON
  - Strings
  - Numbers
  - Filtering and Validation
  - API
  - Caching and Locking
  - Data Structure and Storage
  - Notifications
  - Deployment
  - Internationalisation and Localisation
  - Serverless
  - Configuration
  - Third Party APIs
  - Extensions
  - Miscellaneous
- Software
  - PHP Installation
  - Development Environment
  - Virtual Machines
  - Text Editors and IDEs
  - Web Applications
  - Infrastructure
- Resources
  - PHP Websites
  - PHP Books
  - PHP Videos
  - PHP Podcasts
  - PHP Newsletters
  - PHP Reading
  - PHP Internals Reading

### Composer Repositories

Composer Repositories.

- Firegento - Magento Module Composer Repository.
- Packagist - The PHP Package Repository.
- Private Packagist - Composer package archive as a service for PHP.
- WordPress Packagist - Manage your plugins with Composer.

### Dependency Management

Libraries for dependency and package management.

- Composer Installers - A multi framework Composer library installer.
- Composer - A package and dependency manager.
- Phive - A PHAR manager.
- 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 Merge Plugin - A composer plugin to merge several `composer.json` files.
- Composer Normalize - A plugin for normalising `composer.json` files.
- Composer Patches - A plugin for Composer to apply patches.
- Composer Require Checker - CLI tool to analyze composer dependencies and verify that no unknown symbols are used in the sources of a package.
- Composer Unused - A CLI Tool to scan for unused composer packages.
- Prestissimo - A composer plugin which enables parallel install process.
- Repman - A private PHP package repository manager and Packagist proxy.
- Satis - A static Composer repository generator.
- Tooly - A library to manage PHAR files in project using Composer.
- Toran Proxy - A static Composer repository and proxy.

### Frameworks

Web development frameworks.

- CakePHP - A rapid application development framework.
- Laminas - A framework comprised of individual components (previously Zend Framework).
- Laravel - A web application framework with expressive, elegant syntax.
- Nette - A web framework comprised of mature components.
- Phalcon - A framework implemented as a C extension.
- Spiral - A high performance PHP/Go framework.
- Symfony - A set of reuseable components and a web framework.
- Yii2 - A fast, secure, and efficient web framework.

### Framework Extras

Extras related to web development frameworks.

- CakePHP CRUD - A Rapid Application Development (RAD) plugin for CakePHP.
- Knp RAD Components - A set of Rapid Application Development (RAD) components for Symfony.
- LaravelS - Glue for using Swoole in Laravel or Lumen.
- Symfony CMF - A Content Management Framework to create custom CMS.

### Content Management Systems (CMS)

Tools for managing digital content.

- Backdrop - A CMS targeting small-to-medium sized business and non-profits (a fork of Drupal).
- Concrete5 - A CMS targeting users with a minimum of technical skills.
- CraftCMS - A flexible, user-friendly CMS for creating custom digital experiences on the web and beyond.
- Drupal - An enterprise level CMS.
- Grav - A modern flat-file CMS.
- Joomla - Another leading CMS.
- Kirby - A flat-file CMS that adapts to any project.
- Magento - The most popular ecommerce platform.
- Moodle - An open-source learning platform.
- Pico CMS - A stupidly simple, blazing fast, flat file CMS.
- Statamic - Build beautiful, easy to manage websites.
- WordPress - A blogging platform and CMS.

### Components

Standalone components from web development frameworks and development groups.

- Aura - Independent components, fully decoupled from each other and from any framework.
- CakePHP Plugins - A directory of CakePHP plugins.
- Hoa Project - Another package of PHP components.
- Laravel Components - The Laravel Framework components.
- League of Extraordinary Packages - A PHP package development group.
- Spatie Open Source - A collection of open source PHP and Laravel packages.
- Symfony Components - The components that make Symfony.
- Laminas Components - The components that make the Laminas Framework.

### Micro Frameworks

Micro frameworks and routers.

- Laravel-Zero - A micro-framework for console applications.
- Lumen - A micro-framework by Laravel.
- Mezzio - A micro-framework by Laminas.
- Radar - An Action-Domain-Responder implementation for PHP.
- Silly - A micro-framework for CLI applications.
- Slim - Another simple micro framework.

### Micro Framework Extras

Extras related to micro frameworks and routers.

- Slim Skeleton - A skeleton for Slim.
- Slim Twig View - Integrate Twig into Slim.
- Slim PHP View - A simple PHP renderer for Slim.

### Routers

Libraries for handling application routing.

- Aura.Router - A full-featured routing library.
- 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.

- MtHaml - A PHP implementation of the HAML template language.
- Mustache - A 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.

### 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.
- Jigsaw - Simple static sites with Laravel’s Blade.
- 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.
- HTTPlug - An HTTP client abstraction without binding to a specific implementation.
- Nyholm PSR-7 - A super lightweight PSR-7 implementation. Very strict and very fast.
- 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.
- Symfony HTTP Client - A component to fetch HTTP resources synchronously or asynchronously.
- Laminas Diactoros - PSR-7 HTTP Message implementation.

### Scraping

Libraries for scraping websites.

- Chrome PHP - Instrument headless Chrome/Chromium instances from PHP.
- DiDOM - A super fast HTML scrapper and parser.
- Embed - An information extractor from any web service or page.
- Goutte - A simple web scraper.
- Symfony Panther - A browser testing and web crawling library for PHP and Symfony.
- PHP Spider - A configurable and extensible PHP web spider.

### Middlewares

Libraries for building application using middlewares.

- PSR-7 Middlewares - Inspiring collection of handy middlewares.
- Relay - A PHP 5.5 PSR-7 middleware dispatcher.
- Stack - A library of stackable middleware for Symfony.
- Laminas 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.

### Email

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.
- PHP IMAP - A library to access mailboxes via POP3, IMAP and NNTP.
- Stampie - A library for email services such as SendGrid, PostMark, MailGun and Mandrill.
- SwiftMailer - A mailer solution.
- Symfony Mailer - A powerful library for creating and sending emails.

### Files

Libraries for file manipulation and MIME type detection.

- CSV - A CSV data manipulation library.
- Flysystem - Abstraction for local and remote filesystems.
- Gaufrette - A filesystem abstraction layer.
- Hoa Mime - Another MIME detection library.
- PHP FFmpeg - A wrapper for the FFmpeg video library.
- UnifiedArchive - A unified reader and writer of compressed archives.

### Streams

Libraries for working with streams.

- ByteStream - An asynchronous stream abstraction.
- Streamer - A simple object-orientated stream wrapper library.

### Dependency Injection

Libraries that implement the dependency injection design pattern.

- Aura.Di - A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more.
- Acclimate - A common interface to dependency injection containers and service locators.
- Auryn - A recursive dependency injector.
- Container - Another flexible dependency injection container.
- Disco - A PSR-11 compatible, annotation-based 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.

### Imagery

Libraries for manipulating images.

- Color Extractor - A library for extracting colours from images.
- Glide - An on-demand image manipulation library.
- Image Hash - A library for generating perceptual image hashes.
- Image Optimizer - A library for optimizing 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.
- Faker - A fake data generator library.
- HTTP Mock - A library for mocking HTTP requests in unit tests.
- Infection - An AST-based PHP Mutation testing framework.
- 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.
- Pest - A testing framework with a focus on simplicity.
- Peridot - An event driven test framework.
- Phake - Another mock object library for testing.
- Pho - Another behaviour driven development testing framework.
- PHP-Mock - A mock library for built-in PHP functions (e.g. time()).
- PHP MySQL Engine - A MySQL engine written in pure PHP.
- 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.
- VFS Stream - A virtual filesystem stream wrapper for testing.

### Continuous Integration

Libraries and applications for continuous integration.

- CircleCI - A continuous integration platform.
- GitlabCi - Let GitLab CI test, build, deploy your code. TravisCi like.
- Jenkins - A continuous 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.
- Travis CI - A continuous integration platform.
- Setup PHP - A GitHub Action for PHP.

### 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).

### Security

Libraries for generating secure random numbers, encrypting data and scanning and testing 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.
- PHPGGC - A library of PHP unserializeable payloads along with a tool to generate them.
- PHP Encryption - Secure PHP Encryption Library.
- PHP SSH - An experimental object orientated SSH wrapper library.
- PHPSecLib - A pure PHP secure communications library.
- random_compat - PHP 5.x support for `random_bytes()` and `random_int()`
- RandomLib - A library for generating random numbers and strings.
- Symfony Security Monitoring - A web tool to check your Composer dependencies for security advisories, previously known as “SensioLabs Security Check”.
- SQLMap - An automatic SQL injection and database takeover tool.
- TCrypto - A simple encrypted key-value storage library.
- VAddy - A continuous security testing platform for web applications.
- Zap - 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.

- Better Reflection - AST-based reflection library that allows analysis and manipulation of code
- Code Climate - An automated code review.
- GrumPHP - A PHP code-quality tool.
- PHP Parser - A PHP parser written in PHP.
- PHP Semantic Versioning Checker - A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
- Phpactor - PHP completion, refactoring and introspection tool.
- 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).
- Qafoo Quality Analyzer - A tool to visualize metrics and source code.
- Rector - A tool to upgrade and refactor code.
- Scrutinizer - A web tool to scrutinise PHP code.
- UBench - A simple micro benchmark library.

### Code Quality

Libraries for managing code quality, formatting and linting.

- CaptainHook - An easy-to-use and flexible Git hook library.
- PHP CodeSniffer - A library that detects PHP, CSS and JS coding standard violations.
- PHP CS Fixer - A coding standards fixer library.
- PHP Mess Detector - A library that scans code for bugs, sub-optimal code, unused parameters and more.
- PHPCheckstyle - A tool to help adhere to certain coding conventions.
- PHPCPD - A library that detects copied and pasted code.

### Static Analysis

Libraries for performing static analysis of PHP code.

- Exakat - A static analysis engine for PHP.
- Deptrac - A static code analysis tool that helps to enforce rules for dependencies between software layers.
- Mondrian - A code analysis tool using Graph Theory.
- phan - A static analyzer based on PHP 7+ and the php-ast extension.
- PHP Architecture Tester - Easy to use architecture testing tool for PHP.
- PHPCompatibility - A PHP compatibility checker for PHP CodeSniffer.
- PhpDependencyAnalysis - A tool to create customisable dependency graphs.
- PHP Metrics - A static metric library.
- PHP Migration - A static analyzer for PHP version migration.
- PHPStan - A PHP Static Analysis Tool.
- Psalm - A static analysis tool for finding errors in PHP applications.

### Architectural

Libraries related to design patterns, programming approaches and ways to organize code.

- Design Patterns PHP - A repository of software patterns implemented in PHP.
- Finite - A simple PHP finite state machine.
- Functional PHP - A functional programming library.
- Iter - A library that provides iteration primitives using generators.
- Patchwork - A library for redefining userland functions.
- Pipeline - A pipeline pattern implementation.
- Porter - Data import abstraction library for consuming Web APIs and other data sources.
- 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 errors 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.
- Metrics - A simple metrics API library.
- PCOV - A self contained code coverage compatible driver.
- PHP Console - A web debugging console.
- PHP Debug Bar - A debugging toolbar.
- PHPBench - A benchmarking Framework.
- PHPSpy - A low-overhead sampling profiler.
- Symfony VarDumper - A variable dumper component.
- Tideways.io - Monitoring and profiling tool.
- Tracy - A simple error detection, logging and time measuring library.
- Whoops - A pretty error handling 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.

- Box - A utility to build PHAR files.
- Construct - A PHP project/micro-package generator.
- Phing - A PHP project build system inspired by Apache Ant.
- RMT - A library for versioning and releasing software.

### 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.

- KnpMenu - A menu library.
- Menu - A flexible menu library with a fluent interface.

### Asset Management

Tools for managing, compressing and minifying website assets.

- JShrink - A JavaScript minifier library.
- Laravel Mix - An elegant wrapper around Webpack for the 80% use case.
- Symfony Asset - Manages URL generation and versioning of web assets.
- Symfony Encore - A simple but powerful API for processing and compiling assets built around Webpack.

### Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

- Country List - A list of all countries with names and ISO 3166-1 codes.
- 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.
- Moment.php - Moment.js inspired PHP DateTime handler with i18n support.
- Yasumi - An library to help you calculate the dates and names of holidays.

### 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. * CakePHP Event - An event dispatcher library. * 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. * Pawl - An asynchronous web socket client. * Prooph Event Store - An event source component to persist event messages * PHP Defer - Golang’s defer statement for PHP. * Ratchet - A web socket library. * ReactPHP - An event driven non-blocking I/O library. * RxPHP - A reactive extension library. * Swoole - An event-driven asynchronous and concurrent networking communication framework with high performance for PHP written in C. * Workerman - An event driven non-blocking I/O library.

### Logging

Libraries for generating and working with log files.

- 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.
- Brick - A money library for PHP, with support for contexts, cash roundings, currency conversion.
- 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.

### PDF

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.

- PHPPowerPoint - A library for working with Microsoft PowerPoint Presentations.
- PHPWord - A library for working with Microsoft Word documents.
- PHPSpreadsheet - A pure PHP library for reading and writing spreadsheet files (successor of PHPExcel).
- Spout - Read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way .

### Database

Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.

- Atlas.Orm - A data mapper implementation for your persistence model in PHP.
- Aura.Sql - Provides an extension to the native PDO along with a profiler and connection locator.
- Aura.SqlQuery - Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server.
- Baum - A nested set implementation for Eloquent.
- CakePHP ORM - Object-Relational Mapper, implemented using the DataMapper pattern.
- Cycle ORM - PHP DataMapper, ORM.
- Doctrine Extensions - A collection of Doctrine behavioural extensions.
- Doctrine - A comprehensive DBAL and ORM.
- Laravel Eloquent - A simple ORM.
- Pomm - An Object Model Manager for PostgreSQL.
- ProxyManager - A set of utilities to generate proxy objects for data mappers.
- RedBean - A lightweight, configuration-less ORM.
- Slimdump - An easy dumper tool for MySQL.
- 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.

- PHPMongo - A MongoDB ORM.
- Predis - A feature complete Redis library.

### Queue

Libraries for working with event and task queues.

- Bernard - A multibackend abstraction library.
- BunnyPHP - A performant pure-PHP AMQP (RabbitMQ) sync and also async (ReactPHP) library.
- Pheanstalk - A Beanstalkd client library.
- PHP AMQP - A pure PHP AMQP library.
- Tarantool Queue - PHP bindings for Tarantool Queue.
- Thumper - A RabbitMQ pattern library.
- Enqueue - A message queue packages for PHP that supports RabbitMQ, AMQP, STOMP, Amazon SQS, Redis and Doctrine transports.

### Search

Libraries and software for indexing and performing search queries on data.

- Elastica - A client library for ElasticSearch.
- ElasticSearch PHP - The official client library for ElasticSearch.
- Solarium - A client library for Solr.
- SphinxQL Query Builder - A query library for the Sphinx and Manticore search engines.

### Command Line

Libraries related to the command line.

- Aura.Cli - Provides the equivalent of request ( Context ) and response ( Stdio ) objects for the command line interface, including Getopt support, and an independent Help object for describing commands.
- Boris - A tiny PHP REPL.
- Cilex - A micro framework for building command line tools.
- CLI Menu - A library for building CLI menus.
- CLIFramework - A command-line framework supports zsh/bash completion generation, subcommands and option constraints. It also powers phpbrew.
- CLImate - A library for outputting colours and special formatting.
- Commando - Another simple command line opt parser.
- Cron Expression - A library to calculate cron run dates.
- GetOpt - A command line opt parser.
- GetOptionKit - Another command line opt parser.
- Hoa Console - Another command line library.
- PsySH - Another PHP REPL.
- ShellWrap - A simple command line wrapper library.

### Authentication and Authorization

Libraries for implementing user authentication and authorization.

- Aura.Auth - Provides authentication functionality and session tracking using various adapters.
- SocialConnect Auth - An open source social sign (OAuth1).
- Json Web Token - Json Tokens to authenticate and transmit information.
- OAuth 1.0 Client - An OAuth 1.0 client library.
- OAuth 2.0 Client - An OAuth 2.0 client library.
- OAuth2 Server - Another OAuth2 server implementation.
- OAuth2 Server - An OAuth2 authentication server, resource server and client library.
- Opauth - A multi-provider authentication framework.
- Paseto - Platform-Agnostic Security Tokens.
- PHP oAuthLib - Another OAuth library.
- Sentinel Social - A library for social network authentication.
- Sentinel - A framework agnostic authentication & authorisation library.
- TwitterOAuth - A Twitter OAuth library.

### Markup and CSS

*Libraries for working with markup and CSS formats.

- Cebe Markdown - An fast and extensible Markdown parser.
- CommonMark PHP - Highly-extensible Markdown parser which fully supports the CommonMark spec.
- Decoda - A lightweight markup parser library.
- Essence - A library for extracting web media.
- Embera - An Oembed consumer library.
- HTML to Markdown - Converts HTML into Markdown.
- HTML5 PHP - An HTML5 parser and serializer library.
- Parsedown - Another Markdown parser.
- PHP CSS Parser - A Parser for CSS Files written in PHP.
- PHP Markdown - A Markdown parser.
- Shiki PHP - A Shiki code highlighting package in PHP.
- VObject - A library for parsing VCard and iCalendar objects.

### JSON

Libraries for working with JSON.

- JSON Lint - A JSON lint utility.
- JSONMapper - A library for mapping JSON to PHP objects.

### Strings

Libraries for parsing and manipulating strings.

- Agent - A PHP desktop/mobile user agent parser, based on Mobiledetect.
- ANSI to HTML5 - An ANSI to HTML5 converter library.
- Color Jizz - A library for manipulating and converting colours.
- Device Detector - Another library for parsing user agent strings.
- Hoa String - Another UTF-8 string library.
- Jieba-PHP - A PHP port of Python’s jieba. Chinese text segmentation for natural language processing.
- Mobile-Detect - A lightweight PHP class for detecting mobile devices (including tablets).
- Patchwork UTF-8 - A portable library for working with UTF-8 strings.
- Portable UTF-8 - A string manipulation library with UTF-8 safe replacement methods.
- Slugify - A library to convert strings to slugs.
- SQL Formatter - A library for formatting SQL statements.
- Stringy - A string manipulation library with multibyte support.
- UA Parser - A library for parsing user agent strings.
- URLify - A PHP port of Django’s URLify.js.
- UUID - A library for generating UUIDs.

### Numbers

Libraries for working with numbers.

- Brick - A library providing large number support: `BigInteger`, `BigDecimal` and `BigRational`.
- ByteUnits - A library to parse, format and convert byte units in binary and metric systems.
- DecimalObject - A value object to handle decimals/floats easily and more precisely.
- IP - An immutable value object for working with IPv4 and IPv6 addresses.
- LibPhoneNumber for PHP - A PHP implementation of Google’s phone number handling library.
- PHP Conversion - Another library for converting between units of measure.
- PHP Units of Measure - A library for converting between units of measure.
- MathPHP - A math library for PHP.

### Filtering and Validation

Libraries for filtering and validating data.

- Assert - A validation library with a rich set of assertions. Supports assertion chaining and lazy assertions.
- Aura.Filter - Provides tools to validate and sanitize objects and arrays.
- CakePHP Validation - Another validation library.
- Filterus - A simple PHP filtering library.
- ISO-codes - A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries.
- JSON Schema - A JSON Schema validation library.
- MetaYaml - A schema validation library that supports YAML, JSON and XML.
- Respect Validation - A simple validation library.
- Upload - A library for handling file uploads and validation.
- Valitron - Another validation library.
- Volan - Another simplified validation library.

### API

Libraries and web tools for developing APIs.

- API Platform - Expose in minutes an hypermedia REST API that embraces JSON-LD, Hydra format.
- Laminas API Tool Skeleton - An API builder built with the Laminas Framework.
- Drest - A library for exposing Doctrine entities as REST resource endpoints.
- HAL - A Hypertext Application Language (HAL) builder library.
- Hateoas - A HATEOAS REST web service library.
- Negotiation - A content negotiation library.
- Restler - A lightweight framework to expose PHP methods as RESTful web API.
- wsdl2phpgenerator - A tool to generate PHP classes from SOAP WSDL files.

### Caching and Locking

Libraries for caching data and acquiring locks.

- APIx Cache - A thin PSR-6 cache wrapper to various caching backends emphasising cache tagging and indexing.
- CacheTool - A tool to clear APC/opcode caches from the command line.
- CakePHP Cache - A caching library.
- Doctrine Cache - A caching library.
- Metaphore - Cache slam defense using a semaphore to prevent dogpile effect.
- Stash - Another library for caching.
- Laminas Cache - Another caching library.
- Lock - A lock library to provide exclusive execution.

### Data Structure and Storage

Libraries that implement data structure or storage techniques.

- CakePHP Collection - A simple collections library.
- Fractal - A library for converting complex data structures to JSON output.
- Ginq - Another PHP library based on .NET’s LINQ.
- JsonMapper - A library that maps nested JSON structures onto PHP classes.
- JSON Machine - Provides iteration over huge JSONs using simple `foreach`
- Knapsack - Collection library inspired by Clojure’s sequences.
- msgpack.php - A pure PHP implementation of the MessagePack serialization format.
- PINQ - A PHP library based on .NET’s LINQ (Language Integrated Query).
- Serializer - A library for serialising and de-serialising data.
- YaLinqo - Yet Another LINQ to Objects for PHP.
- Laminas Serializer - Another library for serialising and de-serialising data.

### Notifications

Libraries for working with notification software.

- JoliNotif - A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc)
- Notification Pusher - A standalone library for device push notifications.
- Notificato - A library for handling push notifications.
- Notificator - A lightweight notification library.
- Php-pushwoosh - A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.

### Deployment

Libraries for project deployment.

- Deployer - A deployment tool.
- Envoy - A tool to run SSH tasks with PHP.
- Rocketeer - A fast and easy deployer for the PHP world.

### Internationalisation and Localisation

Libraries for Internationalization (I18n) and Localization (L10n).

- Aura.Intl - Provides internationalization (I18N) tools, specifically package-oriented per-locale message translation.
- CakePHP I18n - Message translation and localization for dates and numbers.

### Serverless

Libraries and tools to help build serverless web applications.

- Bref - Serverless PHP on AWS Lambda.
- OpenWhisk - An open-source serverless cloud platform.
- Serverless Framework - An open-source framework for building serverless applications.
- Laravel Vapor - A serverless deployment platform for Laravel, powered by AWS.

## Configuration

Libraries and tools for configuration.

- PHP Dotenv - Parse and load environment variables from `.env` files.
- Symfony Dotenv- Parse and load environment variables from `.env` files.
- Yo! Symfony TOML - A PHP parser for TOML.

### Third Party APIs

Libraries for accessing third party APIs.

- Amazon Web Service SDK - The official PHP AWS SDK library.
- AsyncAWS - An unofficial asynchronous PHP AWS SDK.
- Campaign Monitor - The official Campaign Monitor PHP library.
- Github - A library to interface with the Github API.
- Mailgun The official Mailgun PHP API.
- Square - The official Square PHP SDK for payments and other Square APIs.
- Stripe - The official Stripe PHP library.
- Twilio - The official Twilio PHP REST API.

### Extensions

Libraries to help build PHP extensions.

- PHP CPP - A C++ library for developing PHP extensions.
- Zephir - A compiled language between PHP and C++ for developing PHP extensions.

### Miscellaneous

Useful libraries or utilities that don’t fit into the categories above.

- Annotations - An annotation library (part of Doctrine).
- BotMan - A framework agnostic PHP library to build cross-platform chat bots.
- ClassPreloader - A library for optimising autoloading.
- Hprose-PHP - A cross-language RPC.
- noCAPTCHA - Helper for Google’s noCAPTCHA (reCAPTCHA).
- Pagerfanta - A pagination library.
- Safe - All PHP functions, rewritten to throw exceptions instead of returning false.
- SuperClosure - A library that allows Closures to be serialized.

# Software

Software for creating a development environment.

### PHP Installation

Tools to help install and manage PHP on your computer.

- Brew PHP Switcher - Brew PHP switcher.
- HomeBrew - A package manager for OSX.
- Laravel Valet - A development environment for macOS.
- PHP Brew - A PHP version manager and installer.
- PHP Build - Another PHP version installer.
- PHP OSX - A PHP installer for OSX.

### Development Environment

Software and tools for creating and sharing a development environment.

- Ansible - A radically simple orchestration framework.
- Docker - A containerization platform.
- Docker PHP Extension Installer - Easily install PHP extensions in Docker containers.
- Expose - An open source PHP tunneling service.
- Lando - Push-button development environments.
- Laravel Homestead - A local development environment for Laravel.
- Laradock - A full PHP development environment based on Docker.
- Puppet - A server automation framework and application.
- Takeout - A Docker-based development-only dependency manager.
- Vagrant - A portable development environment utility.

### Virtual Machines

Alternative PHP virtual machines.

- Hack - A programming language for HHVM.
- HHVM - A Virtual Machine, Runtime and JIT for PHP by Facebook.
- PeachPie - PHP compiler and runtime for .NET and .NET Core.

### Text Editors and IDEs

Text Editors and Integrated Development Environments (IDE) with support for PHP.

- Eclipse for PHP Developers - A PHP IDE based on the Eclipse platform.
- Apache NetBeans - An IDE with support for PHP and HTML5.
- PhpStorm - A commercial PHP IDE.
- VS Code - An open source code editor.

### Web Applications

Web-based applications and tools.

- 3V4L - An online PHP & HHVM shell.
- Adminer - Database management in a single PHP file.
- Cachet - The open source status page system.
- DBV - A database version control application.
- Lychee - An easy to use and great looking photo-management-system.
- MailCatcher - A web tool for capturing and viewing emails.
- phpMyAdmin - A web interface for MySQL/MariaDB.
- PHP Queue - An application for managing queueing backends.
- phpRedisAdmin - A simple web interface to manage Redis databases.
- PHPSandbox - An online IDE for PHP in the browser.

### Infrastructure

Infrastructure for providing PHP applications and services.

- appserver.io - A multithreaded application server for PHP, written in PHP.
- php-pm - A process manager, supercharger and load balancer for PHP applications.
- RoadRunner - High-performance PHP application server, load-balancer and process manager.

# Resources

Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge.

### PHP Websites

Useful PHP-related websites.

- libs.garden: PHP - An overview of fastest growing PHP libraries.
- Nomad PHP - A online PHP learning resource.
- Laravel News - The official Laravel blog.
- PHP Annotated Monthly - A monthly digest of PHP news.
- PHP Best Practices - A PHP best practice guide.
- PHP FIG - The PHP Framework Interoperability Group.
- PHP Package Development Standards - Package development standards for PHP.
- PHP School - Open Source Learning for PHP.
- PHP Security - A guide to PHP security.
- PHP The Right Way - A PHP best practice quick reference guide.
- PHP UG - A website to help people locate their nearest PHP user group (UG).
- PHP Versions - Lists which versions of PHP are available on several popular web hosts.
- PHP Watch - PHP articles, news, upcoming changes, RFCs and more.
- PHP Weekly - A weekly PHP newsletter.
- Securing PHP - A newsletter about PHP security and library recommendations.
- Seven PHP - A website that interviews members of the PHP community.

### PHP Books

Fantastic PHP-related books.

- Domain-Driven Design in PHP - Real examples written in PHP showcasing DDD Architectural Styles.
- Functional Programming in PHP - This book will show you how to leverage these new PHP5.3+ features by understanding functional programming principles
- Grumpy PHPUnit - A book about unit testing with PHPUnit by Chris Hartjes.
- Mastering Object-Orientated PHP - A book about object-orientated PHP by Brandon Savage.
- Modern PHP New Features and Good Practices - A book about new PHP features and best practices by Josh Lockhart.
- Modernizing Legacy Applications in PHP - A book about modernizing legacy PHP applications by Paul M. Jones.
- PHP 7 Upgrade Guide - An ebook covering all of the features and changes in PHP 7 by Colin O’Dell.
- PHP Pandas - A book about learning to write PHP by Dayle Rees.
- Scaling PHP Applications - An ebook about scaling PHP applications by Steve Corona.
- Securing PHP: Core Concepts - A book about common security terms and practices for PHP by Chris Cornutt.
- Signaling PHP - A book about catching PCNTL signals in CLI scripts by Cal Evans.
- The Grumpy Programmer’s Guide to Building Testable PHP Applications - A book about building testing PHP applications by Chris Hartjes.
- XML Parsing with PHP - This book covers parsing and validating XML documents, leveraging XPath expressions, and working with namespaces as well as how to create and modify XML files programmatically.

### PHP Videos

Fantastic PHP-related videos.

- Nomad PHP Lightning Talks - 10 to 15 minute Lightning Talks by PHP community members.
- PHP UK Conference - A collection of videos from the PHP UK Conference.
- Programming with Anthony - A video series by Anthony Ferrara.
- Taking PHP Seriously - A talk outlining PHP’s strengths by Keith Adams of Facebook.
- Laracasts - Screencasts about Laravel, Vue JS and more.
- Laravel YouTube Channel - The official Laravel YouTube channel.
- SymfonyCasts - Screencasts and tutorials about PHP and Symfony.

### PHP Podcasts

Podcasts with a focus on PHP topics.

- Laravel Podcast - Laravel and PHP development news and discussion.
- PHP Internals News - A podcast about PHP internals.
- PHP Roundtable - The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about.
- PHP Town Hall - A casual PHP podcast by Ben Edmunds and Phil Sturgeon.
- Voices of the ElePHPant Interviews with the people that make the PHP community special.

### PHP Newsletters

PHP-related news directly to your inbox.

- PHP Weekly - A weekly newsletter about PHP.

### PHP Reading

PHP-releated reading materials.

- php[architect] - A monthly magazine dedicated to PHP.

### PHP Internals Reading

Reading materials related to the PHP internals or performance.

- PHP RFCs - The home of PHP RFCs (Request for Comments).
- Externals - PHP internal discussions.
- PHP RFC Watch - Watch the latest PHP RFCs.
- PHP Internals Book - An online book about PHP internals, written by three core developers.