Merge branch 'master' into patch-1

This commit is contained in:
Eugene Leonovich 2018-05-03 16:01:00 +02:00 committed by GitHub
commit 8c29c561ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 146 additions and 203 deletions

View File

@ -1,16 +1,16 @@
# Contribution Guidelines # Contribution Guidelines
Unfortunately, not every library, tool or framework can be considered for inclusion. The aim of Awesome PHP is to be a concise list of noteworthy and interesting software written in modern PHP. Therefore, suggested software should: Unfortunately, not every library, tool or framework can be considered for inclusion. The aim of Awesome PHP is to be a concise list of noteworthy and interesting software written in modern PHP. Therefore, suggested software should:
1. Be widely recommended regardless of personal opinion 1. Be widely recommended regardless of personal opinion
2. Well known or discussed within the PHP community 2. Well known or discussed within the PHP community
3. Be unique in its approach or function 3. Be unique in its approach or function
4. Fill a niche gap in the market 4. Fill a niche gap in the market
Self-promotion is frowned upon, so please consider seriously whether your project meets the criteria before opening a pull request, otherwise it may be closed without being reviewed. Self-promotion is frowned upon, so please consider seriously whether your project meets the criteria before opening a pull request, otherwise it may be closed without being reviewed.
Also, please ensure your pull request adheres to the following guidelines: Also, please ensure your pull request adheres to the following guidelines:
* Software that is PHP 5.5+, Composer-installable, PSR compliant, semantically versioned, united tested and well documented in English is preferred. * Software that is PHP 7.0+, Composer-installable, PSR compliant, semantically versioned, unit tested, actively maintained and well documented in English is preferred.
* Please search previous suggestions before making a new one, as yours may be a duplicate. * Please search previous suggestions before making a new one, as yours may be a duplicate.
* Enter a meaningful pull request description. * Enter a meaningful pull request description.
* Please make an individual commit for each suggestion in a separate pull request. * Please make an individual commit for each suggestion in a separate pull request.
@ -18,7 +18,7 @@ Also, please ensure your pull request adheres to the following guidelines:
* Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION. * Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION.
* Prefix duplicate library names with their vendor or namespace followed by a space: Foo\Bar would be Foo Bar. * Prefix duplicate library names with their vendor or namespace followed by a space: Foo\Bar would be Foo Bar.
* New categories, or improvements to the existing categorisation, are always welcome. * New categories, or improvements to the existing categorisation, are always welcome.
* Please keep descriptions short, simple and unbiased. No buzzwords or marketing jargon. * Please keep descriptions short, simple and unbiased. No buzzwords or marketing jargon.
* End all descriptions with a full stop/period. * End all descriptions with a full stop/period.
* Check your spelling and grammar. * Check your spelling and grammar.
* Make sure your text editor is set to remove trailing whitespace. * Make sure your text editor is set to remove trailing whitespace.

341
README.md
View File

