Merge pull request #1 from ziadoz/master

rebase
This commit is contained in:
Artur 2015-09-02 13:19:19 +03:00
commit 0c1bafe5f8
3 changed files with 366 additions and 139 deletions

View File

@ -3,14 +3,15 @@ Please ensure your pull request adheres to the following guidelines:
* 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.
* Libraries that are PHP 5.3+, Composer-installable, PSR compliant, tested and documented are preferred. * Libraries that are PHP 5.3+, Composer-installable, PSR compliant, tested and documented are preferred.
* Please make an individual pull request for each suggestion. * Enter a meaningful pull request description.
* Please make an individual commit for each suggestion in a pull request.
* Put a link to each library in your pull request ticket so they're easier to look at.
* 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: Orno\DI would be Orno DI. * 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.
* Keep descriptions short and simple. * Keep descriptions short and simple.
* 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.
* New categories, or improvements to the existing categorisaton are welcome. * Make sure your text editor is set to remove trailing whitespace.
I try to open a ticket for suggestions each month, so feel free to add anything interesting to it.
Thank you for your suggestions! Thank you for your suggestions!

14
LICENSE.md Normal file
View File

@ -0,0 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

470
README.md
View File

@ -1,17 +1,23 @@
# Awesome PHP # Awesome PHP
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
Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md) for details.
## Table of Contents
- [Awesome PHP](#awesome-php) - [Awesome PHP](#awesome-php)
- [Package Management](#package-management) - [Dependency Management](#dependency-management)
- [Package Management Extras](#package-management-extras) - [Dependency Management Extras](#dependency-management-extras)
- [Frameworks](#frameworks) - [Frameworks](#frameworks)
- [Framework Extras](#framework-extras) - [Framework Extras](#framework-extras)
- [Framework Components](#framework-components) - [Components](#components)
- [Micro Frameworks](#micro-frameworks) - [Micro Frameworks](#micro-frameworks)
- [Micro Framework Extras](#micro-framework-extras) - [Micro Framework Extras](#micro-framework-extras)
- [Routers](#routers)
- [Templating](#templating) - [Templating](#templating)
- [Static Site Generators](#static-site-generators) - [Static Site Generators](#static-site-generators)
- [HTTP](#http) - [HTTP](#http)
- [Middlewares](#middlewares)
- [URL](#url) - [URL](#url)
- [Email](#email) - [Email](#email)
- [Files](#files) - [Files](#files)
@ -19,10 +25,16 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
- [Dependency Injection](#dependency-injection) - [Dependency Injection](#dependency-injection)
- [Imagery](#imagery) - [Imagery](#imagery)
- [Testing](#testing) - [Testing](#testing)
- [Continuous Integration](#continuous-integration)
- [Documentation](#documentation) - [Documentation](#documentation)
- [Security](#security) - [Security](#security)
- [Passwords](#passwords)
- [Code Analysis](#code-analysis) - [Code Analysis](#code-analysis)
- [Architectural](#architectural)
- [Debugging and Profiling](#debugging-and-profiling)
- [Build Tools](#build-tools) - [Build Tools](#build-tools)
- [Task Runners](#task-runners)
- [Navigation](#navigation)
- [Asset Management](#asset-management) - [Asset Management](#asset-management)
- [Geolocation](#geolocation) - [Geolocation](#geolocation)
- [Date and Time](#date-and-time) - [Date and Time](#date-and-time)
@ -30,56 +42,73 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
- [Logging](#logging) - [Logging](#logging)
- [E-commerce](#e-commerce) - [E-commerce](#e-commerce)
- [PDF](#pdf) - [PDF](#pdf)
- [ORM and Datamapping](#orm-and-datamapping) - [Office](#office)
- [Database](#database)
- [Migrations](#migrations)
- [NoSQL](#nosql) - [NoSQL](#nosql)
- [Queue](#queue) - [Queue](#queue)
- [Search](#search) - [Search](#search)
- [Command Line](#command-line) - [Command Line](#command-line)
- [Authentication](#authentication) - [Authentication and Authorization](#authentication-and-authorization)
- [Markup](#markup) - [Markup](#markup)
- [Text and Numbers](#text-and-numbers) - [Strings](#strings)
- [Numbers](#numbers)
- [Filtering and Validation](#filtering-and-validation) - [Filtering and Validation](#filtering-and-validation)
- [REST and API](#rest-and-api) - [API](#api)
- [Caching](#caching) - [Caching](#caching)
- [Data Structure and Storage](#data-structure-and-storage) - [Data Structure and Storage](#data-structure-and-storage)
- [Notifications](#notifications) - [Notifications](#notifications)
- [Deployment](#deployment) - [Deployment](#deployment)
- [Internationalisation and Localisation](#internationalisation-and-localisation)
- [Third Party APIs](#third-party-apis) - [Third Party APIs](#third-party-apis)
- [Extensions](#extensions)
- [Miscellaneous](#miscellaneous) - [Miscellaneous](#miscellaneous)
- [Development Software](#development-software) - [Software](#software)
- [Web Tools](#web-tools) - [PHP Installation](#php-installation)
- [Development Environment](#development-environment)
- [Virtual Machines](#virtual-machines)
- [Integrated Development Environment](#integrated-development-environment)
- [Web Applications](#web-applications)
- [Infrastructure](#infrastructure)
- [Resources](#resources) - [Resources](#resources)
- [Websites](#websites) - [PHP Websites](#php-websites)
- [Books](#books) - [Other Websites](#other-websites)
- [Web Reading](#web-reading) - [PHP Books](#php-books)
- [PHP Videos](#php-videos)
- [PHP Reading](#php-reading) - [PHP Reading](#php-reading)
- [PHP Internals Reading](#php-internals-reading) - [PHP Internals Reading](#php-internals-reading)
- [Contributing](#contributing) - [Contributing](#contributing)
## Package Management ## Dependency Management
*Libraries for package and dependency management.* *Libraries for dependency and package management.*
* [Composer](http://getcomposer.org/)/[Packagist](http://packagist.org/) - A package and dependency manager. * [Composer](http://getcomposer.org/)/[Packagist](http://packagist.org/) - A package and dependency manager.
* [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.
* [Pickle](https://github.com/FriendsOfPHP/pickle) - A PHP extension installer.
* [Melody](http://melody.sensiolabs.org/) - A tool to build one file Composer scripts.
## Package Management Extras ## Dependency Management Extras
*Extras related to package management.* *Extras related to dependency management.*
* [Satis](https://github.com/composer/satis) - A static Composer repository generator. * [Satis](https://github.com/composer/satis) - A static Composer repository generator.
* [Toran Proxy](https://toranproxy.com) - A static Composer repository and proxy.
* [Composition](https://github.com/bamarni/composition) - A library to check your Composer environment at runtime. * [Composition](https://github.com/bamarni/composition) - A library to check your Composer environment at runtime.
* [Poser](https://github.com/FrenkyNet/Poser) - A Composer class aliasing library.
* [Version](https://github.com/herrera-io/php-version) - A parsing and comparison library for semantic versioning. * [Version](https://github.com/herrera-io/php-version) - A parsing and comparison library for semantic versioning.
* [NameSpacer](https://github.com/ralphschindler/Namespacer) - A library to convert from underscores to namespaces. * [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. * [Patch Installer](https://github.com/goatherd/patch-installer) - A library to install patches using Composer.
* [Composer Checker](https://github.com/silpion/composer-checker) - A tool to validate Composer configurations.
## Frameworks ## Frameworks
*Web development frameworks.* *Web development frameworks.*
* [Symfony2](http://symfony.com/) - A framework comprised of individual components. * [Symfony 2](http://symfony.com/) - A framework comprised of individual components (SF2).
* [Zend Framework 2](http://framework.zend.com) - Another framework comprised of individual components. * [Zend Framework 2](http://framework.zend.com) - Another framework comprised of individual components (ZF2).
* [Laravel 4](http://laravel.com/) - A simple PHP framework. * [Laravel 5](http://laravel.com/) - Another PHP framework (L5).
* [Lithium](http://li3.me/) - Another framework of components.
* [Aura PHP](http://auraphp.com/) - A framework of independent components. * [Aura PHP](http://auraphp.com/) - A framework of independent components.
* [Yii2](https://github.com/yiisoft/yii2/) - Another PHP framework.
* [Nette](http://nette.org) - Another framework comprised of individual components.
* [PPI Framework 2](http://www.ppi.io) - An interoperability framework.
* [CakePHP](http://cakephp.org/) - A rapid application development framework.
* [Phalcon](http://phalconphp.com/en/) - A framework implemented as a C extension. * [Phalcon](http://phalconphp.com/en/) - A framework implemented as a C extension.
## Framework Extras ## Framework Extras
@ -88,30 +117,40 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [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.
* [Knp RAD Bundle](http://rad.knplabs.com/) - A Rapid Application Development (RAD) bundle for Symfony 2. * [Knp RAD Bundle](http://rad.knplabs.com/) - A Rapid Application Development (RAD) bundle for Symfony 2.
## Framework Components ## Components
*Standalone component from web development frameworks.* *Standalone component from web development frameworks and development groups.*
* [Symfony2 Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony2. * [Symfony2 Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony 2.
* [Zend Framework 2 Components](https://packages.zendframework.com/) - The components that make ZF2. * [Zend Framework 2 Components](https://packages.zendframework.com/) - The components that make Zend Framework.
* [Aura Components](http://auraphp.github.com/) - A package of PHP 5.4 components. * [Aura Components](http://auraphp.github.com/) - A package of PHP 5.4 components.
* [Hoa Project](http://hoa-project.net/En/) - Another package of PHP components.
* [League of Extraordinary Packages](https://thephpleague.com/) - A PHP package development group.
## Micro Frameworks ## Micro Frameworks
*Micro frameworks and routers.* *Micro frameworks and routers.*
* [Silex](http://silex.sensiolabs.org/) - A micro framework built around Symfony2 components. * [Silex](http://silex.sensiolabs.org/) - A micro framework built around Symfony2 components.
* [Slim](http://www.slimframework.com/) - Another simple micro framework. * [Slim](http://www.slimframework.com/) - Another simple micro framework.
* [Bullet PHP](http://bulletphp.com/) - A mico framework for building REST APIs. * [Bullet PHP](http://bulletphp.com/) - A micro framework for building REST APIs.
* [Lumen](http://lumen.laravel.com) - A micro-framework by Laravel.
* [Fast Route](https://github.com/nikic/FastRoute) - A fast routing library.
* [Pux](https://github.com/c9s/Pux) - Another fast routing library. * [Pux](https://github.com/c9s/Pux) - Another fast routing library.
* [Proton](https://github.com/alexbilbie/Proton) - A StackPHP compatible 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/fabpot/Silex-Skeleton) - A project skeleton for Silex. * [Silex Skeleton](https://github.com/fabpot/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.
* [Stack](https://github.com/stackphp) - A library of stackable middleware for Silex/Symfony.
* [Slim Skeleton](https://github.com/codeguy/Slim-Skeleton) - A skeleton for Slim. * [Slim Skeleton](https://github.com/codeguy/Slim-Skeleton) - A skeleton for Slim.
* [Slim View](https://github.com/codeguy/Slim-Views) - A collection of custom views for Slim. * [Slim View](https://github.com/codeguy/Slim-Views) - A collection of custom views for Slim.
* [Slim Middleware](https://github.com/codeguy/Slim-Middleware) - A collection of custom middleware for Slim.
## Routers
*Libraries for handling application routing.*
* [Fast Route](https://github.com/nikic/FastRoute) - A fast routing library.
* [Route](https://github.com/thephpleague/route) - A routing library built on top of Fast Route.
* [Pux](https://github.com/c9s/Pux) - Another fast routing library.
* [Klein](https://github.com/chriso/klein.php) - A flexible router.
## Templating ## Templating
*Libraries and tools for templating and lexing.* *Libraries and tools for templating and lexing.*
@ -121,6 +160,7 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [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/weierophinney/phly_mustache) - Another PHP implementation of the Mustache template language. * [Phly Mustache](https://github.com/weierophinney/phly_mustache) - Another PHP implementation of the Mustache template language.
* [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.
* [PHPTAL](http://phptal.org/) - A PHP implementation of the [TAL](http://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.
* [Lex](https://github.com/pyrocms/lex) - A lightweight template parser. * [Lex](https://github.com/pyrocms/lex) - A lightweight template parser.
@ -133,17 +173,26 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
## HTTP ## HTTP
*Libraries for working with HTTP and scraping websites.* *Libraries for working with HTTP and scraping websites.*
* [Guzzle](http://guzzlephp.org/) - A HTTP client. * [Guzzle]( https://github.com/guzzle/guzzle) - A comprehensive HTTP client.
* [Buzz](https://github.com/kriswallsmith/Buzz) - Another HTTP client. * [Buzz](https://github.com/kriswallsmith/Buzz) - Another HTTP client.
* [Requests](https://github.com/rmccue/Requests) - A simple HTTP library. * [Requests](https://github.com/rmccue/Requests) - A simple HTTP library.
* [HTTPFul](https://github.com/nategood/httpful) - A chainable HTTP client.
* [Goutte](https://github.com/fabpot/Goutte) - A simple web scraper. * [Goutte](https://github.com/fabpot/Goutte) - A simple web scraper.
* [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.
## Middlewares
*Libraries for building application using middlewares.*
* [Stack](https://github.com/stackphp) - A library of stackable middleware for Silex/Symfony.
* [Slim Middleware](https://github.com/codeguy/Slim-Middleware) - A collection of custom middleware for Slim.
* [Conduit](https://github.com/phly/conduit) - A port of [Sencha Connect](https://github.com/senchalabs/connect) to PHP.
## URL ## URL
*Libraries for parsing URLs.* *Libraries for parsing URLs.*
* [Purl](https://github.com/jwage/purl) - A URL manipulation library. * [Purl](https://github.com/jwage/purl) - A URL manipulation library.
* [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.
* [Url](https://github.com/thephpleague/url) - A simple URL manipulation library.
## Email ## Email
*Libraries for sending and parsing email.* *Libraries for sending and parsing email.*
@ -152,7 +201,9 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [PHPMailer](https://github.com/PHPMailer/PHPMailer) - Another mailer solution. * [PHPMailer](https://github.com/PHPMailer/PHPMailer) - Another mailer solution.
* [Fetch](https://github.com/tedivm/Fetch) - An IMAP library. * [Fetch](https://github.com/tedivm/Fetch) - An IMAP library.
* [Email Reply Parser](https://github.com/willdurand/EmailReplyParser) - An email reply parser library. * [Email Reply Parser](https://github.com/willdurand/EmailReplyParser) - An email reply parser library.
* [Stampie](https://github.com/henrikbjorn/Stampie) - A library for email services such as [SendGrid](http://sendgrid.com), [PostMark](http://postmarkapp.com) and [MailGun](http://www.mailgun.com). * [Stampie](https://github.com/henrikbjorn/Stampie) - A library for email services such as [SendGrid](http://sendgrid.com), [PostMark](http://postmarkapp.com), [MailGun](http://www.mailgun.com) and [Mandrill](http://www.mandrill.com).
* [CssToInlineStyles](https://github.com/tijsverkoyen/CssToInlineStyles) - A library to inline CSS in email templates.
* [Email Validator](https://github.com/nojacko/email-validator) - A small email address validation library.
## Files ## Files
*Libraries for file manipulation and MIME type detection.* *Libraries for file manipulation and MIME type detection.*
@ -166,6 +217,7 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Lurker](https://github.com/henrikbjorn/Lurker) - A resource tracking library. * [Lurker](https://github.com/henrikbjorn/Lurker) - A resource tracking library.
* [PHP File Locator](https://github.com/herrera-io/php-file-locator) - A library for locating files in large projects. * [PHP File Locator](https://github.com/herrera-io/php-file-locator) - A library for locating files in large projects.
* [PHP FFmpeg](https://github.com/alchemy-fr/PHP-FFmpeg/) - A wrapper for the [FFmpeg](http://www.ffmpeg.org/) video library. * [PHP FFmpeg](https://github.com/alchemy-fr/PHP-FFmpeg/) - A wrapper for the [FFmpeg](http://www.ffmpeg.org/) video library.
* [CSV](https://github.com/thephpleague/csv) - A CSV data manipulation library.
## Streams ## Streams
*Libraries for working with streams.* *Libraries for working with streams.*
@ -177,9 +229,10 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Pimple](http://pimple.sensiolabs.org/) - A tiny dependency injection container. * [Pimple](http://pimple.sensiolabs.org/) - A tiny dependency injection container.
* [Auryn](https://github.com/rdlowrey/Auryn) - Another dependency injection container. * [Auryn](https://github.com/rdlowrey/Auryn) - Another dependency injection container.
* [Orno Di](https://github.com/orno/di) - Another flexible dependency injection container. * [Container](https://github.com/thephpleague/container) - Another flexible dependency injection container.
* [PHP DI](http://mnapoli.github.com/PHP-DI/) - A dependency injection implementation using annotations. * [PHP-DI](http://php-di.org/) - A dependency injection container that supports autowiring.
* [Acclimate](https://github.com/jeremeamia/acclimate) - A common interface to dependency injection containers and service locators. * [Acclimate](https://github.com/jeremeamia/acclimate) - A common interface to dependency injection containers and service locators.
* [Symfony DI](https://github.com/symfony/DependencyInjection) - A dependency injection container component (SF2).
## Imagery ## Imagery
*Libraries for manipulating images.* *Libraries for manipulating images.*
@ -191,6 +244,8 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [GIF Creator](https://github.com/Sybio/GifCreator) - A library to create GIF animations from multiple images. * [GIF Creator](https://github.com/Sybio/GifCreator) - A library to create GIF animations from multiple images.
* [Image With Text](https://github.com/nmcteam/image-with-text) - A library for embedding text into images. * [Image With Text](https://github.com/nmcteam/image-with-text) - A library for embedding text into images.
* [Color Extractor](https://github.com/php-loep/color-extractor) - A library for extracting colours from images. * [Color Extractor](https://github.com/php-loep/color-extractor) - A library for extracting colours from images.
* [Glide](https://github.com/thephpleague/glide) - An on-demand image manipulation library.
* [Image Optimizer](https://github.com/psliwa/image-optimizer) - A library for optimizing images.
## Testing ## Testing
*Libraries for testing codebases and generating test data.* *Libraries for testing codebases and generating test data.*
@ -200,11 +255,11 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [ParaTest](https://github.com/brianium/paratest) - A parallel testing library for PHPUnit. * [ParaTest](https://github.com/brianium/paratest) - A parallel testing library for PHPUnit.
* [PHPSpec](https://github.com/phpspec/phpspec) - A design by specification unit testing library. * [PHPSpec](https://github.com/phpspec/phpspec) - A design by specification unit testing library.
* [Codeception](https://github.com/Codeception/Codeception) - A full stack testing framework. * [Codeception](https://github.com/Codeception/Codeception) - A full stack testing framework.
* [AspectMock](https://github.com/Codeception/AspectMock) - A mocking framework for PHPUnit/Codeception.
* [Atoum](https://github.com/atoum/atoum) - A simple testing library. * [Atoum](https://github.com/atoum/atoum) - A simple testing library.
* [Mockery](https://github.com/padraic/mockery) - A mock object library for testing. * [Mockery](https://github.com/padraic/mockery) - A mock object library for testing.
* [Phake](https://github.com/mlively/Phake) - Another mock object library for testing. * [Phake](https://github.com/mlively/Phake) - Another mock object library for testing.
* [Parody](https://github.com/dotink/Parody) - Yet another mock object library for testing. * [Prophecy](https://github.com/phpspec/prophecy) - A highly opinionated mocking framework.
* [Sismo](http://sismo.sensiolabs.org/) - A continuous testing server library.
* [Faker](https://github.com/fzaninotto/Faker) - A fake data generator library. * [Faker](https://github.com/fzaninotto/Faker) - A fake data generator library.
* [Samsui](https://github.com/mauris/samsui) - Another fake data generator library. * [Samsui](https://github.com/mauris/samsui) - Another fake data generator library.
* [Alice](https://github.com/nelmio/alice) - An expressive fixture generation library. * [Alice](https://github.com/nelmio/alice) - An expressive fixture generation library.
@ -213,9 +268,19 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Mink](http://mink.behat.org/) - Web acceptance testing. * [Mink](http://mink.behat.org/) - Web acceptance testing.
* [HTTP Mock](https://github.com/InterNations/http-mock) - A library for mocking HTTP requests in unit tests. * [HTTP Mock](https://github.com/InterNations/http-mock) - A library for mocking HTTP requests in unit tests.
* [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/vfs.php) - Another virtual filesystem for testing.
* [Locust](http://locust.io/) - A modern load test library written in Python. * [Locust](http://locust.io/) - A modern load test library written in Python.
* [Peridot](https://github.com/peridot-php/peridot) - An event driven test framework.
## Continuous Integration
*Libraries and applications for continuous integration.*
* [Travis CI](https://travis-ci.org/) - A continuous integration platform. * [Travis CI](https://travis-ci.org/) - A continuous integration platform.
* [SemaphoreCI](https://semaphoreapp.com/) - A continuous integration platform for open source and private projects.
* [PHPCI](http://www.phptesting.org/) - An open source continuous integration platform for PHP. * [PHPCI](http://www.phptesting.org/) - An open source continuous integration platform for PHP.
* [Sismo](http://sismo.sensiolabs.org/) - A continuous testing server library.
* [Jenkins](http://jenkins-ci.org/) - A continous integration platform with [PHP support](http://jenkins-php.org/index.html).
* [JoliCi](https://github.com/jolicode/JoliCi) - A continuous integration client written in PHP and powered by Docker.
## Documentation ## Documentation
*Libraries for generating project documentation.* *Libraries for generating project documentation.*
@ -223,6 +288,7 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Sami](https://github.com/fabpot/Sami) - An API documentation generator. * [Sami](https://github.com/fabpot/Sami) - An API documentation generator.
* [APIGen](https://github.com/apigen/apigen) - Another API documentation generator. * [APIGen](https://github.com/apigen/apigen) - Another API documentation generator.
* [PHP Documentor 2](https://github.com/phpDocumentor/phpDocumentor2) - A documentation generator. * [PHP Documentor 2](https://github.com/phpDocumentor/phpDocumentor2) - A documentation generator.
* [phpDox](http://phpdox.de/) - A documentation generator for PHP projects (that is not limited to API documentation).
## 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.*
@ -231,21 +297,27 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [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.
* [True Random](https://github.com/pixeloution/true-random) - A library that generates random numbers using [www.random.org](http://www.random.org/). * [True Random](https://github.com/pixeloution/true-random) - A library that generates random numbers using [www.random.org](http://www.random.org/).
* [SecurityMultiTool](https://github.com/padraic/SecurityMultiTool) - A PHP security library. * [SecurityMultiTool](https://github.com/padraic/SecurityMultiTool) - A PHP security library.
* [Password Compat](https://github.com/ircmaxell/password_compat) - A compatibility library for the new PHP 5.5 password functions.
* [PHPAss](http://www.openwall.com/phpass/) - A portable password hashing framework.
* [PHP Password Lib](https://github.com/ircmaxell/PHP-PasswordLib) - A library for generating and validating passwords.
* [Password Policy](https://github.com/ircmaxell/password-policy) - A password policy library for PHP and JavaScript.
* [Password Validator](https://github.com/jeremykendall/password-validator) - A library for validating and upgrading password hashes.
* [PHPSecLib](http://phpseclib.sourceforge.net/) - A pure PHP secure communications library. * [PHPSecLib](http://phpseclib.sourceforge.net/) - A pure PHP secure communications library.
* [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.
* [PHP IDS](https://github.com/PHPIDS/PHPIDS) - A structured PHP security layer. * [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.
* [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.
* [SensioLabs Security Check](https://security.sensiolabs.org/) - A web tool to check your Composer dependecies for security advisories. * [SensioLabs Security Check](https://security.sensiolabs.org/) - A web tool to check your Composer dependencies for security advisories.
* [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
*Libraries and tools for working with and storing passwords.*
* [Password Compat](https://github.com/ircmaxell/password_compat) - A compatibility library for the new PHP 5.5 password functions.
* [phpass](http://www.openwall.com/phpass/) - A portable password hashing framework.
* [PHP Password Lib](https://github.com/ircmaxell/PHP-PasswordLib) - A library for generating and validating passwords.
* [Password Policy](https://github.com/ircmaxell/password-policy) - A password policy library for PHP and JavaScript.
* [Password Validator](https://github.com/jeremykendall/password-validator) - A library for validating and upgrading password hashes.
* [Zxcvbn PHP](https://github.com/bjeavons/zxcvbn-php) - A realistic PHP password strength estimate library based on Zxcvbn JS.
* [GenPhrase](https://github.com/timoh6/GenPhrase) - A library for generating secure random passphrases.
## Code Analysis ## Code Analysis
*Libraries and tools for analysing, parsing and manipulation codebases.* *Libraries and tools for analysing, parsing and manipulating codebases.*
* [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.
* [PHPPHP](https://github.com/ircmaxell/PHPPHP) - A PHP VM implementation in PHP. * [PHPPHP](https://github.com/ircmaxell/PHPPHP) - A PHP VM implementation in PHP.
@ -255,17 +327,47 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [PHP Code Sniffer](https://github.com/squizlabs/PHP_CodeSniffer) - A library that detects PHP, CSS and JS coding standard violations. * [PHP Code Sniffer](https://github.com/squizlabs/PHP_CodeSniffer) - A library that detects PHP, CSS and JS coding standard violations.
* [PHPCPD](https://github.com/sebastianbergmann/phpcpd) - A library that detects copied and pasted code. * [PHPCPD](https://github.com/sebastianbergmann/phpcpd) - A library that detects copied and pasted code.
* [PHP Analyser](https://github.com/scrutinizer-ci/php-analyzer) - A library for analysing PHP code to find bugs and errors. * [PHP Analyser](https://github.com/scrutinizer-ci/php-analyzer) - A library for analysing PHP code to find bugs and errors.
* [PHP CS Fixer](https://github.com/fabpot/PHP-CS-Fixer) - A coding standard fixer library. * [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 Manipulator](https://github.com/schmittjoh/php-manipulator) - A library for analysing and modifying PHP Source Code.
* [PHP Metrics](https://github.com/Halleck45/PhpMetrics) - A static metric library.
* [PHP Refactoring Browser](https://github.com/QafooLabs/php-refactoring-browser) - A command line utility for refactoring PHP code. * [PHP Refactoring Browser](https://github.com/QafooLabs/php-refactoring-browser) - A command line utility for refactoring PHP code.
* [UBench](https://github.com/devster/ubench) - A simple micro benchmark library. * [UBench](https://github.com/devster/ubench) - A simple micro benchmark library.
* [Athletic](https://github.com/polyfractal/athletic) - An annotation based benchmark framework. * [Athletic](https://github.com/polyfractal/athletic) - An annotation based benchmark framework.
* [Mondrian](https://github.com/Trismegiste/Mondrian) - A code analysis tool using Graph Theory. * [Mondrian](https://github.com/Trismegiste/Mondrian) - A code analysis tool using Graph Theory.
* [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to scrutinise PHP code.
* [PHPLOC](https://github.com/sebastianbergmann/phploc) - A tool for quickly measuring the size of a PHP project.
* [PHPCheckstyle](https://github.com/jbrooksuk/phpcheckstyle) - A tool to help adhere to certain coding conventions.
* [PhpDependencyAnalysis](https://github.com/mamuz/PhpDependencyAnalysis) - A tool to create customisable dependency graphs.
* [Code Climate](http://codeclimate.com) - An automated code review.
## Architectural
*Libraries related to design patterns, programming approaches and ways to organize code.*
* [PHP Option](https://github.com/schmittjoh/php-option) - An option type library.
* [Ruler](https://github.com/bobthecow/Ruler) - A simple stateless production rules engine.
* [Finite](http://yohan.giarel.li/Finite) - A simple PHP finite state machine.
* [Compose](https://github.com/igorw/compose) - A function composition library.
* [Monad PHP](https://github.com/ircmaxell/monad-php) - A simple Monad library.
* [Patchwork](http://antecedent.github.io/patchwork/) - A library for redefining userland functions.
* [Galapagos](https://github.com/endel/galapagos) - Evolutionary language transformation.
* [Design Patterns PHP](https://github.com/domnikl/DesignPatternsPHP) - A repository of software patterns implemented in PHP.
* [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library.
* [Lib Accessor](https://github.com/phine/lib-accessor) - A library for simplifying accessors.
* [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators.
## Debugging and Profiling
*Libraries and tools for debugging and profiling code.*
* [xDebug](https://github.com/xdebug/xdebug) - A debug and profile tool for PHP.
* [PHP Debug Bar](http://phpdebugbar.com/) - A debugging toolbar. * [PHP Debug Bar](http://phpdebugbar.com/) - A debugging toolbar.
* [PHP Console](https://github.com/Seldaek/php-console) - A web debugging console. * [PHP Console](https://github.com/Seldaek/php-console) - A web debugging console.
* [Barbushin PHP Console](https://github.com/barbushin/php-console) - Another web debugging console using Google Chrome. * [Barbushin PHP Console](https://github.com/barbushin/php-console) - Another web debugging console using Google Chrome.
* [PHPDBG](http://phpdbg.com/) - An interactive PHP debugger. * [PHPDBG](http://phpdbg.com/) - An interactive PHP debugger.
* [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to scrutinise PHP code. * [Tracy](https://github.com/nette/tracy) - A simple error detection, logging and time measuring library.
* [Z-Ray](http://www.zend.com/en/products/server/z-ray) - A debug and profile tool for Zend Server.
* [XHProf](https://github.com/phacility/xhprof) - A profiling tool originally developed by Facebook.
* [Blackfire.io](http://blackfire.io) - A low-overhead code profiler.
* [Kint](https://github.com/raveren/kint) - A debugging and profiling tool.
## Build Tools ## Build Tools
*Project build and automation tools.* *Project build and automation tools.*
@ -276,6 +378,18 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Box](https://github.com/kherge/Box) - A utility to build PHAR files. * [Box](https://github.com/kherge/Box) - A utility to build PHAR files.
* [Phing](http://www.phing.info/) - A PHP project build system inspired by Apache Ant. * [Phing](http://www.phing.info/) - A PHP project build system inspired by Apache Ant.
## Task Runners
*Libraries for automating and running tasks.*
* [Task](http://taskphp.github.io/) - A pure PHP task runner inspired by Grunt and Gulp.
* [Robo](https://github.com/Codegyre/Robo) - A PHP Task runner with object-orientated configurations.
* [Bldr](http://bldr.io/) - A PHP Task runner built on Symfony components.
## Navigation
*Tools for building navigation structures.*
* [KnpMenu](https://github.com/KnpLabs/KnpMenu) - A menu library.
* [Cartographer](https://github.com/tackk/cartographer) - A sitemap generation library.
## Asset Management ## Asset Management
*Tools for managing, compressing and minifying website assets.* *Tools for managing, compressing and minifying website assets.*
@ -283,6 +397,7 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Pipe](https://github.com/CHH/pipe) - Another asset manager pipeline library. * [Pipe](https://github.com/CHH/pipe) - Another asset manager pipeline library.
* [Munee](https://github.com/meenie/munee) - An asset optimiser library. * [Munee](https://github.com/meenie/munee) - An asset optimiser library.
* [JShrink](https://github.com/tedivm/JShrink) - A JavaScript minifier library. * [JShrink](https://github.com/tedivm/JShrink) - A JavaScript minifier library.
* [Puli](https://github.com/webmozart/puli) - A library for determining assets absolute paths.
## Geolocation ## Geolocation
*Libraries for geocoding addresses and working with latitudes and longitudes.* *Libraries for geocoding addresses and working with latitudes and longitudes.*
@ -306,47 +421,65 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Rx.PHP](https://github.com/asm89/Rx.PHP) - A reactive extension library. * [Rx.PHP](https://github.com/asm89/Rx.PHP) - A reactive extension library.
* [Ratchet](https://github.com/cboden/Ratchet) - A web socket library. * [Ratchet](https://github.com/cboden/Ratchet) - A web socket library.
* [Hoa WebSocket](https://github.com/hoaproject/Websocket) - Another web socket library. * [Hoa WebSocket](https://github.com/hoaproject/Websocket) - Another web socket library.
* [Elephant.io](https://github.com/Wisembly/Elephant.io) - Yet another web socket library.
* [Hoa EventSource](https://github.com/hoaproject/Eventsource) - An event source library. * [Hoa EventSource](https://github.com/hoaproject/Eventsource) - An event source library.
* [Evenement](https://github.com/igorw/evenement) - An event dispatcher library. * [Evenement](https://github.com/igorw/evenement) - An event dispatcher library.
* [FuelPHP Event](https://github.com/fuelphp/event) - Another event dispatcher library. * [Event](https://github.com/thephpleague/event) - An event library with a focus on domain events.
* [Broadway](https://github.com/qandidate-labs/broadway) - An event source and CQRS library.
## Logging ## Logging
*Libraries for generating and working with log files.* *Libraries for generating and working with log files.*
* [Monolog](https://github.com/Seldaek/monolog) - A comprehensive logger. * [Monolog](https://github.com/Seldaek/monolog) - A comprehensive logger.
* [KLogger](https://github.com/katzgrau/KLogger) - An easy-to-use PSR-3 compliant logging class.
* [Analog](https://github.com/jbroadway/analog) - A closure-based micro logging package.
## 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.*
* [OmniPay](https://github.com/adrianmacneil/omnipay) - A framework agnostic multi-gateway payment processing library. * [OmniPay](https://github.com/thephpleague/omnipay) - A framework agnostic multi-gateway payment processing library.
* [Payum](https://github.com/payum/payum) - A payment abstraction library. * [Payum](https://github.com/payum/payum) - A payment abstraction library.
* [Sylius](http://www.sylius.com/) - An open source e-commerce solution. * [Sylius](http://www.sylius.org/) - An open source e-commerce solution.
* [Thelia](http://thelia.net/v2/) - Another open source e-commerce solution. * [Thelia](http://thelia.net/v2/) - Another open source e-commerce solution.
* [Money](https://github.com/mathiasverraes/money) - A PHP implementation of Fowler's money pattern. * [Money](https://github.com/mathiasverraes/money) - A PHP implementation of Fowler's money pattern.
* [Sebastian Money](https://github.com/sebastianbergmann/money) - Another library for working with monetary values.
* [Swap](https://github.com/florianv/swap) - An exchange rates library.
## PDF ## PDF
*Libraries and software for working with PDF files.* *Libraries and software for working with PDF files.*
* [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/antialize/wkhtmltopdf) - A tool to convert HTML to PDF. * [WKHTMLToPDF](https://github.com/antialize/wkhtmltopdf) - A tool to convert HTML to PDF.
* [PHPPdf](https://github.com/psliwa/PHPPdf) - A library for generating PDFs and images from XML.
## ORM and Datamapping ## Office
*Libraries that implement object-relational mapping or datamapping techniques.* *Libraries for working with office suite documents.*
* [PHPWord](https://github.com/PHPOffice/PHPWord) - A library for working with Microsoft Word documents.
* [PHPExcel](https://github.com/PHPOffice/PHPExcel) - A library for working with Microsoft Excel documents.
* [PHPPowerPoint](https://github.com/PHPOffice/PHPPowerPoint) - A library for working with Microsoft Word documents.
* [ExcelAnt](https://github.com/Wisembly/ExcelAnt) - A library for manipulating Microsoft Excel documents.
## Database
*Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.*
* [Doctrine](http://www.doctrine-project.org/) - A comprehensive DBAL and ORM. * [Doctrine](http://www.doctrine-project.org/) - A comprehensive DBAL and ORM.
* [Doctrine Migrations](http://docs.doctrine-project.org/projects/doctrine-migrations/en/latest/toc.html) - A migration library for Doctrine.
* [Doctrine Extensions](https://github.com/l3pp4rd/DoctrineExtensions) - A collection of Doctrine behavioural extensions. * [Doctrine Extensions](https://github.com/l3pp4rd/DoctrineExtensions) - A collection of Doctrine behavioural extensions.
* [Propel](http://www.propelorm.org/) - A fast ORM. * [Propel](http://www.propelorm.org/) - A fast ORM, migration library and query builder.
* [Eloquent](https://github.com/illuminate/database) - The Laravel 4 ORM. * [Eloquent](https://github.com/illuminate/database) - A simple ORM (L5).
* [Baum](https://github.com/etrepat/baum) - A nested set implementation for Eloquent. * [Baum](https://github.com/etrepat/baum) - A nested set implementation for Eloquent.
* [Spot](https://github.com/vlucas/Spot) - A MySQL datamapper ORM. * [Spot2](https://github.com/vlucas/spot2) - A MySQL datamapper ORM.
* [RedBean](http://redbeanphp.com/) - A lightweight, configuration-less ORM. * [RedBean](http://redbeanphp.com/) - A lightweight, configuration-less ORM.
* [PHP ActiveRecord](https://github.com/kla/php-activerecord) - A PHP Active Record implementation.
* [Paris and Idiorm](http://j4mie.github.io/idiormandparis/) - A minimalist database library.
* [Pomm](https://github.com/chanmix51/Pomm) - An Object Model Manager for PostgreSQL. * [Pomm](https://github.com/chanmix51/Pomm) - An Object Model Manager for PostgreSQL.
* [Migrations](https://github.com/icomefromthenet/Migrations) - A migration management library. * [ProxyManager](https://github.com/Ocramius/ProxyManager) - A set of utilities to generate proxy objects for data mappers.
## Migrations
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.
* [Phinx](https://github.com/robmorgan/phinx) - Another database migration library. * [Phinx](https://github.com/robmorgan/phinx) - Another database migration library.
* [Migrations](https://github.com/icomefromthenet/Migrations) - A migration management library.
* [Doctrine Migrations](http://docs.doctrine-project.org/projects/doctrine-migrations/en/latest/toc.html) - A migration library for Doctrine.
## NoSQL ## NoSQL
*Libraries for working with "NoSQL" backends.* *Libraries for working with "NoSQL" backends.*
@ -369,12 +502,14 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [ElasticSearch PHP](https://github.com/elasticsearch/elasticsearch-php) - The official client library for [ElasticSearch](http://www.elasticsearch.org/). * [ElasticSearch PHP](https://github.com/elasticsearch/elasticsearch-php) - The official client library for [ElasticSearch](http://www.elasticsearch.org/).
* [Elastica](https://github.com/ruflin/Elastica) - A client library for ElasticSearch. * [Elastica](https://github.com/ruflin/Elastica) - A client library for ElasticSearch.
* [Solarium](http://www.solarium-project.org/) - A client library for [Solr](http://lucene.apache.org/solr/). * [Solarium](http://www.solarium-project.org/) - A client library for [Solr](http://lucene.apache.org/solr/).
* [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 for building command line utilities.* *Libraries related to the command line.*
* [Boris](https://github.com/d11wtq/boris) - A tiny PHP REPL. * [Boris](https://github.com/d11wtq/boris) - A tiny PHP REPL.
* [PsySH](https://github.com/bobthecow/psysh) - Another PHP REPL. * [PsySH](https://github.com/bobthecow/psysh) - Another PHP REPL.
* [Pecan](https://github.com/mcrumm/pecan) - An event-driven, non-blocking shell.
* [GetOpt](https://github.com/ulrichsg/getopt-php) - A command line opt parser. * [GetOpt](https://github.com/ulrichsg/getopt-php) - A command line opt parser.
* [OptParse](https://github.com/CHH/optparse) - Another command line opt parser. * [OptParse](https://github.com/CHH/optparse) - Another command line opt parser.
* [Commando](https://github.com/nategood/commando) - Another simple command line opt parser. * [Commando](https://github.com/nategood/commando) - Another simple command line opt parser.
@ -383,48 +518,63 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [ShellWrap](https://github.com/MrRio/shellwrap) - A simple command line wrapper library. * [ShellWrap](https://github.com/MrRio/shellwrap) - A simple command line wrapper library.
* [Hoa Console](https://github.com/hoaproject/Console) - Another command line library. * [Hoa Console](https://github.com/hoaproject/Console) - Another command line library.
* [Shunt](https://github.com/php-loep/shunt) - A library for running commands in parallel on multiple remote machines. * [Shunt](https://github.com/php-loep/shunt) - A library for running commands in parallel on multiple remote machines.
* [Cilex](https://github.com/Cilex/Cilex) - A micro framework for building command line tools.
* [CLImate](https://github.com/thephpleague/climate) - A library for outputting colours and special formatting.
## Authentication ## Authentication and Authorization
*Libraries for implementing authentications schemes.* *Libraries for implementing user authentication and authorization.*
* [Sentry](https://github.com/cartalyst/sentry) - A framework agnostic authentication & authorisation library. * [Sentry](https://github.com/cartalyst/sentry) - A framework agnostic authentication & authorisation library.
* [Sentry Social](http://docs.cartalyst.com/sentry-social-2/introduction) - A library for social network authentication. * [Sentry Social](http://docs.cartalyst.com/sentry-social-2/introduction) - A library for social network authentication.
* [OPAuth](https://github.com/opauth/opauth) - A multi-provider authentication framework. * [Opauth](https://github.com/opauth/opauth) - A multi-provider authentication framework.
* [OAuth2](https://github.com/php-loep/oauth2-server) - An OAuth2 authentication server, resource server and client library. * [OAuth2 Server](http://oauth2.thephpleague.com/) - An OAuth2 authentication server, resource server and client library.
* [OAuth2 Server](http://bshaffer.github.io/oauth2-server-php-docs/) - Another OAuth2 server implementation.
* [PHP oAuthLib](https://github.com/Lusitanian/PHPoAuthLib) - Another OAuth library. * [PHP oAuthLib](https://github.com/Lusitanian/PHPoAuthLib) - Another OAuth library.
* [TwitterOAuth](https://github.com/ruudk/twitteroauth) - A Twitter OAuth library. * [TwitterOAuth](https://github.com/ruudk/twitteroauth) - A Twitter OAuth library.
* [TwitterSDK](https://github.com/lyrixx/twitter-sdk) - A fully tested Twitter SDK. * [TwitterSDK](https://github.com/lyrixx/twitter-sdk) - A fully tested Twitter SDK.
* [Hawk](https://github.com/dflydev/dflydev-hawk) - A Hawk HTTP authentication library. * [Hawk](https://github.com/dflydev/dflydev-hawk) - A Hawk HTTP authentication library.
* [HybridAuth](https://github.com/hybridauth/hybridauth) - An open source social sign on library.
* [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 2.0 Client](https://github.com/thephpleague/oauth2-client) - An OAuth 2.0 client library.
## Markup ## Markup
*Libraries for working with markup.* *Libraries for working with markup.*
* [Decoda](http://milesj.me/code/php/decoda) - A lightweight markup parser library. * [Decoda](http://milesj.me/code/php/decoda) - A lightweight markup parser library.
* [PHP Markdown](https://github.com/michelf/php-markdown) - A Markdown parser. * [PHP Markdown](https://github.com/michelf/php-markdown) - A Markdown parser.
* [Dflydev Markdown](https://github.com/dflydev/dflydev-markdown) - Another Markdown parser. * [CommonMark PHP](https://github.com/thephpleague/commonmark) - A Markdown parser which supports the full [CommonMark spec](http://spec.commonmark.org/).
* [Parsedown](https://github.com/erusev/parsedown) - Another Markdown parser. * [Parsedown](https://github.com/erusev/parsedown) - Another Markdown parser.
* [Ciconia](https://github.com/kzykhys/Ciconia) - Another Markdown parser that supports Github flavoured Markdown. * [Ciconia](https://github.com/kzykhys/Ciconia) - Another Markdown parser that supports Github flavoured Markdown.
* [Cebe Markdown](https://github.com/cebe/markdown) - An fast and extensible Markdown parser.
* [HTML5 PHP](https://github.com/Masterminds/html5-php) - An HTML5 parser and serializer library. * [HTML5 PHP](https://github.com/Masterminds/html5-php) - An HTML5 parser and serializer library.
* [Emoji](https://github.com/heyupdate/Emoji) - A library that converts unicode characters and names into emoji images.
## Text and Numbers ## Strings
*Libraries for parsing and manipulating text and numbers.* *Libraries for parsing and manipulating strings.*
* [ANSI to HTML5](https://github.com/sensiolabs/ansi-to-html) - An ANSI to HTML5 convertor library. * [ANSI to HTML5](https://github.com/sensiolabs/ansi-to-html) - An ANSI to HTML5 converter library.
* [Patchwork UTF-8](https://github.com/nicolas-grekas/Patchwork-UTF8) - A portable library for working with UTF-8 strings. * [Patchwork UTF-8](https://github.com/nicolas-grekas/Patchwork-UTF8) - A portable library for working with UTF-8 strings.
* [Hoa String](https://github.com/hoaproject/String) - Another UTF-8 string library. * [Hoa String](https://github.com/hoaproject/String) - Another UTF-8 string library.
* [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.
* [Numbers PHP](https://github.com/powder96/numbers.php) - A library for working with numbers.
* [Math](https://github.com/moontoast/math) - A library for working with large numbers.
* [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.
* [UUID](https://github.com/ramsey/uuid) - A library for generating UUIDs. * [UUID](https://github.com/ramsey/uuid) - A library for generating UUIDs.
* [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.
* [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.
* [Text](https://github.com/kzykhys/Text) - A text manipulation library. * [Text](https://github.com/kzykhys/Text) - A text manipulation library.
* [SQL Formatter](https://github.com/jdorn/sql-formatter/) - A library for formatting SQL statements.
* [UA Parser](https://github.com/tobie/ua-parser/tree/master/php) - A library for parsing user agent strings.
* [Device Detector](https://github.com/piwik/device-detector) - Another library for parsing user agent strings.
* [Mobile-Detect](https://github.com/serbanghita/Mobile-Detect) - A lightweight PHP class for detecting mobile devices (including tablets).
## Numbers
*Libraries for working with numbers.*
* [Numbers PHP](https://github.com/powder96/numbers.php) - A library for working with numbers.
* [Math](https://github.com/moontoast/math) - A library for working with large numbers.
* [ByteUnits](https://github.com/gabrielelana/byte-units) - A library to parse, format and convert byte units in binary and metric systems.
* [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.
* [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.
* [SQL Formatter](https://github.com/jdorn/sql-formatter/) - A library for formatting SQL statements.
* [Byte](https://github.com/jschaedl/Byte) - A simple byte conversion library.
* [UA Parser](https://github.com/tobie/ua-parser/tree/master/php) - A library for parsing user agent strings.
* [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.
## Filtering and Validation ## Filtering and Validation
@ -436,20 +586,27 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Upload](https://github.com/codeguy/Upload) - A library for handling file uploads and validation. * [Upload](https://github.com/codeguy/Upload) - A library for handling file uploads and validation.
* [DMS Filter](https://github.com/rdohms/DMS-Filter) - An annotation filtering library. * [DMS Filter](https://github.com/rdohms/DMS-Filter) - An annotation filtering library.
* [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.
* [ISO-codes](https://github.com/ronanguilloux/IsoCodes) - A library for validating various ISO and ZIP codes (IBAN, SWIFT/BIC, BBAN, VAT, SSN, UKNIN).
## REST and API ## API
*Libraries and web tools for developing REST-ful APIs.* *Libraries and web tools for developing APIs.*
* [Apigility](https://github.com/zfcampus/zf-apigility-skeleton) - An API builder built with Zend Framework 2. * [Apigility](https://github.com/zfcampus/zf-apigility-skeleton) - An API builder built with Zend Framework 2.
* [Hateoas](https://github.com/willdurand/Hateoas) - A HATEOAS REST web service library. * [Hateoas](https://github.com/willdurand/Hateoas) - A HATEOAS REST web service library.
* [HAL](https://github.com/blongden/hal) - A Hypertext Application Language (HAL) builder library. * [HAL](https://github.com/blongden/hal) - A Hypertext Application Language (HAL) builder library.
* [Negotiation](https://github.com/willdurand/Negotiation) - A content negotiation library. * [Negotiation](https://github.com/willdurand/Negotiation) - A content negotiation library.
* [Drest](https://github.com/leedavis81/drest) - A library for exposing Doctrine entities as REST resource endpoints.
* [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.
## Caching ## Caching
*Libraries for caching data.* *Libraries for caching data.*
* [Cache](https://github.com/doctrine/cache) - A caching library (part of Doctrine). * [Alternative PHP Cache (APC)](http://www.php.net/manual/en/book.apc.php) - Open opcode cache for PHP.
* [Doctrine Cache](https://github.com/doctrine/cache) - A caching library.
* [Zend Cache](https://github.com/zendframework/zend-cache) - Another caching library (ZF2).
* [Stash](https://github.com/tedivm/Stash) - Another library for caching. * [Stash](https://github.com/tedivm/Stash) - Another library for caching.
* [CacheTool](https://github.com/gordalina/cachetool) - A tool to clear APC/opcode caches from the command line.
## Data Structure and Storage ## Data Structure and Storage
*Libraries that implement data structure or storage techniques.* *Libraries that implement data structure or storage techniques.*
@ -457,8 +614,12 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Ardent](https://github.com/morrisonlevi/Ardent) - A library of data structures. * [Ardent](https://github.com/morrisonlevi/Ardent) - A library of data structures.
* [PHP Collections](https://github.com/schmittjoh/php-collection) - A simple collections library. * [PHP Collections](https://github.com/schmittjoh/php-collection) - A simple collections library.
* [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.
* [Zend Serializer](https://github.com/zendframework/zend-serializer) - Another library for serialising and de-serialising data (ZF2).
* [PHP Object Storage](https://github.com/herrera-io/php-object-storage) - A library for object storage. * [PHP Object Storage](https://github.com/herrera-io/php-object-storage) - A library for object storage.
* [Fractal](https://github.com/php-loep/fractal) - A library for converting complex data structures to JSON output. * [Fractal](https://github.com/php-loep/fractal) - A library for converting complex data structures to JSON output.
* [Totem](http://github.com/Wisembly/Totem) - A library to manage and create data changesets.
* [PINQ](https://github.com/TimeToogo/Pinq) - A real Linq library for PHP.
* [JsonMapper](https://github.com/netresearch/jsonmapper) - A library that maps nested JSON structures onto PHP classes.
## Notifications ## Notifications
*Libraries for working with notification software.* *Libraries for working with notification software.*
@ -469,9 +630,18 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Notificator](https://github.com/namshi/notificator) - A lightweight notification library. * [Notificator](https://github.com/namshi/notificator) - A lightweight notification library.
## Deployment ## Deployment
*Libraries for project deployment.*
* [Pomander](https://github.com/tamagokun/pomander) - A deployment tool for PHP applications. * [Pomander](https://github.com/tamagokun/pomander) - A deployment tool for PHP applications.
* [Rocketeer](https://github.com/Anahkiasen/rocketeer) - A fast and easy deployer for the PHP world. * [Rocketeer](https://github.com/Anahkiasen/rocketeer) - A fast and easy deployer for the PHP world.
* [Envoy](https://github.com/laravel/envoy) - A tool to run SSH tasks with PHP.
* [Plum](https://github.com/aerialls/Plum) - A deployer library.
* [Deployer](https://github.com/deployphp/deployer) - A deployment tool.
## Internationalisation and Localisation
*Libraries for Internationalization (I18n) and Localization (L10n).*
* [Aura Intl](https://github.com/auraphp/Aura.Intl)
## Third Party APIs ## Third Party APIs
*Libraries for accessing third party APIs.* *Libraries for accessing third party APIs.*
@ -487,6 +657,13 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Twitter REST](https://github.com/widop/twitter-rest) - A library to interact with Twitter's REST API. * [Twitter REST](https://github.com/widop/twitter-rest) - A library to interact with Twitter's REST 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.
* [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.
* [Mailgun](https://github.com/mailgun/mailgun-php) The official Mailgun PHP API.
## Extensions
*Libraries to help build PHP extensions.*
* [Zephir](https://github.com/phalcon/zephir) - A compiled language between PHP and C++ for developing PHP extensions.
* [PHP CPP](http://www.php-cpp.com/) - A C++ library 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.*
@ -494,24 +671,20 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Spork](https://github.com/kriswallsmith/spork) - A process forking library. * [Spork](https://github.com/kriswallsmith/spork) - A process forking library.
* [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.
* [KnpMenu](https://github.com/KnpLabs/KnpMenu) - A menu library.
* [Pagerfanta](https://github.com/whiteoctober/Pagerfanta) - A pagination library. * [Pagerfanta](https://github.com/whiteoctober/Pagerfanta) - A pagination library.
* [Ruler](https://github.com/bobthecow/Ruler) - A simple stateless production rules engine.
* [LiteCQRS](https://github.com/beberlei/litecqrs-php) - A CQRS (Command Query Responsibility Separation) library. * [LiteCQRS](https://github.com/beberlei/litecqrs-php) - A CQRS (Command Query Responsibility Separation) library.
* [Chief](https://github.com/adamnicholson/Chief) - A command bus library.
* [Sslurp](https://github.com/EvanDotPro/Sslurp) - A library that makes dealing with SSL suck less. * [Sslurp](https://github.com/EvanDotPro/Sslurp) - A library that makes dealing with SSL suck less.
* [PHP Option](https://github.com/schmittjoh/php-option) An option type library.
* [Metrics](https://github.com/beberlei/metrics) - A simple metrics API library. * [Metrics](https://github.com/beberlei/metrics) - A simple metrics API library.
* [Sabre VObject](https://github.com/evert/sabre-vobject) - A library for parsing VCard and iCalendar objects. * [Sabre VObject](https://github.com/evert/sabre-vobject) - A library for parsing VCard and iCalendar objects.
* [Annotations](https://github.com/doctrine/annotations) - An annotations library (part of Doctrine). * [Annotations](https://github.com/doctrine/annotations) - An annotations library (part of Doctrine).
* [Whoops](https://github.com/filp/whoops) - A pretty error handling library. * [Whoops](https://github.com/filp/whoops) - A pretty error handling library.
* [Finite](http://yohan.giarel.li/Finite) - A simple PHP finite state machine.
* [LadyBug](https://github.com/raulfraile/Ladybug) - A dumper library. * [LadyBug](https://github.com/raulfraile/Ladybug) - A dumper library.
* [Plum](https://github.com/aerialls/Plum) - A deployer library. * [Symfony VarDumper](http://symfony.com/doc/current/components/var_dumper/introduction.html) - A variable dumper component (SF2).
* [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.
* [Compose](https://github.com/igorw/compose) - A function composition library.
* [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.
* [Jumper](https://github.com/kakawait/Jumper) - A remote service executor library. * [Jumper](https://github.com/kakawait/Jumper) - A remote service executor library.
* [Underscore](http://brianhaveri.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.
* [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 Expression](https://github.com/Kitano/php-expression) - A PHP expression language. * [PHP Expression](https://github.com/Kitano/php-expression) - A PHP expression language.
* [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.
@ -520,97 +693,132 @@ A curated list of amazingly awesome PHP libraries, resources and shiny things.
* [Essence](https://github.com/felixgirault/essence) - A library for extracting web media. * [Essence](https://github.com/felixgirault/essence) - A library for extracting web media.
* [Embera](https://github.com/mpratt/Embera) - An Oembed consumer library. * [Embera](https://github.com/mpratt/Embera) - An Oembed consumer library.
* [Graphviz](https://github.com/alexandresalome/graphviz) - A Graphviz library. * [Graphviz](https://github.com/alexandresalome/graphviz) - A Graphviz library.
* [Monad PHP](https://github.com/ircmaxell/monad-php) - A simple Monad library.
* [Flux](https://github.com/selvinortiz/flux) - A regular expression building library. * [Flux](https://github.com/selvinortiz/flux) - A regular expression building library.
* [Patchwork](http://antecedent.github.io/patchwork/) - A library for redefining userland functions.
* [Galapagos](https://github.com/igorw/galapagos) - Evolutionary language transformation.
* [Design Patterns PHP](https://github.com/domnikl/DesignPatternsPHP) - A repository of software patterns implemented 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).
* [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library.
* [ClassPreloader](https://github.com/mtdowling/ClassPreloader) - A library for optimising autoloading. * [ClassPreloader](https://github.com/mtdowling/ClassPreloader) - A library for optimising autoloading.
* [Lib Country](https://github.com/phine/lib-country) - A library for country and subdivision data. * [Lib Country](https://github.com/phine/lib-country) - A library for country and subdivision data.
* [Lib Accessor](https://github.com/phine/lib-accessor) - A library for simplifying accessors.
* [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.
* [Nmap](https://github.com/willdurand/nmap) - A PHP wrapper around [Nmap](http://nmap.org/). * [Nmap](https://github.com/willdurand/nmap) - A PHP wrapper around [Nmap](http://nmap.org/).
* [Code Mover](https://github.com/dantleech/code-mover) - A library for moving code. * [Code Mover](https://github.com/dantleech/code-mover) - A library for moving code.
* [Iter](https://github.com/nikic/iter) - A library that provides iteration primatives using generators.
* [Lambda PHP](https://github.com/igorw/lambda-php) - A Lambda calculus interpreter in PHP. * [Lambda PHP](https://github.com/igorw/lambda-php) - A Lambda calculus interpreter in PHP.
* [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.
* [PHP-GPIO](https://github.com/ronanguilloux/php-gpio) - A library for playing with the Raspberry PI's GPIO pins. * [PHP-GPIO](https://github.com/ronanguilloux/php-gpio) - A library for playing with the Raspberry PI's GPIO pins.
* [print_o](https://github.com/koriym/print_o) - An object graph visualizer.
* [Alias](https://github.com/fuelphp/alias) - A class aliasing library.
## Development Software # Software
*Software for creating a development environment.* *Software for creating a development environment.*
## PHP Installation
*Tools to help install and manage PHP on your computer.*
* [HomeBrew](http://mxcl.github.com/homebrew/) - A package manager for OSX. * [HomeBrew](http://mxcl.github.com/homebrew/) - A package manager for OSX.
* [HomeBrew PHP](https://github.com/josegonzalez/homebrew-php) - A PHP tap for HomeBrew. * [HomeBrew PHP](https://github.com/josegonzalez/homebrew-php) - A PHP tap for HomeBrew.
* [PHP OSX](http://php-osx.liip.ch/) - A PHP installer for OSX. * [PHP OSX](http://php-osx.liip.ch/) - A PHP installer for OSX.
* [HipHop PHP](https://github.com/facebook/hiphop-php) - A Virtual Machine, Runtime and JIT for PHP by Facebook.
* [Vagrant](http://www.vagrantup.com/) - A portable development environment utility.
* [Ansible](http://www.ansibleworks.com/) - A radically simple orchestration framework.
* [Puppet](http://puppetlabs.com/) - A server automation framework and application.
* [Chef](https://github.com/opscode/chef) - A systems integration framework.
* [SaltStack](http://saltstack.com/community.html) - An infrastructure management tool.
* [PHP Brew](https://github.com/c9s/phpbrew) - A PHP version manager and installer. * [PHP Brew](https://github.com/c9s/phpbrew) - A PHP version manager and installer.
* [PHP Env](https://github.com/CHH/phpenv) - Another PHP version manager. * [PHP Env](https://github.com/CHH/phpenv) - Another PHP version manager.
* [PHP Switch](https://github.com/jubianchi/phpswitch) - Another version manager. * [PHP Switch](https://github.com/jubianchi/phpswitch) - Another version manager.
* [PHP Build](https://github.com/CHH/php-build) - Another PHP version installer. * [PHP Build](https://github.com/CHH/php-build) - Another PHP version installer.
* [CodeKit](http://incident57.com/codekit/) - A general web development tool. * [VirtPHP](http://virtphp.org/) - A tool for creating and managing isolated PHP environments.
* [HTTPie](https://github.com/jkbr/httpie) - A command line alternative to cURL written in Python.
* [Backup](https://github.com/meskyanichi/backup) - A server backup tool written in Ruby.
## Web Tools ## Development Environment
*Web-based tools.* *Software and tools for creating a sandboxed development environment.*
* [Vagrant](http://www.vagrantup.com/) - A portable development environment utility.
* [Ansible](http://www.ansibleworks.com/) - A radically simple orchestration framework.
* [Puppet](http://puppetlabs.com/) - A server automation framework and application.
* [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.
* [Protobox](http://getprotobox.com/) - Another web tool for building PHP development virtual machines. * [Protobox](http://getprotobox.com/) - Another web tool for building PHP development virtual machines.
* [3V4L](http://3v4l.org/) - An online PHP shell. * [Phansible](http://phansible.com/) - A web tool for building PHP development virtual machines with Ansible.
## Virtual Machines
*Alternative PHP virtual machines.*
* [HipHop PHP](https://github.com/facebook/hiphop-php) - A Virtual Machine, Runtime and JIT for PHP by Facebook.
* [HippyVM](http://hippyvm.com/) - Another PHP virtual machine.
* [Hack](http://hacklang.org/) - A programming language for [HHVM](https://github.com/facebook/hiphop-php) that interoperates seamlessly with PHP.
## Integrated Development Environment
*Integrated Development Environments with support for PHP.*
* [Netbeans](https://netbeans.org) - An IDE with support for PHP and HTML5.
* [Eclipse for PHP Developers](https://www.eclipse.org/downloads/) - A PHP IDE based on the Eclipse platform.
* [PhpStorm](http://www.jetbrains.com/phpstorm/) - A commercial PHP IDE.
## Web Applications
*Web-based applications and tools.*
* [3V4L](http://3v4l.org/) - An online PHP & HHVM shell.
* [DBV](http://dbv.vizuina.com/) - A database version control application. * [DBV](http://dbv.vizuina.com/) - A database version control application.
* [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.
* [Composer as a Service](http://composer.borreli.com/) - A tool for downloading Composer packages as a zip file. * [Composer as a Service](http://composer.borreli.com/) - A tool for downloading Composer packages as a zip file.
* [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.
## Infrastructure
*Infrastructure for providing PHP applications and services.*
* [appserver.io](http://appserver.io/) - A multithreaded application server for PHP, written in PHP.
# 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.
## Websites ## PHP Websites
*Useful web and PHP-related websites and newsletters.* *Useful PHP-related websites.*
* [PHP The Right Way](http://www.phptherightway.com/) - A PHP best practice quick reference guide. * [PHP The Right Way](http://www.phptherightway.com/) - A PHP best practice quick reference guide.
* [PHP Best Practices](http://phpbestpractices.org/) - A PHP best practice guide. * [PHP Best Practices](http://phpbestpractices.org/) - A PHP best practice guide.
* [PHP Weekly](http://phpweekly.info/archive/) - A weekly PHP newsletter. * [PHP Weekly](http://www.phpweekly.com/archive.html) - A weekly PHP newsletter.
* [Securing PHP](http://securingphp.com/) - A newsletter about PHP security and library recommendations.
* [PHP Security](http://phpsecurity.readthedocs.org/en/latest/index.html) - A guide to PHP security. * [PHP Security](http://phpsecurity.readthedocs.org/en/latest/index.html) - A guide to PHP security.
* [PHP Internals](http://www.phpinternalsbook.com/) - A book about the PHP internals.
* [PHP FIG](http://www.php-fig.org/) - The PHP Framework Interoperability Group. * [PHP FIG](http://www.php-fig.org/) - The PHP Framework Interoperability Group.
* [PHP UG](http://php.ug) - A website to help people locate their nearest PHP user group (UG).
* [Seven PHP](http://7php.com/) - A website that interviews members of the PHP community.
* [Nomad PHP](http://nomadphp.com/) - A online PHP learning resource.
* [PHP Mentoring](http://phpmentoring.org/) - Peer to peer PHP mentorship organization.
## Other Websites
*Useful websites related to web development.*
* [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](http://websec.io/) - A web security community resource. * [WebSec IO](http://websec.io/) - A web security community resource.
* [Web Advent](http://webadvent.org) - An advent calendar for web developers. * [Web Advent](http://webadvent.org) - An advent calendar for web developers.
* [Mozilla Developer Network](https://developer.mozilla.org/en-US) - A website of shared knowledge for the open web.
* [HTML5Rocks](http://www.html5rocks.com) - A resource for open web HTML5 developers.
* [Programming with Anthony](http://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW) - A video series by Anthony Ferrara.
## Books
*Fantastic books and e-books.*
* [Scaling PHP Applications](http://www.scalingphpbook.com) - An ebook about scaling PHP applications by Steve Corona.
* [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.
* [Signaling PHP](https://leanpub.com/signalingphp) - A book about catching PCNTL signals in CLI scripts by Cal Evans.
* [Understanding Computation](http://computationbook.com) - A book about computation theory by Tom Stuart.
* [The Linux Command Line](http://linuxcommand.org/tlcl.php) - A book about the Linux command line by William Shotts.
## Web Reading
*General web-development-related reading materials.*
* [OWASP PHP Security Cheat Sheet](https://www.owasp.org/index.php/PHP_Security_Cheat_Sheet) - A PHP security cheatsheet.
* [C is for Cookie, H is for Hacker](http://www.troyhunt.com/2013/03/c-is-for-cookie-h-is-for-hacker.html) - An article about cookies and security.
* [You Blew It Loading Your Login Form Over HTTP](http://www.troyhunt.com/2013/05/your-login-form-posts-to-https-but-you.html) - An article about using HTTPS correctly with login forms.
* [How HTTPS Secures Your Connection](http://blog.hartleybrody.com/https-certificates/) - An article explaining how TLS/SSL secures your connection.
* [How to Build a Secure Remember Me Feature](http://www.troyhunt.com/2013/07/how-to-build-and-how-not-to-build.html) - An article on how to build a secure remember me feature.
* [A Beginners Guide to HTTP Cache Headers](http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/) - An article about HTTP cache headers.
* Beyond Series [1](http://blog.ircmaxell.com/2013/09/beyond-design-patterns.html) [2](http://blog.ircmaxell.com/2013/11/beyond-inheritance.html) [3](http://blog.ircmaxell.com/2013/11/beyond-object-oriented-programming.html) [4](http://blog.ircmaxell.com/2013/11/beyond-clean-code.html) - A series of articles about programming by Anthony Ferrara.
* [Semantic Versioning](http://semver.org/) - A website explaining semantic versioning. * [Semantic Versioning](http://semver.org/) - A website explaining semantic versioning.
* [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.
* [Servers for Hackers](http://serversforhackers.com/) - A newsletter about server management.
## PHP Books
*Fantastic PHP-related books.*
* [Scaling PHP Applications](http://www.scalingphpbook.com) - An ebook about scaling PHP applications by Steve Corona.
* [The Grumpy Programmer's Guide to Building Testable PHP Applications](https://leanpub.com/grumpy-testing) - A book about building testing PHP applications 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.
* [Signaling PHP](https://leanpub.com/signalingphp) - A book about catching PCNTL signals in CLI scripts by Cal Evans.
* [Securing PHP: Core Concepts](https://leanpub.com/securingphp-coreconcepts) - A book about common security terms and practices for PHP by Chris Cornutt.
* [Modernising Legacy Applications in PHP](https://leanpub.com/mlaphp) - A book about modernising legacy PHP applications by Paul M. Jones.
* [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.
## Other Books
*Books related to general computing and web development.*
* [The Linux Command Line](http://linuxcommand.org/tlcl.php) - A book about the Linux command line by William Shotts.
* [Understanding Computation](http://computationbook.com) - A book about computation theory by Tom Stuart.
* [The Tangled Web — Securing Web Applications](http://www.amazon.ca/The-Tangled-Web-Securing-Applications/dp/1593273886) - A book about securing web applications by Michal Zalewski.
* [Elasticsearch: The Definitive Guide](http://www.elasticsearch.org/guide/) - A guide to working with Elasticsearch by Clinton Gormley and Zachary Tong.
* [Eloquent JavaScript](http://eloquentjavascript.net/) - A book about JavaScript programming by Marijn Haverbeke.
* [Vagrant Cookbook](https://leanpub.com/vagrantcookbook) - A book about creating Vagrant environments by Erika Heidi.
* [Pro Git](http://git-scm.com/book/en/v2) - A book about Git by Scott Chacon and Ben Straub.
* [Head First Design Patterns](http://www.headfirstlabs.com/books/hfdp/) - A book that expains software design patterns.
## PHP Videos
*Fantastic PHP-related videos.*
* [Taking PHP Seriously](http://www.infoq.com/presentations/php-history) - A talk outlining PHP's strengths by Keith Adams of Facebook.
* [PHP Town Hall](http://phptownhall.com/) - A casual PHP podcast by Ben Edmunds and Phil Sturgeon.
* [Programming with Anthony](http://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW) - A video series by Anthony Ferrara.
* [PHP UK Conference](https://www.youtube.com/user/phpukconference/videos) - A collection of videos from the PHP UK Conference.
## PHP Reading ## PHP Reading
*PHP-releated reading materials.* *PHP-releated reading materials.*
@ -634,6 +842,7 @@ Various resources, such as books, websites and articles, for improving your PHP
*Reading materials related to the PHP internals or performance.* *Reading materials related to the PHP internals or performance.*
* [PHP RFCs](https://wiki.php.net/rfc) - The home of PHP RFCs (Request for Comments). * [PHP RFCs](https://wiki.php.net/rfc) - The home of PHP RFCs (Request for Comments).
* [PHP Internals Book](http://www.phpinternalsbook.com) - An online book about PHP internals, written by three core developers.
* [Print vs Echo, Which One is Faster?](http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster) - An article about print and echo performance. * [Print vs Echo, Which One is Faster?](http://fabien.potencier.org/article/8/print-vs-echo-which-one-is-faster) - An article about print and echo performance.
* [The PHP Ternary Operator. Fast or Not?](http://fabien.potencier.org/article/48/the-php-ternary-operator-fast-or-not) - An article ternary performance. * [The PHP Ternary Operator. Fast or Not?](http://fabien.potencier.org/article/48/the-php-ternary-operator-fast-or-not) - An article ternary performance.
* [Disproving the Single Quotes Myth](http://nikic.github.com/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.com/2012/01/09/Disproving-the-Single-Quotes-Performance-Myth.html) - An article about performance of single and double quoted strings.
@ -643,9 +852,12 @@ Various resources, such as books, websites and articles, for improving your PHP
* [How Foreach Works](http://stackoverflow.com/questions/10057671/how-foreach-actually-works/14854568#14854568) - A detailed StackOverflow answer about foreach. * [How Foreach Works](http://stackoverflow.com/questions/10057671/how-foreach-actually-works/14854568#14854568) - A detailed StackOverflow answer about foreach.
* [When Does Foreach Copy?](http://nikic.github.com/2011/11/11/PHP-Internals-When-does-foreach-copy.html) - An article about the internals of foreach. * [When Does Foreach Copy?](http://nikic.github.com/2011/11/11/PHP-Internals-When-does-foreach-copy.html) - An article about the internals of foreach.
* [How Big Are PHP Arrays (And Values) Really?](http://nikic.github.com/2011/12/12/How-big-are-PHP-arrays-really-Hint-BIG.html) - An article about array internals. * [How Big Are PHP Arrays (And Values) Really?](http://nikic.github.com/2011/12/12/How-big-are-PHP-arrays-really-Hint-BIG.html) - An article about array internals.
* [Why Objects (Usually) Use Less Memory Than Arrays](https://gist.github.com/nikic/5015323) - An article about object and array internals.
* [PHP Evaluation Order](https://gist.github.com/nikic/6699370) - An article about evaluation order in PHP. * [PHP Evaluation Order](https://gist.github.com/nikic/6699370) - An article about evaluation order in PHP.
* PHP Source Code for Developers: [1](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html) [2](http://nikic.github.com/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.com/2012/03/28/Understanding-PHPs-internal-array-implementation.html) - A series about the PHP source code. * PHP Source Code for Developers: [1](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html) [2](http://nikic.github.com/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.com/2012/03/28/Understanding-PHPs-internal-array-implementation.html) - A series about the PHP source code.
* Collecting Garbage: [1](http://www.php.net/manual/en/features.gc.refcounting-basics.php) [2](http://www.php.net/manual/en/features.gc.collecting-cycles.php) [3](http://www.php.net/manual/en/features.gc.performance-considerations.php) - A series about the PHP garbage collection internals. * Collecting Garbage: [1](http://www.php.net/manual/en/features.gc.refcounting-basics.php) [2](http://www.php.net/manual/en/features.gc.collecting-cycles.php) [3](http://www.php.net/manual/en/features.gc.performance-considerations.php) - A series about the PHP garbage collection internals.
# Contributing ## PHP Magazines
Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md) for details. *Fantastic PHP-related magazines.*
* [php[architect]](http://www.phparch.com/magazine/) - A monthly magazine dedicated to PHP.