@ -2,8 +2,8 @@
A curated list of amazingly awesome PHP libraries, resources and shiny things. A curated list of amazingly awesome PHP libraries, resources and shiny things.
## Contributing ## Contributing and Collaborating
Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md) and [CODE-OF-CONDUCT](https://github.com/ziadoz/awesome-php/blob/master/CODE-OF-CONDUCT.md) for details. Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md), [CODE-OF-CONDUCT](https://github.com/ziadoz/awesome-php/blob/master/CODE-OF-CONDUCT.md) and [COLLABORATING](https://github.com/ziadoz/awesome-php/blob/master/COLLABORATING.md) for details.
## Table of Contents ## Table of Contents
- [Awesome PHP](#awesome-php) - [Awesome PHP](#awesome-php)
@ -32,6 +32,8 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
- [Security](#security) - [Security](#security)
- [Passwords](#passwords) - [Passwords](#passwords)
- [Code Analysis](#code-analysis) - [Code Analysis](#code-analysis)
- [Code Quality](#code-quality)
- [Static Analysis](#static-analysis)
- [Architectural](#architectural) - [Architectural](#architectural)
- [Debugging and Profiling](#debugging-and-profiling) - [Debugging and Profiling](#debugging-and-profiling)
- [Build Tools](#build-tools) - [Build Tools](#build-tools)
@ -69,7 +71,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
- [PHP Installation](#php-installation) - [PHP Installation](#php-installation)
- [Development Environment](#development-environment) - [Development Environment](#development-environment)
- [Virtual Machines](#virtual-machines) - [Virtual Machines](#virtual-machines)
- [Integrated Development Environment](#integrated-development-environment) - [Text Editors and IDEs](#text-editors-and-ides)
- [Web Applications](#web-applications) - [Web Applications](#web-applications)
- [Infrastructure](#infrastructure) - [Infrastructure](#infrastructure)
- [Resources](#resources) - [Resources](#resources)
@ -82,17 +84,16 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
- [PHP Internals Reading](#php-internals-reading) - [PHP Internals Reading](#php-internals-reading)
- [Contributing](#contributing) - [Contributing](#contributing)
## Composer Repositories ### Composer Repositories
*Composer Repositories.* *Composer Repositories.*
* [Firegento](http://packages.firegento.com/) - Magento Module Composer Repository. * [Firegento](http://packages.firegento.com/) - Magento Module Composer Repository.
* [Packagist](https://packagist.org/) - The PHP Package Repository. * [Packagist](https://packagist.org/) - The PHP Package Repository.
* [PaketHub](https://pakethub.com/) - All-in-One PHP Package Repository.
* [Private Packagist](https://packagist.com/) - Composer package archive as a service for PHP. * [Private Packagist](https://packagist.com/) - Composer package archive as a service for PHP.
* [WordPress Packagist](https://wpackagist.org/) - Manage your plugins with Composer. * [WordPress Packagist](https://wpackagist.org/) - Manage your plugins with Composer.
* [Zend Framework Packages](https://packages.zendframework.com/) - Zend Framework Composer Repository. * [Zend Framework Packages](https://packages.zendframework.com/) - Zend Framework Composer Repository.
## Dependency Management ### Dependency Management
*Libraries for dependency and package management.* *Libraries for dependency and package management.*
* [Composer Installers](https://github.com/composer/installers) - A multi framework Composer library installer. * [Composer Installers](https://github.com/composer/installers) - A multi framework Composer library installer.
@ -100,21 +101,17 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Melody](http://melody.sensiolabs.org/) - A tool to build one file Composer scripts. * [Melody](http://melody.sensiolabs.org/) - A tool to build one file Composer scripts.
* [Pickle](https://github.com/FriendsOfPHP/pickle) - A PHP extension installer. * [Pickle](https://github.com/FriendsOfPHP/pickle) - A PHP extension installer.
## Dependency Management Extras ### Dependency Management Extras
*Extras related to dependency management.* *Extras related to dependency management.*
* [Composed](https://github.com/joshdifabio/composed) - A library to parse your project's Composer environment at runtime. * [Composed](https://github.com/joshdifabio/composed) - A library to parse your project's Composer environment at runtime.
* [Composer Checker](https://github.com/silpion/composer-checker) - A tool to validate Composer configurations.
* [Composer Merge Plugin](https://github.com/wikimedia/composer-merge-plugin) - A composer plugin to merge several composer.json files. * [Composer Merge Plugin](https://github.com/wikimedia/composer-merge-plugin) - A composer plugin to merge several composer.json files.
* [Composition](https://github.com/bamarni/composition) - A library to check your Composer environment at runtime.
* [NameSpacer](https://github.com/ralphschindler/Namespacer) - A library to convert from underscores to namespaces.
* [Patch Installer](https://github.com/goatherd/patch-installer) - A library to install patches using Composer.
* [Prestissimo](https://github.com/hirak/prestissimo) - A composer plugin which enables parallel install process. * [Prestissimo](https://github.com/hirak/prestissimo) - A composer plugin which enables parallel install process.
* [Satis](https://github.com/composer/satis) - A static Composer repository generator. * [Satis](https://github.com/composer/satis) - A static Composer repository generator.
* [tooly](https://github.com/tommy-muehle/tooly-composer-script) - A library to manage PHAR files in project using Composer. * [tooly](https://github.com/tommy-muehle/tooly-composer-script) - A library to manage PHAR files in project using Composer.
* [Toran Proxy](https://toranproxy.com) - A static Composer repository and proxy. * [Toran Proxy](https://toranproxy.com) - A static Composer repository and proxy.
## Frameworks ### Frameworks
*Web development frameworks.* *Web development frameworks.*
* [Aura Framework](http://auraphp.com/framework/) - A framework built from independent components. * [Aura Framework](http://auraphp.com/framework/) - A framework built from independent components.
@ -122,20 +119,20 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Laravel 5](https://laravel.com/) - Another PHP framework (L5). * [Laravel 5](https://laravel.com/) - Another PHP framework (L5).
* [Nette](https://nette.org) - Another framework comprised of individual components. * [Nette](https://nette.org) - Another framework comprised of individual components.
* [Phalcon](https://phalconphp.com/en/) - A framework implemented as a C extension. * [Phalcon](https://phalconphp.com/en/) - A framework implemented as a C extension.
* [PPI Framework 2](http://www.ppi.io) - An interoperability framework. * [PPI Framework 2](https://github.com/ppi) - An interoperability framework.
* [Symfony](https://symfony.com/) - A framework comprised of individual components (SF). * [Symfony](https://symfony.com/) - A framework comprised of individual components (SF).
* [Yii2](https://github.com/yiisoft/yii2/) - Another PHP framework. * [Yii2](https://github.com/yiisoft/yii2/) - Another PHP framework.
* [Zend Framework 2](https://framework.zend.com) - Another framework comprised of individual components (ZF2). * [Zend Framework 2](https://framework.zend.com) - Another framework comprised of individual components (ZF2).
* [Ice](https://www.iceframework.org/) - Another simple and fast PHP framework delivered as C-extension. * [Ice](https://www.iceframework.org/) - Another simple and fast PHP framework delivered as C-extension.
## Framework Extras ### Framework Extras
*Extras related to web development frameworks.* *Extras related to web development frameworks.*
* [CakePHP CRUD](https://github.com/friendsofcake/crud) - A Rapid Application Development (RAD) plugin for CakePHP. * [CakePHP CRUD](https://github.com/friendsofcake/crud) - A Rapid Application Development (RAD) plugin for CakePHP.
* [Knp RAD Components](http://rad.knplabs.com/) - A set of Rapid Application Development (RAD) components for Symfony. * [Knp RAD Components](http://rad.knplabs.com/) - A set of Rapid Application Development (RAD) components for Symfony.
* [Symfony CMF](https://github.com/symfony-cmf/symfony-cmf) - A Content Management Framework to create custom CMS. * [Symfony CMF](https://github.com/symfony-cmf/symfony-cmf) - A Content Management Framework to create custom CMS.
## Components ### Components
*Standalone components from web development frameworks and development groups.* *Standalone components from web development frameworks and development groups.*
* [Aura](http://auraphp.com/) - Independent components, fully decoupled from each other and from any framework. * [Aura](http://auraphp.com/) - Independent components, fully decoupled from each other and from any framework.
@ -145,25 +142,24 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Symfony Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony. * [Symfony Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony.
* [Zend Framework 2 Components](https://docs.zendframework.com/) - The components that make Zend Framework. * [Zend Framework 2 Components](https://docs.zendframework.com/) - The components that make Zend Framework.
## Micro Frameworks ### Micro Frameworks
*Micro frameworks and routers.* *Micro frameworks and routers.*
* [Bullet PHP](http://bulletphp.com/) - A micro framework for building REST APIs. * [Bullet PHP](http://bulletphp.com/) - A micro framework for building REST APIs.
* [Lumen](https://lumen.laravel.com) - A micro-framework by Laravel. * [Lumen](https://lumen.laravel.com) - A micro-framework by Laravel.
* [Proton](https://github.com/alexbilbie/Proton) - A StackPHP compatible micro framework.
* [Radar](https://github.com/radarphp/Radar.Adr) - An Action-Domain-Responder implementation for PHP. * [Radar](https://github.com/radarphp/Radar.Adr) - An Action-Domain-Responder implementation for PHP.
* [Silex](https://silex.sensiolabs.org/) - A micro framework built around Symfony components.
* [Slim](https://www.slimframework.com/) - Another simple micro framework. * [Slim](https://www.slimframework.com/) - Another simple micro framework.
## Micro Framework Extras ### Micro Framework Extras
*Extras related to micro frameworks and routers.* *Extras related to micro frameworks and routers.*
* [Silex Skeleton](https://github.com/silexphp/Silex-Skeleton) - A project skeleton for Silex. * [Silex Skeleton](https://github.com/silexphp/Silex-Skeleton) - A project skeleton for Silex.
* [Silex Web Profiler](https://github.com/silexphp/Silex-WebProfiler) - A web debug toolbar for Silex. * [Silex Web Profiler](https://github.com/silexphp/Silex-WebProfiler) - A web debug toolbar for Silex.
* [Slim Skeleton](https://github.com/slimphp/Slim-Skeleton) - A skeleton for Slim. * [Slim Skeleton](https://github.com/slimphp/Slim-Skeleton) - A skeleton for Slim.
* [Slim View](https://github.com/slimphp/Slim-Views) - A collection of custom views for Slim. * [Slim Twig View](https://github.com/slimphp/Slim-Views) - Integrate Twig into Slim.
* [Slim PHP View](https://github.com/slimphp/PHP-View) - A simple PHP renderer for Slim.
## Routers ### Routers
*Libraries for handling application routing.* *Libraries for handling application routing.*
* [Aura.Router](https://github.com/auraphp/Aura.Router) - A full-featured routing library. * [Aura.Router](https://github.com/auraphp/Aura.Router) - A full-featured routing library.
@ -172,48 +168,46 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Pux](https://github.com/c9s/Pux) - Another fast routing library. * [Pux](https://github.com/c9s/Pux) - Another fast routing library.
* [Route](https://github.com/thephpleague/route) - A routing library built on top of Fast Route. * [Route](https://github.com/thephpleague/route) - A routing library built on top of Fast Route.
## Templating ### Templating
*Libraries and tools for templating and lexing.* *Libraries and tools for templating and lexing.*
* [Aura.View](https://github.com/auraphp/Aura.View) - Provides TemplateView and TwoStepView using PHP as the tempting language, with support for partials, sections, and helpers. * [Aura.View](https://github.com/auraphp/Aura.View) - Provides TemplateView and TwoStepView using PHP as the tempting language, with support for partials, sections, and helpers.
* [Foil](https://github.com/FoilPHP/Foil) - Another native PHP templating library. * [Foil](https://github.com/FoilPHP/Foil) - Another native PHP templating library.
* [Lex](https://github.com/pyrocms/lex) - A lightweight template parser.
* [MtHaml](https://github.com/arnaud-lb/MtHaml) - A PHP implementation of the HAML template language. * [MtHaml](https://github.com/arnaud-lb/MtHaml) - A PHP implementation of the HAML template language.
* [Mustache](https://github.com/bobthecow/mustache.php) - A PHP implementation of the Mustache template language. * [Mustache](https://github.com/bobthecow/mustache.php) - A PHP implementation of the Mustache template language.
* [Phly Mustache](https://github.com/phly/phly_mustache) - Another PHP implementation of the Mustache template language.
* [PHPTAL](http://phptal.org/) - A PHP implementation of the [TAL](https://en.wikipedia.org/wiki/Template_Attribute_Language) templating language. * [PHPTAL](http://phptal.org/) - A PHP implementation of the [TAL](https://en.wikipedia.org/wiki/Template_Attribute_Language) templating language.
* [Plates](http://platesphp.com/) - A native PHP templating library. * [Plates](http://platesphp.com/) - A native PHP templating library.
* [Smarty](http://www.smarty.net/) - A template engine to complement PHP. * [Smarty](https://www.smarty.net/) - A template engine to complement PHP.
* [Twig](https://twig.sensiolabs.org/) - A comprehensive templating language. * [Twig](https://twig.symfony.com/) - A comprehensive templating language.
* [Tale Jade](https://github.com/Talesoft/tale-jade) - A PHP implementation of the Jade template language. * [Tale Jade](https://github.com/Talesoft/tale-jade) - A PHP implementation of the Jade template language.
## Static Site Generators ### Static Site Generators
*Tools for pre-processing content to generate web pages.* *Tools for pre-processing content to generate web pages.*
* [Couscous](http://couscous.io) - Couscous turns Markdown documentation into beautiful websites. It's GitHub Pages on steroids. * [Couscous](http://couscous.io) - Couscous turns Markdown documentation into beautiful websites. It's GitHub Pages on steroids.
* [Phrozn](https://github.com/Pawka/phrozn) - Another tool that converts Textile, Markdown and Twig into HTML.
* [Sculpin](https://sculpin.io) - A tool that converts Markdown and Twig into static HTML. * [Sculpin](https://sculpin.io) - A tool that converts Markdown and Twig into static HTML.
* [Spress](http://spress.yosymfony.com) - An extensible tool that converts Markdown and Twig into HTML. * [Spress](http://spress.yosymfony.com) - An extensible tool that converts Markdown and Twig into HTML.
## HTTP ### HTTP
*Libraries for working with HTTP.* *Libraries for working with HTTP.*
* [Buzz](https://github.com/kriswallsmith/Buzz) - Another HTTP client. * [Buzz](https://github.com/kriswallsmith/Buzz) - Another HTTP client.
* [Guzzle]( https://github.com/guzzle/guzzle) - A comprehensive HTTP client. * [Guzzle]( https://github.com/guzzle/guzzle) - A comprehensive HTTP client.
* [HTTPFul](https://github.com/nategood/httpful) - A chainable HTTP client. * [HTTPFul](https://github.com/nategood/httpful) - A chainable HTTP client.
* [HTTPlug](http://httplug.io) - An HTTP client abstraction without binding to a specific implementation.
* [PHP VCR](http://php-vcr.github.io/) - A library for recording and replaying HTTP requests. * [PHP VCR](http://php-vcr.github.io/) - A library for recording and replaying HTTP requests.
* [Requests](https://github.com/rmccue/Requests) - A simple HTTP library. * [Requests](https://github.com/rmccue/Requests) - A simple HTTP library.
* [Retrofit](https://github.com/tebru/retrofit-php) - A library to ease creation of REST API clients. * [Retrofit](https://github.com/tebru/retrofit-php) - A library to ease creation of REST API clients.
* [zend-diactoros](https://github.com/zendframework/zend-diactoros) - PSR-7 HTTP Message implementation. * [zend-diactoros](https://github.com/zendframework/zend-diactoros) - PSR-7 HTTP Message implementation.
## Scraping ### Scraping
*Libraries for scraping websites.* *Libraries for scraping websites.*
* [Embed](https://github.com/oscarotero/Embed) - An information extractor from any web service or page. * [Embed](https://github.com/oscarotero/Embed) - An information extractor from any web service or page.
* [Goutte](https://github.com/FriendsOfPHP/Goutte) - A simple web scraper. * [Goutte](https://github.com/FriendsOfPHP/Goutte) - A simple web scraper.
* [PHP Spider](https://github.com/mvdbos/php-spider) - A configurable and extensible PHP web spider. * [PHP Spider](https://github.com/mvdbos/php-spider) - A configurable and extensible PHP web spider.
## Middlewares ### Middlewares
*Libraries for building application using middlewares.* *Libraries for building application using middlewares.*
* [Expressive](https://zendframework.github.io/zend-expressive/) - PSR-7 Middleware framework from Zend. * [Expressive](https://zendframework.github.io/zend-expressive/) - PSR-7 Middleware framework from Zend.
@ -222,15 +216,15 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Stack](https://github.com/stackphp) - A library of stackable middleware for Silex/Symfony. * [Stack](https://github.com/stackphp) - A library of stackable middleware for Silex/Symfony.
* [zend-stratigility](https://github.com/zendframework/zend-stratigility) - Middleware for PHP built on top of PSR-7. * [zend-stratigility](https://github.com/zendframework/zend-stratigility) - Middleware for PHP built on top of PSR-7.
## URL ### URL
*Libraries for parsing URLs.* *Libraries for parsing URLs.*
* [PHP Domain Parser](https://github.com/jeremykendall/php-domain-parser) - A domain suffix parser library. * [PHP Domain Parser](https://github.com/jeremykendall/php-domain-parser) - A domain suffix parser library.
* [Purl](https://github.com/jwage/purl) - A URL manipulation library. * [Purl](https://github.com/jwage/purl) - A URL manipulation library.
* [sabre/uri](https://github.com/fruux/sabre-uri) - A functional URI manipulation library. * [sabre/uri](https://github.com/sabre-io/uri) - A functional URI manipulation library.
* [Uri](https://github.com/thephpleague/uri) - Another URL manipulation library. * [Uri](https://github.com/thephpleague/uri) - Another URL manipulation library.
## Email ### Email
*Libraries for sending and parsing email.* *Libraries for sending and parsing email.*
* [CssToInlineStyles](https://github.com/tijsverkoyen/CssToInlineStyles) - A library to inline CSS in email templates. * [CssToInlineStyles](https://github.com/tijsverkoyen/CssToInlineStyles) - A library to inline CSS in email templates.
@ -240,28 +234,24 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Mautic](https://github.com/mautic/mautic) - Email marketing automation * [Mautic](https://github.com/mautic/mautic) - Email marketing automation
* [PHPMailer](https://github.com/PHPMailer/PHPMailer) - Another mailer solution. * [PHPMailer](https://github.com/PHPMailer/PHPMailer) - Another mailer solution.
* [Stampie](https://github.com/Stampie/Stampie) - A library for email services such as [SendGrid](https://sendgrid.com/), [PostMark](https://postmarkapp.com), [MailGun](https://www.mailgun.com/) and [Mandrill](http://www.mandrill.com). * [Stampie](https://github.com/Stampie/Stampie) - A library for email services such as [SendGrid](https://sendgrid.com/), [PostMark](https://postmarkapp.com), [MailGun](https://www.mailgun.com/) and [Mandrill](http://www.mandrill.com).
* [SwiftMailer](http://swiftmailer.org/) - A mailer solution. * [SwiftMailer](https://swiftmailer.symfony.com) - A mailer solution.
## Files ### Files
*Libraries for file manipulation and MIME type detection.* *Libraries for file manipulation and MIME type detection.*
* [Apache MIME Types](https://github.com/dflydev/dflydev-apache-mime-types) - A library that parses Apache MIME types.
* [Canal](https://github.com/dflydev/dflydev-canal) - A library to determine internet media types.
* [CSV](https://github.com/thephpleague/csv) - A CSV data manipulation library. * [CSV](https://github.com/thephpleague/csv) - A CSV data manipulation library.
* [Ferret](https://github.com/versionable/Ferret) - A MIME detection library.
* [Flysystem](https://github.com/thephpleague/Flysystem) - Another filesystem abstraction layer. * [Flysystem](https://github.com/thephpleague/Flysystem) - Another filesystem abstraction layer.
* [Gaufrette](https://github.com/KnpLabs/Gaufrette) - A filesystem abstraction layer. * [Gaufrette](https://github.com/KnpLabs/Gaufrette) - A filesystem abstraction layer.
* [Hoa Mime](https://github.com/hoaproject/Mime) - Another MIME detection library. * [Hoa Mime](https://github.com/hoaproject/Mime) - Another MIME detection library.
* [Lurker](https://github.com/henrikbjorn/Lurker) - A resource tracking library.
* [PHP FFmpeg](https://github.com/PHP-FFmpeg/PHP-FFmpeg/) - A wrapper for the [FFmpeg](http://www.ffmpeg.org/) video library. * [PHP FFmpeg](https://github.com/PHP-FFmpeg/PHP-FFmpeg/) - A wrapper for the [FFmpeg](http://www.ffmpeg.org/) video library.
* [UnifiedArchive](https://github.com/wapmorgan/UnifiedArchive) - A unified reader and writer of compressed archives. * [UnifiedArchive](https://github.com/wapmorgan/UnifiedArchive) - A unified reader and writer of compressed archives.
## Streams ### Streams
*Libraries for working with streams.* *Libraries for working with streams.*
* [Streamer](https://github.com/fzaninotto/Streamer) - A simple object-orientated stream wrapper library. * [Streamer](https://github.com/fzaninotto/Streamer) - A simple object-orientated stream wrapper library.
## Dependency Injection ### Dependency Injection
*Libraries that implement the dependency injection design pattern.* *Libraries that implement the dependency injection design pattern.*
* [Aura.Di](https://github.com/auraphp/Aura.Di) - A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more. * [Aura.Di](https://github.com/auraphp/Aura.Di) - A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more.
@ -270,24 +260,21 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Container](https://github.com/thephpleague/container) - Another flexible dependency injection container. * [Container](https://github.com/thephpleague/container) - Another flexible dependency injection container.
* [Disco](https://github.com/bitExpert/disco) - A PSR-11 compatible, annotation-based dependency injection container. * [Disco](https://github.com/bitExpert/disco) - A PSR-11 compatible, annotation-based dependency injection container.
* [PHP-DI](http://php-di.org/) - A dependency injection container that supports autowiring. * [PHP-DI](http://php-di.org/) - A dependency injection container that supports autowiring.
* [Pimple](https://pimple.sensiolabs.org/) - A tiny dependency injection container. * [Pimple](https://pimple.symfony.com/) - A tiny dependency injection container.
* [Symfony DI](https://github.com/symfony/dependency-injection) - A dependency injection container component (SF). * [Symfony DI](https://github.com/symfony/dependency-injection) - A dependency injection container component (SF).
## Imagery ### Imagery
*Libraries for manipulating images.* *Libraries for manipulating images.*
* [Color Extractor](https://github.com/thephpleague/color-extractor) - A library for extracting colours from images. * [Color Extractor](https://github.com/thephpleague/color-extractor) - A library for extracting colours from images.
* [GIF Creator](https://github.com/Sybio/GifCreator) - A library to create GIF animations from multiple images.
* [GIF Frame Extractor](https://github.com/Sybio/GifFrameExtractor) - A library to extract GIF animation frame information.
* [Glide](https://github.com/thephpleague/glide) - An on-demand image manipulation library. * [Glide](https://github.com/thephpleague/glide) - An on-demand image manipulation library.
* [Image Hash](https://github.com/jenssegers/imagehash) - A library for generating perceptual image hashes. * [Image Hash](https://github.com/jenssegers/imagehash) - A library for generating perceptual image hashes.
* [Image Optimizer](https://github.com/psliwa/image-optimizer) - A library for optimizing images. * [Image Optimizer](https://github.com/psliwa/image-optimizer) - A library for optimizing images.
* [Image With Text](https://github.com/nmcteam/image-with-text) - A library for embedding text into images.
* [Imagine](http://imagine.readthedocs.io/en/latest/index.html) - An image manipulation library. * [Imagine](http://imagine.readthedocs.io/en/latest/index.html) - An image manipulation library.
* [Intervention Image](https://github.com/Intervention/image) - Another image manipulation library. * [Intervention Image](https://github.com/Intervention/image) - Another image manipulation library.
* [PHP Image Workshop](https://github.com/Sybio/ImageWorkshop) - Another image manipulation library. * [PHP Image Workshop](https://github.com/Sybio/ImageWorkshop) - Another image manipulation library.
## Testing ### Testing
*Libraries for testing codebases and generating test data.* *Libraries for testing codebases and generating test data.*
* [Alice](https://github.com/nelmio/alice) - An expressive fixture generation library. * [Alice](https://github.com/nelmio/alice) - An expressive fixture generation library.
@ -301,7 +288,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Kahlan](https://github.com/kahlan/kahlan) - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support. * [Kahlan](https://github.com/kahlan/kahlan) - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
* [Mink](http://mink.behat.org/en/latest/) - Web acceptance testing. * [Mink](http://mink.behat.org/en/latest/) - Web acceptance testing.
* [Mockery](https://github.com/mockery/mockery) - A mock object library for testing. * [Mockery](https://github.com/mockery/mockery) - A mock object library for testing.
* [ParaTest](https://github.com/brianium/paratest) - A parallel testing library for PHPUnit. * [ParaTest](https://github.com/paratestphp/paratest) - A parallel testing library for PHPUnit.
* [Peridot](https://github.com/peridot-php/peridot) - An event driven test framework. * [Peridot](https://github.com/peridot-php/peridot) - An event driven test framework.
* [Phake](https://github.com/mlively/Phake) - Another mock object library for testing. * [Phake](https://github.com/mlively/Phake) - Another mock object library for testing.
* [Pho](https://github.com/danielstjules/pho) - Another behaviour driven development testing framework. * [Pho](https://github.com/danielstjules/pho) - Another behaviour driven development testing framework.
@ -310,11 +297,9 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [PHPT](https://qa.php.net/write-test.php) - A test tool used by PHP itself. * [PHPT](https://qa.php.net/write-test.php) - A test tool used by PHP itself.
* [PHPUnit](https://github.com/sebastianbergmann/phpunit) - A unit testing framework. * [PHPUnit](https://github.com/sebastianbergmann/phpunit) - A unit testing framework.
* [Prophecy](https://github.com/phpspec/prophecy) - A highly opinionated mocking framework. * [Prophecy](https://github.com/phpspec/prophecy) - A highly opinionated mocking framework.
* [Samsui](https://github.com/mauris/samsui) - Another fake data generator library.
* [VFS Stream](https://github.com/mikey179/vfsStream) - A virtual filesystem stream wrapper for testing. * [VFS Stream](https://github.com/mikey179/vfsStream) - A virtual filesystem stream wrapper for testing.
* [VFS](https://github.com/adlawson/php-vfs) - Another virtual filesystem for testing.
## Continuous Integration ### Continuous Integration
*Libraries and applications for continuous integration.* *Libraries and applications for continuous integration.*
* [CircleCI](https://circleci.com) - A continuous integration platform. * [CircleCI](https://circleci.com) - A continuous integration platform.
@ -323,12 +308,11 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [JoliCi](https://github.com/jolicode/JoliCi) - A continuous integration client written in PHP and powered by Docker. * [JoliCi](https://github.com/jolicode/JoliCi) - A continuous integration client written in PHP and powered by Docker.
* [PHPCI](https://www.phptesting.org/) - An open source continuous integration platform for PHP. * [PHPCI](https://www.phptesting.org/) - An open source continuous integration platform for PHP.
* [SemaphoreCI](https://semaphoreci.com/) - A continuous integration platform for open source and private projects. * [SemaphoreCI](https://semaphoreci.com/) - A continuous integration platform for open source and private projects.
* [Shippable](https://app.shippable.com/) - A docker based continious integration platform for open source and private projects. * [Shippable](https://www.shippable.com/) - A Docker based continious integration platform for open source and private projects.
* [Sismo](https://sismo.sensiolabs.org/) - A continuous testing server library.
* [Travis CI](https://travis-ci.org/) - A continuous integration platform. * [Travis CI](https://travis-ci.org/) - A continuous integration platform.
* [Wercker](http://www.wercker.com/) - A continuous integration platform * [Wercker](http://www.wercker.com/) - A continuous integration platform.
## Documentation ### Documentation
*Libraries for generating project documentation.* *Libraries for generating project documentation.*
* [APIGen](https://github.com/apigen/apigen) - Another API documentation generator. * [APIGen](https://github.com/apigen/apigen) - Another API documentation generator.
@ -337,7 +321,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [phpDox](http://phpdox.de/) - A documentation generator for PHP projects (that is not limited to API documentation). * [phpDox](http://phpdox.de/) - A documentation generator for PHP projects (that is not limited to API documentation).
* [Sami](https://github.com/FriendsOfPHP/Sami) - An API documentation generator. * [Sami](https://github.com/FriendsOfPHP/Sami) - An API documentation generator.
## Security ### Security
*Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.* *Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.*
* [Halite](https://paragonie.com/project/halite) - A simple library for encryption using [libsodium](https://github.com/jedisct1/libsodium). * [Halite](https://paragonie.com/project/halite) - A simple library for encryption using [libsodium](https://github.com/jedisct1/libsodium).
@ -345,18 +329,16 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [IniScan](https://github.com/psecio/iniscan) - A tool that scans PHP INI files for security. * [IniScan](https://github.com/psecio/iniscan) - A tool that scans PHP INI files for security.
* [Optimus](https://github.com/jenssegers/optimus) - Id obfuscation based on Knuth's multiplicative hashing method. * [Optimus](https://github.com/jenssegers/optimus) - Id obfuscation based on Knuth's multiplicative hashing method.
* [PHP Encryption](https://github.com/defuse/php-encryption) - Secure PHP Encryption Library. * [PHP Encryption](https://github.com/defuse/php-encryption) - Secure PHP Encryption Library.
* [PHP IDS](https://github.com/PHPIDS/PHPIDS) - A structured PHP security layer.
* [PHP SSH](https://github.com/Herzult/php-ssh) - An experimental object orientated SSH wrapper library. * [PHP SSH](https://github.com/Herzult/php-ssh) - An experimental object orientated SSH wrapper library.
* [PHPSecLib](http://phpseclib.sourceforge.net/) - A pure PHP secure communications library. * [PHPSecLib](http://phpseclib.sourceforge.net/) - A pure PHP secure communications library.
* [random_compat](https://github.com/paragonie/random_compat) - PHP 5.x support for `random_bytes()` and `random_int()` * [random_compat](https://github.com/paragonie/random_compat) - PHP 5.x support for `random_bytes()` and `random_int()`
* [RandomLib](https://github.com/ircmaxell/RandomLib) - A library for generating random numbers and strings. * [RandomLib](https://github.com/ircmaxell/RandomLib) - A library for generating random numbers and strings.
* [SecurityMultiTool](https://github.com/padraic/SecurityMultiTool) - A PHP security library.
* [SensioLabs Security Check](https://security.sensiolabs.org/) - A web tool to check your Composer dependencies for security advisories. * [SensioLabs Security Check](https://security.sensiolabs.org/) - A web tool to check your Composer dependencies for security advisories.
* [TCrypto](https://github.com/timoh6/TCrypto) - A simple encrypted key-value storage library. * [TCrypto](https://github.com/timoh6/TCrypto) - A simple encrypted key-value storage library.
* [VAddy](https://vaddy.net/) - A continuous security testing platform for web applications. * [VAddy](https://vaddy.net/) - A continuous security testing platform for web applications.
* [Zed](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) - An integrated penetration testing tool for web applications. * [Zed](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) - An integrated penetration testing tool for web applications.
## Passwords ### Passwords
*Libraries and tools for working with and storing passwords.* *Libraries and tools for working with and storing passwords.*
* [GenPhrase](https://github.com/timoh6/GenPhrase) - A library for generating secure random passphrases. * [GenPhrase](https://github.com/timoh6/GenPhrase) - A library for generating secure random passphrases.
@ -368,56 +350,53 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [phpass](http://www.openwall.com/phpass/) - A portable password hashing framework. * [phpass](http://www.openwall.com/phpass/) - A portable password hashing framework.
* [Zxcvbn PHP](https://github.com/bjeavons/zxcvbn-php) - A realistic PHP password strength estimate library based on Zxcvbn JS. * [Zxcvbn PHP](https://github.com/bjeavons/zxcvbn-php) - A realistic PHP password strength estimate library based on Zxcvbn JS.
## Code Analysis ### Code Analysis
*Libraries and tools for analysing, parsing and manipulating codebases.* *Libraries and tools for analysing, parsing and manipulating codebases.*
* [Athletic](https://github.com/polyfractal/athletic) - An annotation based benchmark framework.
* [Better Reflection](https://github.com/Roave/BetterReflection) - AST-based reflection library that allows analysis and manipulation of code * [Better Reflection](https://github.com/Roave/BetterReflection) - AST-based reflection library that allows analysis and manipulation of code
* [Code Climate](https://codeclimate.com) - An automated code review. * [Code Climate](https://codeclimate.com) - An automated code review.
* [Dissect](https://github.com/jakubledl/dissect) - A set of tools for lexical and syntactical analysis.
* [Exakat](https://github.com/exakat/exakat) - A static analysis engine for PHP.
* [GrumPHP](https://github.com/phpro/grumphp) - A composer plugin to defend code quality.
* [Mondrian](https://github.com/Trismegiste/Mondrian) - A code analysis tool using Graph Theory.
* [PHP Analyser](https://github.com/scrutinizer-ci/php-analyzer) - A library for analysing PHP code to find bugs and errors.
* [PHP Code Sniffer](https://github.com/squizlabs/PHP_CodeSniffer) - A library that detects PHP, CSS and JS coding standard violations.
* [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) - A coding standards fixer library.
* [PHP Manipulator](https://github.com/schmittjoh/php-manipulator) - A library for analysing and modifying PHP Source Code.
* [PHP Mess Detector](https://phpmd.org/) - A library that scans code for bugs, sub-optimal code, unused parameters and more.
* [PHP Metrics](https://github.com/phpmetrics/PhpMetrics) - A static metric library.
* [PHP Migration](https://github.com/monque/PHP-Migration) - A static analyzer for PHP version migration.
* [PHP Parser](https://github.com/nikic/PHP-Parser) - A PHP parser written in PHP. * [PHP Parser](https://github.com/nikic/PHP-Parser) - A PHP parser written in PHP.
* [PHP Refactoring Browser](https://github.com/QafooLabs/php-refactoring-browser) - A command line utility for refactoring PHP code.
* [PHP Semantic Versioning Checker](https://github.com/tomzx/php-semver-checker) - A command line utility that compares two source sets and determines the appropriate semantic versioning to apply. * [PHP Semantic Versioning Checker](https://github.com/tomzx/php-semver-checker) - A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
* [phan](https://github.com/etsy/phan) - A static analyzer based on PHP 7+ and the php-ast extension.
* [PHPCheckstyle](https://github.com/PHPCheckstyle/phpcheckstyle) - A tool to help adhere to certain coding conventions.
* [PHPCPD](https://github.com/sebastianbergmann/phpcpd) - A library that detects copied and pasted code.
* [PhpDependencyAnalysis](https://github.com/mamuz/PhpDependencyAnalysis) - A tool to create customisable dependency graphs.
* [PHPLOC](https://github.com/sebastianbergmann/phploc) - A tool for quickly measuring the size of a PHP project. * [PHPLOC](https://github.com/sebastianbergmann/phploc) - A tool for quickly measuring the size of a PHP project.
* [PHPQA](https://github.com/EdgedesignCZ/phpqa) - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics). * [PHPQA](https://github.com/EdgedesignCZ/phpqa) - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
* [PHPPHP](https://github.com/ircmaxell/PHPPHP) - A PHP VM implementation in PHP.
* [PHPSandbox](https://github.com/Corveda/PHPSandbox) - A PHP sandbox environment.
* [PHPStan](https://github.com/phpstan/phpstan) - A PHP Static Analysis Tool.
* [Qafoo Quality Analyzer](https://github.com/Qafoo/QualityAnalyzer) - A tool to visualize metrics and source code. * [Qafoo Quality Analyzer](https://github.com/Qafoo/QualityAnalyzer) - A tool to visualize metrics and source code.
* [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to scrutinise PHP code. * [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to [scrutinise PHP code](https://github.com/scrutinizer-ci/php-analyzer).
* [UBench](https://github.com/devster/ubench) - A simple micro benchmark library. * [UBench](https://github.com/devster/ubench) - A simple micro benchmark library.
## Architectural ### Code Quality
*Libraries for managing code quality, formatting and linting.*
* [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) - A library that detects PHP, CSS and JS coding standard violations.
* [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) - A coding standards fixer library.
* [PHP Mess Detector](https://phpmd.org/) - A library that scans code for bugs, sub-optimal code, unused parameters and more.
* [PHPCheckstyle](https://github.com/PHPCheckstyle/phpcheckstyle) - A tool to help adhere to certain coding conventions.
* [PHPCPD](https://github.com/sebastianbergmann/phpcpd) - A library that detects copied and pasted code.
### Static Analysis
*Libraries for performing static analysis of PHP code.*
* [Exakat](https://github.com/exakat/exakat) - A static analysis engine for PHP.
* [Mondrian](https://github.com/Trismegiste/Mondrian) - A code analysis tool using Graph Theory.
* [phan](https://github.com/phan/phan) - A static analyzer based on PHP 7+ and the php-ast extension.
* [PHPCompatibility](https://github.com/wimg/PHPCompatibility) - A PHP compatibility checker for PHP CodeSniffer.
* [PhpDependencyAnalysis](https://github.com/mamuz/PhpDependencyAnalysis) - A tool to create customisable dependency graphs.
* [PHP Metrics](https://github.com/phpmetrics/PhpMetrics) - A static metric library.
* [PHP Migration](https://github.com/monque/PHP-Migration) - A static analyzer for PHP version migration.
* [PHPStan](https://github.com/phpstan/phpstan) - A PHP Static Analysis Tool.
* [Pslam](https://github.com/vimeo/psalm) - A static analysis tool for finding errors in PHP applications.
### Architectural
*Libraries related to design patterns, programming approaches and ways to organize code.* *Libraries related to design patterns, programming approaches and ways to organize code.*
* [Compose](https://github.com/igorw/compose) - A function composition library.
* [Design Patterns PHP](https://github.com/domnikl/DesignPatternsPHP) - A repository of software patterns implemented in PHP. * [Design Patterns PHP](https://github.com/domnikl/DesignPatternsPHP) - A repository of software patterns implemented in PHP.
* [Finite](http://yohan.giarel.li/Finite/) - A simple PHP finite state machine. * [Finite](http://yohan.giarel.li/Finite/) - A simple PHP finite state machine.
* [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library. * [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library.
* [Galapagos](https://github.com/endel/galapagos) - Evolutionary language transformation.
* [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators. * [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators.
* [Monad PHP](https://github.com/ircmaxell/monad-php) - A simple Monad library.
* [Patchwork](http://patchwork2.org/) - A library for redefining userland functions. * [Patchwork](http://patchwork2.org/) - A library for redefining userland functions.
* [PHP Option](https://github.com/schmittjoh/php-option) - An option type library.
* [Pipeline](https://github.com/thephpleague/pipeline) - A pipeline pattern implementation. * [Pipeline](https://github.com/thephpleague/pipeline) - A pipeline pattern implementation.
* [Ruler](https://github.com/bobthecow/Ruler) - A simple stateless production rules engine.
* [RulerZ](https://github.com/K-Phoen/rulerz) - A powerful rule engine and implementation of the Specification pattern. * [RulerZ](https://github.com/K-Phoen/rulerz) - A powerful rule engine and implementation of the Specification pattern.
## Debugging and Profiling ### Debugging and Profiling
*Libraries and tools for debugging and profiling code.* *Libraries and tools for debugging and profiling code.*
* [APM](http://pecl.php.net/package/APM) - Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD. * [APM](http://pecl.php.net/package/APM) - Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
@ -427,23 +406,20 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [PHP Console](https://github.com/Seldaek/php-console) - A web debugging console. * [PHP Console](https://github.com/Seldaek/php-console) - A web debugging console.
* [PHP Debug Bar](http://phpdebugbar.com/) - A debugging toolbar. * [PHP Debug Bar](http://phpdebugbar.com/) - A debugging toolbar.
* [PHPBench](https://github.com/phpbench/phpbench) - A benchmarking Framework. * [PHPBench](https://github.com/phpbench/phpbench) - A benchmarking Framework.
* [PHPDBG](http://phpdbg.com/) - An interactive PHP debugger.
* [Tideways.io](https://tideways.io/) - Monitoring and profiling tool * [Tideways.io](https://tideways.io/) - Monitoring and profiling tool
* [Tracy](https://github.com/nette/tracy) - A simple error detection, logging and time measuring library. * [Tracy](https://github.com/nette/tracy) - A simple error detection, logging and time measuring library.
* [xDebug](https://github.com/xdebug/xdebug) - A debug and profile tool for PHP. * [xDebug](https://github.com/xdebug/xdebug) - A debug and profile tool for PHP.
* [XHProf](https://github.com/phacility/xhprof) - A profiling tool originally developed by Facebook. * [XHProf](https://github.com/phacility/xhprof) - A profiling tool originally developed by Facebook.
* [Z-Ray](http://www.zend.com/en/products/server/z-ray) - A debug and profile tool for Zend Server. * [Z-Ray](http://www.zend.com/en/products/server/z-ray) - A debug and profile tool for Zend Server.
## Build Tools ### Build Tools
*Project build and automation tools.* *Project build and automation tools.*
* [Bob](https://github.com/CHH/bob) - A simple project automation tool.
* [Box](https://github.com/box-project/box2) - A utility to build PHAR files. * [Box](https://github.com/box-project/box2) - A utility to build PHAR files.
* [Construct](https://github.com/jonathantorres/construct) - A PHP project/micro-package generator. * [Construct](https://github.com/jonathantorres/construct) - A PHP project/micro-package generator.
* [Phake](https://github.com/jaz303/phake) - A rake PHP clone library.
* [Phing](https://www.phing.info/) - A PHP project build system inspired by Apache Ant. * [Phing](https://www.phing.info/) - A PHP project build system inspired by Apache Ant.
## Task Runners ### Task Runners
*Libraries for automating and running tasks.* *Libraries for automating and running tasks.*
* [Bldr](http://bldr.io/) - A PHP Task runner built on Symfony components. * [Bldr](http://bldr.io/) - A PHP Task runner built on Symfony components.
@ -451,13 +427,12 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Robo](https://github.com/consolidation/Robo) - A PHP Task runner with object-orientated configurations. * [Robo](https://github.com/consolidation/Robo) - A PHP Task runner with object-orientated configurations.
* [Task](http://taskphp.github.io/) - A pure PHP task runner inspired by Grunt and Gulp. * [Task](http://taskphp.github.io/) - A pure PHP task runner inspired by Grunt and Gulp.
## Navigation ### Navigation
*Tools for building navigation structures.* *Tools for building navigation structures.*
* [Cartographer](https://github.com/tackk/cartographer) - A sitemap generation library.
* [KnpMenu](https://github.com/KnpLabs/KnpMenu) - A menu library. * [KnpMenu](https://github.com/KnpLabs/KnpMenu) - A menu library.
## Asset Management ### Asset Management
*Tools for managing, compressing and minifying website assets.* *Tools for managing, compressing and minifying website assets.*
* [JShrink](https://github.com/tedious/JShrink) - A JavaScript minifier library. * [JShrink](https://github.com/tedious/JShrink) - A JavaScript minifier library.
@ -465,7 +440,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Puli](https://github.com/puli/repository) - A library for determining assets absolute paths. * [Puli](https://github.com/puli/repository) - A library for determining assets absolute paths.
* [BowerPHP](https://github.com/Bee-Lab/bowerphp) - A PHP implementation of Bower. A package manager for the web * [BowerPHP](https://github.com/Bee-Lab/bowerphp) - A PHP implementation of Bower. A package manager for the web
## Geolocation ### Geolocation
*Libraries for geocoding addresses and working with latitudes and longitudes.* *Libraries for geocoding addresses and working with latitudes and longitudes.*
* [GeoCoder](http://geocoder-php.org/) - A geocoding library. * [GeoCoder](http://geocoder-php.org/) - A geocoding library.
@ -473,17 +448,16 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [GeoTools](https://github.com/thephpleague/geotools) - A library of geo-related tools. * [GeoTools](https://github.com/thephpleague/geotools) - A library of geo-related tools.
* [PHPGeo](https://github.com/mjaschen/phpgeo) - A simple geo library. * [PHPGeo](https://github.com/mjaschen/phpgeo) - A simple geo library.
## Date and Time ### Date and Time
*Libraries for working with dates and times.* *Libraries for working with dates and times.*
* [CalendR](http://yohan.giarel.li/CalendR/) - A calendar management library. * [CalendR](http://yohan.giarel.li/CalendR/) - A calendar management library.
* [Carbon](https://github.com/briannesbitt/Carbon) - A simple DateTime API extension. * [Carbon](https://github.com/briannesbitt/Carbon) - A simple DateTime API extension.
* [Chronos](https://github.com/cakephp/chronos) - A DateTime API extension supporting both mutable and immutable date/time. * [Chronos](https://github.com/cakephp/chronos) - A DateTime API extension supporting both mutable and immutable date/time.
* [ExpressiveDate](https://github.com/jasonlewis/expressive-date) - Another DateTime API extension.
* [Moment.php](https://github.com/fightbulc/moment.php) - Moment.js inspired PHP DateTime handler with i18n support. * [Moment.php](https://github.com/fightbulc/moment.php) - Moment.js inspired PHP DateTime handler with i18n support.
* [Yasumi](https://github.com/azuyalabs/yasumi) - An library to help you calculate the dates and names of holidays. * [Yasumi](https://github.com/azuyalabs/yasumi) - An library to help you calculate the dates and names of holidays.
## Event ### Event
*Libraries that are event-driven or implement non-blocking event loops.* *Libraries that are event-driven or implement non-blocking event loops.*
* [Amp](https://github.com/amphp/amp) - An event driven non-blocking I/O library. * [Amp](https://github.com/amphp/amp) - An event driven non-blocking I/O library.
@ -497,17 +471,15 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Prooph Event Store](https://github.com/prooph/event-store) - An event source component to persist event messages * [Prooph Event Store](https://github.com/prooph/event-store) - An event source component to persist event messages
* [Ratchet](https://github.com/ratchetphp/Ratchet) - A web socket library. * [Ratchet](https://github.com/ratchetphp/Ratchet) - A web socket library.
* [React](https://github.com/reactphp/react) - An event driven non-blocking I/O library. * [React](https://github.com/reactphp/react) - An event driven non-blocking I/O library.
* [Rx.PHP](https://github.com/asm89/Rx.PHP) - A reactive extension library. * [RxPHP](https://github.com/ReactiveX/RxPHP) - A reactive extension library.
* [Workerman](https://github.com/walkor/Workerman) - An event driven non-blocking I/O library. * [Workerman](https://github.com/walkor/Workerman) - An event driven non-blocking I/O library.
## Logging ### Logging
*Libraries for generating and working with log files.* *Libraries for generating and working with log files.*
* [Analog](https://github.com/jbroadway/analog) - A closure-based micro logging package.
* [KLogger](https://github.com/katzgrau/KLogger) - An easy-to-use PSR-3 compliant logging class.
* [Monolog](https://github.com/Seldaek/monolog) - A comprehensive logger. * [Monolog](https://github.com/Seldaek/monolog) - A comprehensive logger.
## E-commerce ### E-commerce
*Libraries and applications for taking payments and building online e-commerce stores.* *Libraries and applications for taking payments and building online e-commerce stores.*
* [Money](https://github.com/moneyphp/money) - A PHP implementation of Fowler's money pattern. * [Money](https://github.com/moneyphp/money) - A PHP implementation of Fowler's money pattern.
@ -515,9 +487,9 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Payum](https://github.com/payum/payum) - A payment abstraction library. * [Payum](https://github.com/payum/payum) - A payment abstraction library.
* [Shopware](https://github.com/shopware/shopware) - Highly customizable e-commerce software * [Shopware](https://github.com/shopware/shopware) - Highly customizable e-commerce software
* [Swap](https://github.com/florianv/swap) - An exchange rates library. * [Swap](https://github.com/florianv/swap) - An exchange rates library.
* [Sylius](http://sylius.org/) - An open source e-commerce solution. * [Sylius](https://sylius.com/) - An open source e-commerce solution.
## PDF ### PDF
*Libraries and software for working with PDF files.* *Libraries and software for working with PDF files.*
* [Dompdf](https://github.com/dompdf/dompdf) - A HTML to PDF converter. * [Dompdf](https://github.com/dompdf/dompdf) - A HTML to PDF converter.
@ -525,19 +497,19 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Snappy](https://github.com/KnpLabs/snappy) - A PDF and image generation library. * [Snappy](https://github.com/KnpLabs/snappy) - A PDF and image generation library.
* [WKHTMLToPDF](https://github.com/wkhtmltopdf/wkhtmltopdf) - A tool to convert HTML to PDF. * [WKHTMLToPDF](https://github.com/wkhtmltopdf/wkhtmltopdf) - A tool to convert HTML to PDF.
## Office ### Office
*Libraries for working with office suite documents.* *Libraries for working with office suite documents.*
* [ExcelAnt](https://github.com/Wisembly/ExcelAnt) - A library for manipulating Microsoft Excel documents.
* [PHPPowerPoint](https://github.com/PHPOffice/PHPPresentation) - A library for working with Microsoft PowerPoint Presentations. * [PHPPowerPoint](https://github.com/PHPOffice/PHPPresentation) - A library for working with Microsoft PowerPoint Presentations.
* [PHPWord](https://github.com/PHPOffice/PHPWord) - A library for working with Microsoft Word documents. * [PHPWord](https://github.com/PHPOffice/PHPWord) - A library for working with Microsoft Word documents.
* [PHPSpreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) - A pure PHP library for reading and writing spreadsheet files (successor of PHPExcel) * [PHPSpreadsheet](https://github.com/PHPOffice/PhpSpreadsheet) - A pure PHP library for reading and writing spreadsheet files (successor of PHPExcel)
## Database ### Database
*Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.* *Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.*
* [Atlas.Orm](https://github.com/atlasphp/Atlas.Orm) - A data mapper implementation for your persistence model in PHP.
* [Aura.Sql](https://github.com/auraphp/Aura.Sql) - Provides an extension to the native PDO along with a profiler and connection locator. * [Aura.Sql](https://github.com/auraphp/Aura.Sql) - Provides an extension to the native PDO along with a profiler and connection locator.
* [Aura.SqlQuery](https://github.com/auraphp/Aura.SqlQuery) - Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server. Edit * [Aura.SqlQuery](https://github.com/auraphp/Aura.SqlQuery) - Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server.
* [Baum](https://github.com/etrepat/baum) - A nested set implementation for Eloquent. * [Baum](https://github.com/etrepat/baum) - A nested set implementation for Eloquent.
* [Cake ORM](https://github.com/cakephp/orm) - Object-Relational Mapper, implemented using the DataMapper pattern (CP). * [Cake ORM](https://github.com/cakephp/orm) - Object-Relational Mapper, implemented using the DataMapper pattern (CP).
* [Doctrine Extensions](https://github.com/Atlantic18/DoctrineExtensions) - A collection of Doctrine behavioural extensions. * [Doctrine Extensions](https://github.com/Atlantic18/DoctrineExtensions) - A collection of Doctrine behavioural extensions.
@ -547,10 +519,10 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Pomm](https://github.com/chanmix51/Pomm) - An Object Model Manager for PostgreSQL. * [Pomm](https://github.com/chanmix51/Pomm) - An Object Model Manager for PostgreSQL.
* [Propel](http://propelorm.org/) - A fast ORM, migration library and query builder. * [Propel](http://propelorm.org/) - A fast ORM, migration library and query builder.
* [ProxyManager](https://github.com/Ocramius/ProxyManager) - A set of utilities to generate proxy objects for data mappers. * [ProxyManager](https://github.com/Ocramius/ProxyManager) - A set of utilities to generate proxy objects for data mappers.
* [RedBean](http://redbeanphp.com/index.php) - A lightweight, configuration-less ORM. * [RedBean](https://redbeanphp.com/index.php) - A lightweight, configuration-less ORM.
* [Spot2](https://github.com/spotorm/spot2) - A MySQL datamapper ORM. * [Spot2](https://github.com/spotorm/spot2) - A MySQL datamapper ORM.
## Migrations ### Migrations
Libraries to help manage database schemas and migrations. Libraries to help manage database schemas and migrations.
* [Doctrine Migrations](http://docs.doctrine-project.org/projects/doctrine-migrations/en/latest/toc.html) - A migration library for Doctrine. * [Doctrine Migrations](http://docs.doctrine-project.org/projects/doctrine-migrations/en/latest/toc.html) - A migration library for Doctrine.
@ -559,15 +531,13 @@ Libraries to help manage database schemas and migrations.
* [PHPMig](https://github.com/davedevelopment/phpmig) - Another migration management library. * [PHPMig](https://github.com/davedevelopment/phpmig) - Another migration management library.
* [Ruckusing](https://github.com/ruckus/ruckusing-migrations) - Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite. * [Ruckusing](https://github.com/ruckus/ruckusing-migrations) - Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite.
## NoSQL ### NoSQL
*Libraries for working with "NoSQL" backends.* *Libraries for working with "NoSQL" backends.*
* [Monga](https://github.com/thephpleague/monga) - A MongoDB abstraction library.
* [MongoQB](https://github.com/alexbilbie/MongoQB) - A MongoDB query builder library.
* [PHPMongo](https://github.com/sokil/php-mongo) - A MongoDB ORM. * [PHPMongo](https://github.com/sokil/php-mongo) - A MongoDB ORM.
* [Predis](https://github.com/nrk/predis) - A feature complete Redis library. * [Predis](https://github.com/nrk/predis) - A feature complete Redis library.
## Queue ### Queue
*Libraries for working with event and task queues.* *Libraries for working with event and task queues.*
* [Bernard](https://github.com/bernardphp/bernard) - A multibackend abstraction library. * [Bernard](https://github.com/bernardphp/bernard) - A multibackend abstraction library.
@ -577,7 +547,7 @@ Libraries to help manage database schemas and migrations.
* [Tarantool Queue](https://github.com/tarantool-php/queue) - PHP bindings for Tarantool Queue. * [Tarantool Queue](https://github.com/tarantool-php/queue) - PHP bindings for Tarantool Queue.
* [Thumper](https://github.com/php-amqplib/Thumper) - A RabbitMQ pattern library. * [Thumper](https://github.com/php-amqplib/Thumper) - A RabbitMQ pattern library.
## Search ### Search
*Libraries and software for indexing and performing search queries on data.* *Libraries and software for indexing and performing search queries on data.*
* [Elastica](https://github.com/ruflin/Elastica) - A client library for ElasticSearch. * [Elastica](https://github.com/ruflin/Elastica) - A client library for ElasticSearch.
@ -586,7 +556,7 @@ Libraries to help manage database schemas and migrations.
* [Sphinx Search](https://github.com/ripaclub/sphinxsearch) - Sphinx Search library provides SphinxQL indexing and searching features * [Sphinx Search](https://github.com/ripaclub/sphinxsearch) - Sphinx Search library provides SphinxQL indexing and searching features
* [SphinxQL query builder](http://foolcode.github.io/SphinxQL-Query-Builder/) - A query library for the [Sphinx](http://sphinxsearch.com/) search engine. * [SphinxQL query builder](http://foolcode.github.io/SphinxQL-Query-Builder/) - A query library for the [Sphinx](http://sphinxsearch.com/) search engine.
## Command Line ### Command Line
*Libraries related to the command line.* *Libraries related to the command line.*
* [Aura.Cli](https://github.com/auraphp/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. * [Aura.Cli](https://github.com/auraphp/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.
@ -600,19 +570,15 @@ Libraries to help manage database schemas and migrations.
* [GetOpt](https://github.com/getopt-php/getopt-php) - A command line opt parser. * [GetOpt](https://github.com/getopt-php/getopt-php) - A command line opt parser.
* [GetOptionKit](https://github.com/c9s/GetOptionKit) - Another command line opt parser. * [GetOptionKit](https://github.com/c9s/GetOptionKit) - Another command line opt parser.
* [Hoa Console](https://github.com/hoaproject/Console) - Another command line library. * [Hoa Console](https://github.com/hoaproject/Console) - Another command line library.
* [OptParse](https://github.com/CHH/optparse) - Another command line opt parser.
* [Pecan](https://github.com/mcrumm/pecan) - An event-driven, non-blocking shell.
* [PsySH](https://github.com/bobthecow/psysh) - Another PHP REPL. * [PsySH](https://github.com/bobthecow/psysh) - Another PHP REPL.
* [ShellWrap](https://github.com/MrRio/shellwrap) - A simple command line wrapper library. * [ShellWrap](https://github.com/MrRio/shellwrap) - A simple command line wrapper library.
## Authentication and Authorization ### Authentication and Authorization
*Libraries for implementing user authentication and authorization.* *Libraries for implementing user authentication and authorization.*
* [Aura.Auth](https://github.com/auraphp/Aura.Auth) - Provides authentication functionality and session tracking using various adapters. * [Aura.Auth](https://github.com/auraphp/Aura.Auth) - Provides authentication functionality and session tracking using various adapters.
* [Hawk](https://github.com/dflydev/dflydev-hawk) - A Hawk HTTP authentication library.
* [SocialConnect Auth](https://github.com/socialConnect/auth) - An open source social sign (OAuth1\OAuth2\OpenID\OpenIDConnect). * [SocialConnect Auth](https://github.com/socialConnect/auth) - An open source social sign (OAuth1\OAuth2\OpenID\OpenIDConnect).
* [Json Web Token](https://github.com/lcobucci/jwt) - Json Tokens to authenticate and transmit information. * [Json Web Token](https://github.com/lcobucci/jwt) - Json Tokens to authenticate and transmit information.
* [Lock](https://github.com/BeatSwitch/lock) - A library for implementing Access Control Lists (ACL) systems.
* [OAuth 1.0 Client](https://github.com/thephpleague/oauth1-client) - An OAuth 1.0 client library. * [OAuth 1.0 Client](https://github.com/thephpleague/oauth1-client) - An OAuth 1.0 client library.
* [OAuth 2.0 Client](https://github.com/thephpleague/oauth2-client) - An OAuth 2.0 client library. * [OAuth 2.0 Client](https://github.com/thephpleague/oauth2-client) - An OAuth 2.0 client library.
* [OAuth2 Server](http://bshaffer.github.io/oauth2-server-php-docs/) - Another OAuth2 server implementation. * [OAuth2 Server](http://bshaffer.github.io/oauth2-server-php-docs/) - Another OAuth2 server implementation.
@ -622,13 +588,11 @@ Libraries to help manage database schemas and migrations.
* [Sentinel Social](https://cartalyst.com/manual/sentinel-social/2.0) - A library for social network authentication. * [Sentinel Social](https://cartalyst.com/manual/sentinel-social/2.0) - A library for social network authentication.
* [Sentinel](https://cartalyst.com/manual/sentinel/2.0) - A framework agnostic authentication & authorisation library. * [Sentinel](https://cartalyst.com/manual/sentinel/2.0) - A framework agnostic authentication & authorisation library.
* [TwitterOAuth](https://github.com/abraham/twitteroauth) - A Twitter OAuth library. * [TwitterOAuth](https://github.com/abraham/twitteroauth) - A Twitter OAuth library.
* [TwitterSDK](https://github.com/lyrixx/twitter-sdk) - A fully tested Twitter SDK.
## Markup ### Markup
*Libraries for working with markup.* *Libraries for working with markup.*
* [Cebe Markdown](https://github.com/cebe/markdown) - An fast and extensible Markdown parser. * [Cebe Markdown](https://github.com/cebe/markdown) - An fast and extensible Markdown parser.
* [Ciconia](https://github.com/kzykhys/Ciconia) - Another Markdown parser that supports Github flavoured Markdown.
* [CommonMark PHP](https://github.com/thephpleague/commonmark) - A Markdown parser which supports the full [CommonMark spec](http://spec.commonmark.org/). * [CommonMark PHP](https://github.com/thephpleague/commonmark) - A Markdown parser which supports the full [CommonMark spec](http://spec.commonmark.org/).
* [Decoda](https://github.com/milesj/decoda) - A lightweight markup parser library. * [Decoda](https://github.com/milesj/decoda) - A lightweight markup parser library.
* [Emoji](https://github.com/heyupdate/Emoji) - A library that converts unicode characters and names into emoji images. * [Emoji](https://github.com/heyupdate/Emoji) - A library that converts unicode characters and names into emoji images.
@ -637,13 +601,13 @@ Libraries to help manage database schemas and migrations.
* [Parsedown](https://github.com/erusev/parsedown) - Another Markdown parser. * [Parsedown](https://github.com/erusev/parsedown) - Another Markdown parser.
* [PHP Markdown](https://github.com/michelf/php-markdown) - A Markdown parser. * [PHP Markdown](https://github.com/michelf/php-markdown) - A Markdown parser.
## Strings ### Strings
*Libraries for parsing and manipulating strings.* *Libraries for parsing and manipulating strings.*
* [Agent](https://github.com/jenssegers/agent) - A PHP desktop/mobile user agent parser, based on Mobiledetect. * [Agent](https://github.com/jenssegers/agent) - A PHP desktop/mobile user agent parser, based on Mobiledetect.
* [ANSI to HTML5](https://github.com/sensiolabs/ansi-to-html) - An ANSI to HTML5 converter library. * [ANSI to HTML5](https://github.com/sensiolabs/ansi-to-html) - An ANSI to HTML5 converter library.
* [Color Jizz](https://github.com/mikeemoo/ColorJizz-PHP) - A library for manipulating and converting colours. * [Color Jizz](https://github.com/mikeemoo/ColorJizz-PHP) - A library for manipulating and converting colours.
* [Device Detector](https://github.com/piwik/device-detector) - Another library for parsing user agent strings. * [Device Detector](https://github.com/matomo-org/device-detector) - Another library for parsing user agent strings.
* [Hoa String](https://github.com/hoaproject/Ustring) - Another UTF-8 string library. * [Hoa String](https://github.com/hoaproject/Ustring) - Another UTF-8 string library.
* [Jieba-PHP](https://github.com/fukuball/jieba-php) - A PHP port of Python's jieba. Chinese text segmentation for natural language processing. * [Jieba-PHP](https://github.com/fukuball/jieba-php) - A PHP port of Python's jieba. Chinese text segmentation for natural language processing.
* [Mobile-Detect](https://github.com/serbanghita/Mobile-Detect) - A lightweight PHP class for detecting mobile devices (including tablets). * [Mobile-Detect](https://github.com/serbanghita/Mobile-Detect) - A lightweight PHP class for detecting mobile devices (including tablets).
@ -651,27 +615,23 @@ Libraries to help manage database schemas and migrations.
* [Slugify](https://github.com/cocur/slugify) - A library to convert strings to slugs. * [Slugify](https://github.com/cocur/slugify) - A library to convert strings to slugs.
* [SQL Formatter](https://github.com/jdorn/sql-formatter/) - A library for formatting SQL statements. * [SQL Formatter](https://github.com/jdorn/sql-formatter/) - A library for formatting SQL statements.
* [Stringy](https://github.com/danielstjules/Stringy) - A string manipulation library with multibyte support. * [Stringy](https://github.com/danielstjules/Stringy) - A string manipulation library with multibyte support.
* [Text](https://github.com/kzykhys/Text) - A text manipulation library.
* [UA Parser](https://github.com/tobie/ua-parser/tree/master/php) - A library for parsing user agent strings. * [UA Parser](https://github.com/tobie/ua-parser/tree/master/php) - A library for parsing user agent strings.
* [URLify](https://github.com/jbroadway/urlify) - A PHP port of Django's URLify.js. * [URLify](https://github.com/jbroadway/urlify) - A PHP port of Django's URLify.js.
* [UUID](https://github.com/ramsey/uuid) - A library for generating UUIDs. * [UUID](https://github.com/ramsey/uuid) - A library for generating UUIDs.
## Numbers ### Numbers
*Libraries for working with numbers.* *Libraries for working with numbers.*
* [ByteUnits](https://github.com/gabrielelana/byte-units) - A library to parse, format and convert byte units in binary and metric systems. * [ByteUnits](https://github.com/gabrielelana/byte-units) - A library to parse, format and convert byte units in binary and metric systems.
* [LibPhoneNumber for PHP](https://github.com/giggsey/libphonenumber-for-php) - A PHP implementation of Google's phone number handling library. * [LibPhoneNumber for PHP](https://github.com/giggsey/libphonenumber-for-php) - A PHP implementation of Google's phone number handling library.
* [Math](https://github.com/moontoast/math) - A library for working with large numbers.
* [Numbers PHP](https://github.com/powder96/numbers.php) - A library for working with numbers.
* [PHP Conversion](https://github.com/Crisu83/php-conversion) - Another library for converting between units of measure. * [PHP Conversion](https://github.com/Crisu83/php-conversion) - Another library for converting between units of measure.
* [PHP Units of Measure](https://github.com/triplepoint/php-units-of-measure) - A library for converting between units of measure. * [PHP Units of Measure](https://github.com/triplepoint/php-units-of-measure) - A library for converting between units of measure.
## Filtering and Validation ### Filtering and Validation
*Libraries for filtering and validating data.* *Libraries for filtering and validating data.*
* [Aura.Filter](https://github.com/auraphp/Aura.Filter) - Provides tools to validate and sanitize objects and arrays. * [Aura.Filter](https://github.com/auraphp/Aura.Filter) - Provides tools to validate and sanitize objects and arrays.
* [Cake Validation](https://github.com/cakephp/validation) - Another validation library (CP). * [Cake Validation](https://github.com/cakephp/validation) - Another validation library (CP).
* [DMS Filter](https://github.com/rdohms/DMS-Filter) - An annotation filtering library.
* [Filterus](https://github.com/ircmaxell/filterus) - A simple PHP filtering library. * [Filterus](https://github.com/ircmaxell/filterus) - A simple PHP filtering library.
* [ISO-codes](https://github.com/ronanguilloux/IsoCodes) - A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries * [ISO-codes](https://github.com/ronanguilloux/IsoCodes) - A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries
* [MetaYaml](https://github.com/romaricdrigon/MetaYaml) - A schema validation library that supports YAML, JSON and XML. * [MetaYaml](https://github.com/romaricdrigon/MetaYaml) - A schema validation library that supports YAML, JSON and XML.
@ -680,7 +640,7 @@ Libraries to help manage database schemas and migrations.
* [Valitron](https://github.com/vlucas/valitron) - Another validation library. * [Valitron](https://github.com/vlucas/valitron) - Another validation library.
* [Volan](https://github.com/serkin/Volan) - Another simplified validation library. * [Volan](https://github.com/serkin/Volan) - Another simplified validation library.
## API ### API
*Libraries and web tools for developing APIs.* *Libraries and web tools for developing APIs.*
* [API Platform](https://api-platform.com ) - Expose in minutes an hypermedia REST API that embraces JSON-LD, Hydra format. * [API Platform](https://api-platform.com ) - Expose in minutes an hypermedia REST API that embraces JSON-LD, Hydra format.
@ -692,7 +652,7 @@ Libraries to help manage database schemas and migrations.
* [Restler](https://github.com/Luracast/Restler) - A lightweight framework to expose PHP methods as RESTful web API. * [Restler](https://github.com/Luracast/Restler) - A lightweight framework to expose PHP methods as RESTful web API.
* [wsdl2phpgenerator](https://github.com/wsdl2phpgenerator/wsdl2phpgenerator) - A tool to generate PHP classes from SOAP WSDL files. * [wsdl2phpgenerator](https://github.com/wsdl2phpgenerator/wsdl2phpgenerator) - A tool to generate PHP classes from SOAP WSDL files.
## Caching ### Caching
*Libraries for caching data.* *Libraries for caching data.*
* [Alternative PHP Cache (APC)](http://php.net/manual/en/book.apc.php) - Open opcode cache for PHP. * [Alternative PHP Cache (APC)](http://php.net/manual/en/book.apc.php) - Open opcode cache for PHP.
@ -704,10 +664,9 @@ Libraries to help manage database schemas and migrations.
* [Stash](https://github.com/tedious/Stash) - Another library for caching. * [Stash](https://github.com/tedious/Stash) - Another library for caching.
* [Zend Cache](https://github.com/zendframework/zend-cache) - Another caching library (ZF2). * [Zend Cache](https://github.com/zendframework/zend-cache) - Another caching library (ZF2).
## Data Structure and Storage ### Data Structure and Storage
*Libraries that implement data structure or storage techniques.* *Libraries that implement data structure or storage techniques.*
* [Ardent](https://github.com/morrisonlevi/Ardent) - A library of data structures.
* [Cake Collection](https://github.com/cakephp/collection) - A simple collections library (CP). * [Cake Collection](https://github.com/cakephp/collection) - A simple collections library (CP).
* [Collections](https://github.com/italolelis/collections) - Collections Abstraction library for PHP. * [Collections](https://github.com/italolelis/collections) - Collections Abstraction library for PHP.
* [Fractal](https://github.com/thephpleague/fractal) - A library for converting complex data structures to JSON output. * [Fractal](https://github.com/thephpleague/fractal) - A library for converting complex data structures to JSON output.
@ -715,88 +674,71 @@ Libraries to help manage database schemas and migrations.
* [JsonMapper](https://github.com/cweiske/jsonmapper) - A library that maps nested JSON structures onto PHP classes. * [JsonMapper](https://github.com/cweiske/jsonmapper) - A library that maps nested JSON structures onto PHP classes.
* [Knapsack](https://github.com/DusanKasan/Knapsack) - Collection library inspired by Clojure's sequences. * [Knapsack](https://github.com/DusanKasan/Knapsack) - Collection library inspired by Clojure's sequences.
* [msgpack.php](https://github.com/rybakit/msgpack.php) - A pure PHP implementation of the MessagePack serialization format. * [msgpack.php](https://github.com/rybakit/msgpack.php) - A pure PHP implementation of the MessagePack serialization format.
* [PHP Collections](https://github.com/schmittjoh/php-collection) - A simple collections library.
* [PINQ](https://github.com/TimeToogo/Pinq) - A PHP library based on .NET's LINQ (Language Integrated Query). * [PINQ](https://github.com/TimeToogo/Pinq) - A PHP library based on .NET's LINQ (Language Integrated Query).
* [Porter](https://github.com/ScriptFUSION/Porter) - Data import abstraction framework. * [Porter](https://github.com/ScriptFUSION/Porter) - Data import abstraction framework.
* [Serializer](https://github.com/schmittjoh/serializer) - A library for serialising and de-serialising data. * [Serializer](https://github.com/schmittjoh/serializer) - A library for serialising and de-serialising data.
* [Totem](https://github.com/Wisembly/Totem) - A library to manage and create data changesets.
* [YaLinqo](https://github.com/Athari/YaLinqo) - Yet Another LINQ to Objects for PHP. * [YaLinqo](https://github.com/Athari/YaLinqo) - Yet Another LINQ to Objects for PHP.
* [Zend Serializer](https://github.com/zendframework/zend-serializer) - Another library for serialising and de-serialising data (ZF2). * [Zend Serializer](https://github.com/zendframework/zend-serializer) - Another library for serialising and de-serialising data (ZF2).
## Notifications ### Notifications
*Libraries for working with notification software.* *Libraries for working with notification software.*
* [JoliNotif](https://github.com/jolicode/JoliNotif) - A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc) * [JoliNotif](https://github.com/jolicode/JoliNotif) - A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc)
* [Nod](https://github.com/filp/nod) - A notification library (e.g., Growl).
* [Notification Pusher](https://github.com/Ph3nol/NotificationPusher) - A standalone library for device push notifications. * [Notification Pusher](https://github.com/Ph3nol/NotificationPusher) - A standalone library for device push notifications.
* [Notificato](https://github.com/mac-cain13/notificato) - A library for handling push notifications. * [Notificato](https://github.com/mac-cain13/notificato) - A library for handling push notifications.
* [Notificator](https://github.com/namshi/notificator) - A lightweight notification library. * [Notificator](https://github.com/namshi/notificator) - A lightweight notification library.
* [Php-pushwoosh](https://github.com/gomoob/php-pushwoosh) - A PHP Library to easily send push notifications with the Pushwoosh REST Web Services. * [Php-pushwoosh](https://github.com/gomoob/php-pushwoosh) - A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.
## Deployment ### Deployment
*Libraries for project deployment.* *Libraries for project deployment.*
* [Deployer](https://github.com/deployphp/deployer) - A deployment tool. * [Deployer](https://github.com/deployphp/deployer) - A deployment tool.
* [Envoy](https://github.com/laravel/envoy) - A tool to run SSH tasks with PHP. * [Envoy](https://github.com/laravel/envoy) - A tool to run SSH tasks with PHP.
* [Plum](https://github.com/aerialls/Plum) - A deployer library.
* [Pomander](https://github.com/tamagokun/pomander) - A deployment tool for PHP applications.
* [Rocketeer](https://github.com/rocketeers/rocketeer) - A fast and easy deployer for the PHP world. * [Rocketeer](https://github.com/rocketeers/rocketeer) - A fast and easy deployer for the PHP world.
## Internationalisation and Localisation ### Internationalisation and Localisation
*Libraries for Internationalization (I18n) and Localization (L10n).* *Libraries for Internationalization (I18n) and Localization (L10n).*
* [Aura.Intl](https://github.com/auraphp/Aura.Intl) - Provides internationalization (I18N) tools, specifically package-oriented per-locale message translation. * [Aura.Intl](https://github.com/auraphp/Aura.Intl) - Provides internationalization (I18N) tools, specifically package-oriented per-locale message translation.
* [Cake I18n](https://github.com/cakephp/i18n) - Message translation and localization for dates and numbers (CP) * [Cake I18n](https://github.com/cakephp/i18n) - Message translation and localization for dates and numbers (CP)
## Third Party APIs ### Third Party APIs
*Libraries for accessing third party APIs.* *Libraries for accessing third party APIs.*
* [Amazon Web Service SDK](https://github.com/aws/aws-sdk-php) - The official PHP AWS SDK library. * [Amazon Web Service SDK](https://github.com/aws/aws-sdk-php) - The official PHP AWS SDK library.
* [Campaign Monitor](http://campaignmonitor.github.io/createsend-php/) - The official Campaign Monitor PHP library. * [Campaign Monitor](http://campaignmonitor.github.io/createsend-php/) - The official Campaign Monitor PHP library.
* [Digital Ocean](https://github.com/toin0u/DigitalOcean) - A library to interface with the Digital Ocean API.
* [Dropbox SDK](https://github.com/dropbox/dropbox-sdk-php) - The official PHP Dropbox SDK library. * [Dropbox SDK](https://github.com/dropbox/dropbox-sdk-php) - The official PHP Dropbox SDK library.
* [Github](https://github.com/dsyph3r/github-api3-php) - A library to interface with the Github API. * [Github](https://github.com/KnpLabs/php-github-api) - A library to interface with the Github API.
* [Mailgun](https://github.com/mailgun/mailgun-php) The official Mailgun PHP API. * [Mailgun](https://github.com/mailgun/mailgun-php) The official Mailgun PHP API.
* [PHP Github API](https://github.com/KnpLabs/php-github-api) - Another library to interface with the Github API.
* [S3 Stream Wrapper](https://github.com/gwkunze/S3StreamWrapper) - A stream wrapper library for Amazon S3.
* [Stripe](https://github.com/stripe/stripe-php) - The official Stripe PHP library. * [Stripe](https://github.com/stripe/stripe-php) - The official Stripe PHP library.
* [Twilio](https://github.com/twilio/twilio-php) - The official Twilio PHP REST API. * [Twilio](https://github.com/twilio/twilio-php) - The official Twilio PHP REST API.
* [Twitter OAuth](https://github.com/widop/twitter-oauth) - A library to interface with Twitter's OAuth workflow.
* [Twitter REST](https://github.com/widop/twitter-rest) - A library to interact with Twitter's REST API.
## Extensions ### Extensions
*Libraries to help build PHP extensions.* *Libraries to help build PHP extensions.*
* [PHP CPP](http://www.php-cpp.com/) - A C++ library for developing PHP extensions. * [PHP CPP](http://www.php-cpp.com/) - A C++ library for developing PHP extensions.
* [Zephir](https://github.com/phalcon/zephir) - A compiled language between PHP and C++ for developing PHP extensions. * [Zephir](https://github.com/phalcon/zephir) - A compiled language between PHP and C++ for developing PHP extensions.
## Miscellaneous ### Miscellaneous
*Useful libraries or tools that don't fit in the categories above.* *Useful libraries or tools that don't fit in the categories above.*
* [Annotations](https://github.com/doctrine/annotations) - An annotations library (part of Doctrine). * [Annotations](https://github.com/doctrine/annotations) - An annotations library (part of Doctrine).
* [BotMan](https://github.com/botman/botman) - A framework agnostic PHP library to build cross-platform chat bots.
* [Cake Utility](https://github.com/cakephp/utility) - Utility classes such as Inflector, String, Hash, Security and Xml (CP). * [Cake Utility](https://github.com/cakephp/utility) - Utility classes such as Inflector, String, Hash, Security and Xml (CP).
* [Chief](https://github.com/adamnicholson/Chief) - A command bus library. * [Chief](https://github.com/adamnicholson/Chief) - A command bus library.
* [ClassPreloader](https://github.com/ClassPreloader/ClassPreloader) - A library for optimising autoloading. * [ClassPreloader](https://github.com/ClassPreloader/ClassPreloader) - A library for optimising autoloading.
* [Country List](https://github.com/umpirsky/country-list) - A list of all countries with names and ISO 3166-1 codes. * [Country List](https://github.com/umpirsky/country-list) - A list of all countries with names and ISO 3166-1 codes.
* [Embera](https://github.com/mpratt/Embera) - An Oembed consumer library. * [Embera](https://github.com/mpratt/Embera) - An Oembed consumer library.
* [Essence](https://github.com/essence/essence) - A library for extracting web media. * [Essence](https://github.com/essence/essence) - A library for extracting web media.
* [Flux](https://github.com/selvinortiz/flux) - A regular expression building library.
* [Graphviz](https://github.com/alexandresalome/graphviz) - A Graphviz library. * [Graphviz](https://github.com/alexandresalome/graphviz) - A Graphviz library.
* [Hprose-PHP](https://github.com/hprose/hprose-php) - A very newbility RPC Library, support 25+ languages now. * [Hprose-PHP](https://github.com/hprose/hprose-php) - A very newbility RPC Library, support 25+ languages now.
* [JSON Lint](https://github.com/Seldaek/jsonlint) - A JSON lint utility. * [JSON Lint](https://github.com/Seldaek/jsonlint) - A JSON lint utility.
* [JSONPCallbackValidator](https://github.com/willdurand/JsonpCallbackValidator) - A library for validating JSONP callbacks. * [JSONPCallbackValidator](https://github.com/willdurand/JsonpCallbackValidator) - A library for validating JSONP callbacks.
* [Jumper](https://github.com/kakawait/Jumper) - A remote service executor library.
* [LadyBug](https://github.com/raulfraile/Ladybug) - A dumper library.
* [Lambda PHP](https://github.com/igorw/lambda-php) - A Lambda calculus interpreter in PHP.
* [LiteCQRS](https://github.com/beberlei/litecqrs-php) - A CQRS (Command Query Responsibility Separation) library.
* [Metrics](https://github.com/beberlei/metrics) - A simple metrics API library. * [Metrics](https://github.com/beberlei/metrics) - A simple metrics API library.
* [noCAPTCHA](https://github.com/ARCANEDEV/noCAPTCHA) - Helper for Google's noCAPTCHA (reCAPTCHA). * [noCAPTCHA](https://github.com/ARCANEDEV/noCAPTCHA) - Helper for Google's noCAPTCHA (reCAPTCHA).
* [Nmap](https://github.com/willdurand/nmap) - A PHP wrapper around [Nmap](https://nmap.org/). * [Nmap](https://github.com/willdurand/nmap) - A PHP wrapper around [Nmap](https://nmap.org/).
* [Opengraph](https://github.com/euskadi31/Opengraph) - An opengraph library.
* [Pagerfanta](https://github.com/whiteoctober/Pagerfanta) - A pagination library. * [Pagerfanta](https://github.com/whiteoctober/Pagerfanta) - A pagination library.
* [PHP Expression](https://github.com/Kitano/php-expression) - A PHP expression language.
* [PHP PassBook](https://github.com/eymengunay/php-passbook) - A PHP library for iOS PassBook. * [PHP PassBook](https://github.com/eymengunay/php-passbook) - A PHP library for iOS PassBook.
* [PHP-GPIO](https://github.com/ronanguilloux/php-gpio) - A library for playing with the Raspberry PI's GPIO pins.
* [PHP-ML](https://github.com/php-ai/php-ml) - A library for Machine Learning in PHP. * [PHP-ML](https://github.com/php-ai/php-ml) - A library for Machine Learning in PHP.
* [PHPCR](https://github.com/phpcr/phpcr) - A PHP port of the Java Content Repository (JCR). * [PHPCR](https://github.com/phpcr/phpcr) - A PHP port of the Java Content Repository (JCR).
* [PHPStack](http://dunkels.com/adam/phpstack/) - A TCP/IP stack proof of concept written in PHP. * [PHPStack](http://dunkels.com/adam/phpstack/) - A TCP/IP stack proof of concept written in PHP.
@ -804,10 +746,9 @@ Libraries to help manage database schemas and migrations.
* [Procrastinator](https://github.com/lstrojny/Procrastinator) - A library for running time consuming tasks. * [Procrastinator](https://github.com/lstrojny/Procrastinator) - A library for running time consuming tasks.
* [Prooph Service Bus](https://github.com/prooph/service-bus) - Lightweight message bus supporting CQRS and Micro Services * [Prooph Service Bus](https://github.com/prooph/service-bus) - Lightweight message bus supporting CQRS and Micro Services
* [RMT](https://github.com/liip/RMT) - A library for versioning and releasing software. * [RMT](https://github.com/liip/RMT) - A library for versioning and releasing software.
* [sabre/vobject](https://github.com/fruux/sabre-vobject) - A library for parsing VCard and iCalendar objects. * [sabre/vobject](https://github.com/sabre-io/vobject) - A library for parsing VCard and iCalendar objects.
* [Slimdump](https://github.com/webfactory/slimdump) - An easy dumper tool for MySQL. * [Slimdump](https://github.com/webfactory/slimdump) - An easy dumper tool for MySQL.
* [Spork](https://github.com/kriswallsmith/spork) - A process forking library. * [Spork](https://github.com/kriswallsmith/spork) - A process forking library.
* [Sslurp](https://github.com/EvanDotPro/Sslurp) - A library that makes dealing with SSL suck less.
* [SuperClosure](https://github.com/jeremeamia/super_closure) - A library that allows Closures to be serialized. * [SuperClosure](https://github.com/jeremeamia/super_closure) - A library that allows Closures to be serialized.
* [Symfony VarDumper](http://symfony.com/doc/current/components/var_dumper.html) - A variable dumper component (SF). * [Symfony VarDumper](http://symfony.com/doc/current/components/var_dumper.html) - A variable dumper component (SF).
* [Underscore](http://anahkiasen.github.io/underscore-php/) - A PHP port of the Underscore JS library. * [Underscore](http://anahkiasen.github.io/underscore-php/) - A PHP port of the Underscore JS library.
@ -816,44 +757,44 @@ Libraries to help manage database schemas and migrations.
# Software # Software
*Software for creating a development environment.* *Software for creating a development environment.*
## PHP Installation ### PHP Installation
*Tools to help install and manage PHP on your computer.* *Tools to help install and manage PHP on your computer.*
* [HomeBrew PHP](https://github.com/Homebrew/homebrew-php) - A PHP tap for HomeBrew. * [HomeBrew PHP](https://github.com/Homebrew/homebrew-php) - A PHP tap for HomeBrew.
* [HomeBrew](https://brew.sh/) - A package manager for OSX. * [HomeBrew](https://brew.sh/) - A package manager for OSX.
* [PHP Brew](https://github.com/phpbrew/phpbrew) - A PHP version manager and installer. * [PHP Brew](https://github.com/phpbrew/phpbrew) - A PHP version manager and installer.
* [PHP Build](https://github.com/php-build/php-build) - Another PHP version installer. * [PHP Build](https://github.com/php-build/php-build) - Another PHP version installer.
* [PHP Env](https://github.com/CHH/phpenv) - Another PHP version manager.
* [PHP OSX](https://php-osx.liip.ch/) - A PHP installer for OSX. * [PHP OSX](https://php-osx.liip.ch/) - A PHP installer for OSX.
* [PHP Switch](https://github.com/jubianchi/phpswitch) - Another version manager.
* [VirtPHP](http://virtphp.org/) - A tool for creating and managing isolated PHP environments. * [VirtPHP](http://virtphp.org/) - A tool for creating and managing isolated PHP environments.
## Development Environment ### Development Environment
*Software and tools for creating a sandboxed development environment.* *Software and tools for creating a sandboxed development environment.*
* [Ansible](https://www.ansible.com/) - A radically simple orchestration framework. * [Ansible](https://www.ansible.com/) - A radically simple orchestration framework.
* [Phansible](http://phansible.com/) - A web tool for building PHP development virtual machines with Ansible. * [Phansible](http://phansible.com/) - A web tool for building PHP development virtual machines with Ansible.
* [Protobox](http://getprotobox.com/) - Another web tool for building PHP development virtual machines. * [Protobox](https://www.getprotobox.com/) - Another web tool for building PHP development virtual machines.
* [PuPHPet](https://puphpet.com/) - A web tool for building PHP development virtual machines. * [PuPHPet](https://puphpet.com/) - A web tool for building PHP development virtual machines.
* [Puppet](https://puppet.com/) - A server automation framework and application. * [Puppet](https://puppet.com/) - A server automation framework and application.
* [Vagrant](https://www.vagrantup.com/) - A portable development environment utility. * [Vagrant](https://www.vagrantup.com/) - A portable development environment utility.
* [Docker](https://www.docker.com/) - A containerization platform. * [Docker](https://www.docker.com/) - A containerization platform.
## Virtual Machines ### Virtual Machines
*Alternative PHP virtual machines.* *Alternative PHP virtual machines.*
* [Hack](http://hacklang.org/) - A programming language for HHVM that interoperates seamlessly with PHP. * [Hack](http://hacklang.org/) - A programming language for HHVM that interoperates seamlessly with PHP.
* [HHVM](https://github.com/facebook/hhvm) - A Virtual Machine, Runtime and JIT for PHP by Facebook. * [HHVM](https://github.com/facebook/hhvm) - A Virtual Machine, Runtime and JIT for PHP by Facebook.
* [HippyVM](https://github.com/hippyvm/hippyvm) - Another PHP virtual machine.
## Integrated Development Environment ### Text Editors and IDEs
*Integrated Development Environments with support for PHP.* *Text Editors and Integrated Development Environments (IDE) with support for PHP.*
* [Atom](https://atom.io/) - A hackable text editor.
* [Atom IDE](https://ide.atom.io/) - An IDE extension for Atom.
* [Eclipse for PHP Developers](https://www.eclipse.org/downloads/) - A PHP IDE based on the Eclipse platform. * [Eclipse for PHP Developers](https://www.eclipse.org/downloads/) - A PHP IDE based on the Eclipse platform.
* [Netbeans](https://netbeans.org) - An IDE with support for PHP and HTML5. * [Netbeans](https://netbeans.org) - An IDE with support for PHP and HTML5.
* [PhpStorm](http://www.jetbrains.com/phpstorm/) - A commercial PHP IDE. * [PhpStorm](http://www.jetbrains.com/phpstorm/) - A commercial PHP IDE.
* [VS Code](https://code.visualstudio.com/) - An open source code editor.
## Web Applications ### Web Applications
*Web-based applications and tools.* *Web-based applications and tools.*
* [3V4L](https://3v4l.org/) - An online PHP & HHVM shell. * [3V4L](https://3v4l.org/) - An online PHP & HHVM shell.
@ -861,28 +802,27 @@ Libraries to help manage database schemas and migrations.
* [PHP Queue](https://github.com/CoderKungfu/php-queue) - An application for managing queueing backends. * [PHP Queue](https://github.com/CoderKungfu/php-queue) - An application for managing queueing backends.
* [MailCatcher](https://github.com/sj26/mailcatcher) - A web tool for capturing and viewing emails. * [MailCatcher](https://github.com/sj26/mailcatcher) - A web tool for capturing and viewing emails.
* [Cachet](https://github.com/cachethq/cachet) - The open source status page system. * [Cachet](https://github.com/cachethq/cachet) - The open source status page system.
* [phpBeanstalkdAdmin](https://github.com/mnapoli/phpBeanstalkdAdmin) - Monitoring and administration interface for Beanstalkd.
* [phpRedisAdmin](https://github.com/ErikDubbelboer/phpRedisAdmin) - A simple web interface to manage [Redis](https://redis.io/) databases. * [phpRedisAdmin](https://github.com/ErikDubbelboer/phpRedisAdmin) - A simple web interface to manage [Redis](https://redis.io/) databases.
* [phpPgAdmin](https://github.com/phppgadmin/phppgadmin) - A web-based administration tool for PostgreSQL.
* [phpMyAdmin](https://github.com/phpmyadmin/phpmyadmin) - A web interface for MySQL/MariaDB. * [phpMyAdmin](https://github.com/phpmyadmin/phpmyadmin) - A web interface for MySQL/MariaDB.
* [Adminer](https://www.adminer.org/) - Database management in a single PHP file. * [Adminer](https://www.adminer.org/) - Database management in a single PHP file.
* [Grav](https://github.com/getgrav/grav) - A modern flat-file CMS. * [Grav](https://github.com/getgrav/grav) - A modern flat-file CMS.
* [Lychee](https://github.com/electerious/Lychee) - An easy to use and great looking photo-management-system.
## Infrastructure ### Infrastructure
*Infrastructure for providing PHP applications and services.* *Infrastructure for providing PHP applications and services.*
* [appserver.io](http://appserver.io/) - A multithreaded application server for PHP, written in PHP. * [appserver.io](https://appserver.io/) - A multithreaded application server for PHP, written in PHP.
* [php-pm](https://github.com/php-pm/php-pm) - A process manager, supercharger and load balancer for PHP applications. * [php-pm](https://github.com/php-pm/php-pm) - A process manager, supercharger and load balancer for PHP applications.
# Resources # Resources
Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge. Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge.
## PHP Websites ### PHP Websites
*Useful PHP-related websites.* *Useful PHP-related websites.*
* [Nomad PHP](https://nomadphp.com/) - A online PHP learning resource. * [Nomad PHP](https://nomadphp.com/) - A online PHP learning resource.
* [PHP Best Practices](https://phpbestpractices.org/) - A PHP best practice guide. * [PHP Best Practices](https://phpbestpractices.org/) - A PHP best practice guide.
* [PHP FIG](http://www.php-fig.org/) - The PHP Framework Interoperability Group. * [PHP FIG](https://www.php-fig.org/) - The PHP Framework Interoperability Group.
* [PHP Mentoring](https://php-mentoring.org/) - Peer to peer PHP mentorship organization. * [PHP Mentoring](https://php-mentoring.org/) - Peer to peer PHP mentorship organization.
* [PHP Package Development Standards](http://php-pds.com) - Package development standards for PHP. * [PHP Package Development Standards](http://php-pds.com) - Package development standards for PHP.
* [PHP School](https://www.phpschool.io/) - Open Source Learning for PHP. * [PHP School](https://www.phpschool.io/) - Open Source Learning for PHP.
@ -894,23 +834,25 @@ Various resources, such as books, websites and articles, for improving your PHP
* [PHPTrends](https://phptrends.com/) - An overview of fastest growing PHP libraries. * [PHPTrends](https://phptrends.com/) - An overview of fastest growing PHP libraries.
* [Securing PHP](http://securingphp.com/) - A newsletter about PHP security and library recommendations. * [Securing PHP](http://securingphp.com/) - A newsletter about PHP security and library recommendations.
* [Seven PHP](https://7php.com/) - A website that interviews members of the PHP community. * [Seven PHP](https://7php.com/) - A website that interviews members of the PHP community.
* [PHP Annotated Monthly](https://blog.jetbrains.com/phpstorm/category/php-annotated-monthly/) - A monthly digest of PHP news.
## Other Websites ### Other Websites
*Useful websites related to web development.* *Useful websites related to web development.*
* [Atlassian Git Tutorials](https://www.atlassian.com/git) - A series of Git tutorials. * [Atlassian Git Tutorials](https://www.atlassian.com/git) - A series of Git tutorials.
* [Hg Init](http://hginit.com/) - A series of Mercurial tutorials. * [Hg Init](http://hginit.com/) - A series of Mercurial tutorials.
* [Semantic Versioning](http://semver.org/) - A website explaining semantic versioning. * [Learning Linux](https://linuxjourney.com/) - A website for learning Linux.
* [Semantic Versioning](https://semver.org/) - A website explaining semantic versioning.
* [Servers for Hackers](https://serversforhackers.com/) - A newsletter about server management. * [Servers for Hackers](https://serversforhackers.com/) - A newsletter about server management.
* [The Open Web Application Security Project (OWASP)](https://www.owasp.org/index.php/Main_Page) - An open software security community. * [The Open Web Application Security Project (OWASP)](https://www.owasp.org/index.php/Main_Page) - An open software security community.
* [WebSec IO](https://websec.io/) - A web security community resource. * [WebSec IO](https://websec.io/) - A web security community resource.
## PHP Books ### PHP Books
*Fantastic PHP-related books.* *Fantastic PHP-related books.*
* [Functional Programming in PHP](https://www.functionalphp.com/) - This book will show you how to leverage these new PHP5.3+ features by understanding functional programming principles * [Functional Programming in PHP](https://www.functionalphp.com/) - This book will show you how to leverage these new PHP5.3+ features by understanding functional programming principles
* [Grumpy PHPUnit](https://leanpub.com/grumpy-phpunit) - A book about unit testing with PHPUnit by Chris Hartjes. * [Grumpy PHPUnit](https://leanpub.com/grumpy-phpunit) - A book about unit testing with PHPUnit by Chris Hartjes.
* [Mastering Object-Orientated PHP](http://www.brandonsavage.net) - A book about object-orientated PHP by Brandon Savage. * [Mastering Object-Orientated PHP](https://www.brandonsavage.net/) - A book about object-orientated PHP by Brandon Savage.
* [Modern PHP New Features and Good Practices](http://shop.oreilly.com/product/0636920033868.do) - A book about new PHP features and best practices by Josh Lockhart. * [Modern PHP New Features and Good Practices](http://shop.oreilly.com/product/0636920033868.do) - A book about new PHP features and best practices by Josh Lockhart.
* [Modernizing Legacy Applications in PHP](https://leanpub.com/mlaphp) - A book about modernizing legacy PHP applications by Paul M. Jones. * [Modernizing Legacy Applications in PHP](https://leanpub.com/mlaphp) - A book about modernizing legacy PHP applications by Paul M. Jones.
* [PHP 7 Upgrade Guide](https://leanpub.com/php7) - An ebook covering all of the features and changes in PHP 7 by Colin O'Dell. * [PHP 7 Upgrade Guide](https://leanpub.com/php7) - An ebook covering all of the features and changes in PHP 7 by Colin O'Dell.
@ -922,7 +864,7 @@ Various resources, such as books, websites and articles, for improving your PHP
* [XML Parsing with PHP](https://www.phparch.com/books/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. * [XML Parsing with PHP](https://www.phparch.com/books/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.
* [Domain-Driven Design in PHP](https://leanpub.com/ddd-in-php) - Real examples written in PHP showcasing DDD Architectural Styles. * [Domain-Driven Design in PHP](https://leanpub.com/ddd-in-php) - Real examples written in PHP showcasing DDD Architectural Styles.
## Other Books ### Other Books
*Books related to general computing and web development.* *Books related to general computing and web development.*
* [Elasticsearch: The Definitive Guide](https://www.elastic.co/guide/index.html) - A guide to working with Elasticsearch by Clinton Gormley and Zachary Tong. * [Elasticsearch: The Definitive Guide](https://www.elastic.co/guide/index.html) - A guide to working with Elasticsearch by Clinton Gormley and Zachary Tong.
@ -934,7 +876,7 @@ Various resources, such as books, websites and articles, for improving your PHP
* [Understanding Computation](http://computationbook.com) - A book about computation theory by Tom Stuart. * [Understanding Computation](http://computationbook.com) - A book about computation theory by Tom Stuart.
* [Vagrant Cookbook](https://leanpub.com/vagrantcookbook) - A book about creating Vagrant environments by Erika Heidi. * [Vagrant Cookbook](https://leanpub.com/vagrantcookbook) - A book about creating Vagrant environments by Erika Heidi.
## PHP Videos ### PHP Videos
*Fantastic PHP-related videos.* *Fantastic PHP-related videos.*
* [Nomad PHP Lightning Talks](https://www.youtube.com/c/nomadphp) - 10 to 15 minute Lightning Talks by PHP community members. * [Nomad PHP Lightning Talks](https://www.youtube.com/c/nomadphp) - 10 to 15 minute Lightning Talks by PHP community members.
@ -942,30 +884,31 @@ Various resources, such as books, websites and articles, for improving your PHP
* [Programming with Anthony](https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW) - A video series by Anthony Ferrara. * [Programming with Anthony](https://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW) - A video series by Anthony Ferrara.
* [Taking PHP Seriously](https://www.infoq.com/presentations/php-history) - A talk outlining PHP's strengths by Keith Adams of Facebook. * [Taking PHP Seriously](https://www.infoq.com/presentations/php-history) - A talk outlining PHP's strengths by Keith Adams of Facebook.
## PHP Podcasts ### PHP Podcasts
*Podcasts with a main focus on PHP topics* *Podcasts with a focus on PHP topics.*
* [PHP Town Hall](https://phptownhall.com/) - A casual PHP podcast by Ben Edmunds and Phil Sturgeon. * [PHP Town Hall](https://phptownhall.com/) - A casual PHP podcast by Ben Edmunds and Phil Sturgeon.
* [Voices of the ElePHPant](https://voicesoftheelephpant.com/) Interviews with the people that make the PHP community special. * [Voices of the ElePHPant](https://voicesoftheelephpant.com/) Interviews with the people that make the PHP community special.
* [PHP Roundtable](https://www.phproundtable.com/) - The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about. * [PHP Roundtable](https://www.phproundtable.com/) - The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about.
## PHP Reading ### PHP Reading
*PHP-releated reading materials.* *PHP-releated reading materials.*
* [Composer Primer](https://daylerees.com/composer-primer/) - A Composer primer. * [Composer Primer](https://daylerees.com/composer-primer/) - A Composer primer.
* [Composer Stability Flags](https://igor.io/2013/02/07/composer-stability-flags.html) - An article about Composer stability flags. * [Composer Stability Flags](https://igor.io/2013/02/07/composer-stability-flags.html) - An article about Composer stability flags.
* [Composer Versioning](https://igor.io/2013/01/07/composer-versioning.html) - An article about Composer versioning. * [Composer Versioning](https://igor.io/2013/01/07/composer-versioning.html) - An article about Composer versioning.
* [Create Your Own PHP Framework](http://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-1.html) - A series of articles on how to make your own PHP framework by Fabien Potencier. * [Create Your Own PHP Framework](http://fabien.potencier.org/create-your-own-framework-on-top-of-the-symfony2-components-part-1.html) - A series of articles on how to make your own PHP framework by Fabien Potencier.
* [Don't Worry About BREACH](http://blog.ircmaxell.com/2013/08/dont-worry-about-breach.html) - An article about the BREACH hack and CSRF tokens. * [Don't Worry About BREACH](https://blog.ircmaxell.com/2013/08/dont-worry-about-breach.html) - An article about the BREACH hack and CSRF tokens.
* [On PHP 5.3, Lambda Functions and Closures](http://fabien.potencier.org/on-php-5-3-lambda-functions-and-closures.html) - An article about lambda functions and closures. * [On PHP 5.3, Lambda Functions and Closures](http://fabien.potencier.org/on-php-5-3-lambda-functions-and-closures.html) - An article about lambda functions and closures.
* [PHP Is Much Better Than You Think](http://fabien.potencier.org/php-is-much-better-than-you-think.html) - An article about the PHP language and ecosystem. * [PHP Is Much Better Than You Think](http://fabien.potencier.org/php-is-much-better-than-you-think.html) - An article about the PHP language and ecosystem.
* [PHP Package Checklist](http://phppackagechecklist.com/) - A checklist for successful PHP package development. * [PHP Package Checklist](http://phppackagechecklist.com/) - A checklist for successful PHP package development.
* [PHP Sucks! But I Like It!](http://blog.ircmaxell.com/2012/04/php-sucks-but-i-like-it.html) - An article about the pros and cons of PHP. * [PHP Sucks! But I Like It!](https://blog.ircmaxell.com/2012/04/php-sucks-but-i-like-it.html) - An article about the pros and cons of PHP.
* [Preventing CSRF Attacks](http://blog.ircmaxell.com/2013/02/preventing-csrf-attacks.html) - An article on preventing CSRF attacks. * [Preventing CSRF Attacks](https://blog.ircmaxell.com/2013/02/preventing-csrf-attacks.html) - An article on preventing CSRF attacks.
* [Seven Ways to Screw Up BCrypt](http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html) - An article about correct BCrypt implementation. * [Seven Ways to Screw Up BCrypt](https://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html) - An article about correct BCrypt implementation.
* [The 2018 Guide to Building Secure PHP Software](https://paragonie.com/blog/2017/12/2018-guide-building-secure-php-software) - A guide to building secure PHP software.
* [Use Env](https://seancoates.com/blogs/use-env/) - An article about using the unix environment helper. * [Use Env](https://seancoates.com/blogs/use-env/) - An article about using the unix environment helper.
## PHP Internals Reading ### PHP Internals Reading
*Reading materials related to the PHP internals or performance.* *Reading materials related to the PHP internals or performance.*
* [Disproving the Single Quotes Myth](http://nikic.github.io/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth.html) - An article about performance of single and double quoted strings. * [Disproving the Single Quotes Myth](http://nikic.github.io/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth.html) - An article about performance of single and double quoted strings.
@ -982,9 +925,9 @@ Various resources, such as books, websites and articles, for improving your PHP
* [Why Objects (Usually) Use Less Memory Than Arrays](https://gist.github.com/nikic/5015323) - An article about object and array internals. * [Why Objects (Usually) Use Less Memory Than Arrays](https://gist.github.com/nikic/5015323) - An article about object and array internals.
* [You're Being Lied To](http://blog.golemon.com/2007/01/youre-being-lied-to.html) - An article about internal ZVALs. * [You're Being Lied To](http://blog.golemon.com/2007/01/youre-being-lied-to.html) - An article about internal ZVALs.
* Collecting Garbage: [1](http://php.net/manual/en/features.gc.refcounting-basics.php) [2](http://php.net/manual/en/features.gc.collecting-cycles.php) [3](http://php.net/manual/en/features.gc.performance-considerations.php) - A series about the PHP garbage collection internals. * Collecting Garbage: [1](http://php.net/manual/en/features.gc.refcounting-basics.php) [2](http://php.net/manual/en/features.gc.collecting-cycles.php) [3](http://php.net/manual/en/features.gc.performance-considerations.php) - A series about the PHP garbage collection internals.
* PHP Source Code for Developers: [1](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html) [2](http://nikic.github.io/2012/03/16/Understanding-PHPs-internal-function-definitions.html) [3](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html) [4](http://nikic.github.io/2012/03/28/Understanding-PHPs-internal-array-implementation.html) - A series about the PHP source code. * PHP Source Code for Developers: [1](https://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html) [2](http://nikic.github.io/2012/03/16/Understanding-PHPs-internal-function-definitions.html) [3](https://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html) [4](http://nikic.github.io/2012/03/28/Understanding-PHPs-internal-array-implementation.html) - A series about the PHP source code.
## PHP Magazines ### PHP Magazines
*Fantastic PHP-related magazines.* *Fantastic PHP-related magazines.*
* [php[architect]](https://www.phparch.com/magazine/) - A monthly magazine dedicated to PHP. * [php[architect]](https://www.phparch.com/magazine/) - A monthly magazine dedicated to PHP.