Merge branch 'master' into patch-1

This commit is contained in:
Eugene Leonovich 2017-07-13 15:52:51 +02:00 committed by GitHub
commit 9db5a4f980
4 changed files with 190 additions and 79 deletions

View File

@ -4,6 +4,6 @@ rvm:
before_script: before_script:
- gem install awesome_bot - gem install awesome_bot
script: script:
- awesome_bot README.md --white-list igor.io,hoa-project.net - awesome_bot README.md --white-list igor.io,symfony,toranproxy.com,vagrantup.com,3v4l.org,voicesoftheelephpant.com
notifications: notifications:
email: false email: false

65
.varci.yml Normal file
View File

@ -0,0 +1,65 @@
ruleset:
body_link:
name: "Pull requests that add links should also include them in the body"
events: [ pull_request ]
when:
- action = "opened"
- files = ["README.md"]
- deletions = 0
- not (body_links.added contains diff_links.added)
comment: |
This pull request adds the following suggestion:
{{ diff.added.0 }}
broken_link:
name: "Pull request diff contains broken links"
events: [ pull_request ]
when:
- action = "opened"
- count(diff_links.broken) > 0
comment: >
@{{ user.login }}, at least one of the links in the pull request diff was
reported as broken:
- {{ diff_links.broken.0 }}
missing_link:
name: "Suggestions should include a link"
events: [ pull_request ]
when:
- action = "opened"
- files = ["README.md"]
- deletions = 0
- additions = 1
- count(grep("/^\* /", diff.added)) = 1
- count(diff_links.added) != 1
comment: >
@{{ user.login }}, it looks like you have added a new suggestion to the
`README.md` file but haven't linked to the project. Please update the
`README.md` to also link to the project, thanks!
multiple_additions:
name: "Pull request should only suggest one addition at a time"
events: [ pull_request ]
comment: |
@{{ user.login }}, it looks like you are trying to add multiple suggestions in a single pull request.
If so, please split these into multiple pull requests so each item's inclusion in the list can be discussed separately.
when:
- action = "opened"
- files = ["README.md"]
- deletions = 0
- count(grep("/^\* /", diff.added)) > 1
needs_explanation:
name: 'Pull request bodies should have a detailed explanation'
events: [ pull_request ]
label: 'needs: explanation'
when:
- action = "opened"
- length(body) < 25
message: >
@{{ user.login }}, please update the pull request body with a description
of what you are adding or changing (of at least 25 characters).

View File

@ -1,10 +1,10 @@
# 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:
a) Be widely recommended regardless of personal opinion 1. Be widely recommended regardless of personal opinion
b) Well known or discussed within the PHP community 2. Well known or discussed within the PHP community
c) Be unique in its approach or function 3. Be unique in its approach or function
d) 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.

194
README.md
View File

@ -7,6 +7,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## Table of Contents ## Table of Contents
- [Awesome PHP](#awesome-php) - [Awesome PHP](#awesome-php)
- [Composer Repositories](#composer-repositories)
- [Dependency Management](#dependency-management) - [Dependency Management](#dependency-management)
- [Dependency Management Extras](#dependency-management-extras) - [Dependency Management Extras](#dependency-management-extras)
- [Frameworks](#frameworks) - [Frameworks](#frameworks)
@ -76,16 +77,26 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
- [Other Websites](#other-websites) - [Other Websites](#other-websites)
- [PHP Books](#php-books) - [PHP Books](#php-books)
- [PHP Videos](#php-videos) - [PHP Videos](#php-videos)
- [PHP Podcasts](#php-podcasts)
- [PHP Reading](#php-reading) - [PHP Reading](#php-reading)
- [PHP Internals Reading](#php-internals-reading) - [PHP Internals Reading](#php-internals-reading)
- [Contributing](#contributing) - [Contributing](#contributing)
## Composer Repositories
*Composer Repositories.*
* [Firegento](http://packages.firegento.com/) - Magento Module Composer 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.
* [WordPress Packagist](https://wpackagist.org/) - Manage your plugins with Composer.
* [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.*
* [Climb](https://github.com/vinkla/climb) - A Composer version manager tool.
* [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.
* [Composer](https://getcomposer.org/)/[Packagist](https://packagist.org/) - A package and dependency manager. * [Composer](https://getcomposer.org/) - A package and dependency manager.
* [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.
@ -100,47 +111,49 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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.
* [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.
* [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 PHP](http://auraphp.com/) - A framework of independent components. * [Aura Framework](http://auraphp.com/framework/) - A framework built from independent components.
* [CakePHP](http://cakephp.org/) - A rapid application development framework (CP). * [CakePHP](https://cakephp.org/) - A rapid application development framework (CP).
* [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](http://www.ppi.io) - An interoperability framework.
* [Symfony 2](http://symfony.com/) - A framework comprised of individual components (SF2). * [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](http://framework.zend.com) - Another framework comprised of individual components (ZF2). * [Zend Framework 2](https://framework.zend.com) - Another framework comprised of individual components (ZF2).
* [Radar](https://github.com/radarphp/Radar.Adr) - An Action-Domain-Responder implementation for PHP. * [Ice](https://www.iceframework.org/) - Another simple and fast PHP framework delivered as C-extension.
* [Ice](http://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 Bundle](http://rad.knplabs.com/) - A Rapid Application Development (RAD) bundle for Symfony 2. * [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.*
* [CakePHP Plugins](http://plugins.cakephp.org/) - A directory of CakePHP plugins. * [Aura](http://auraphp.com/) - Independent components, fully decoupled from each other and from any framework.
* [Hoa Project](http://hoa-project.net/En/) - Another package of PHP components. * [CakePHP Plugins](https://plugins.cakephp.org/) - A directory of CakePHP plugins.
* [Hoa Project](https://hoa-project.net/En/) - Another package of PHP components.
* [League of Extraordinary Packages](https://thephpleague.com/) - A PHP package development group. * [League of Extraordinary Packages](https://thephpleague.com/) - A PHP package development group.
* [Symfony2 Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony 2. * [Symfony Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony.
* [Zend Framework 2 Components](https://packages.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 * [Proton](https://github.com/alexbilbie/Proton) - A StackPHP compatible micro framework.
* [Silex](http://silex.sensiolabs.org/) - A micro framework built around Symfony2 components. * [Radar](https://github.com/radarphp/Radar.Adr) - An Action-Domain-Responder implementation for PHP.
* [Slim](http://www.slimframework.com/) - Another simple micro framework. * [Silex](https://silex.sensiolabs.org/) - A micro framework built around Symfony components.
* [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.*
@ -153,6 +166,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## 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.
* [Fast Route](https://github.com/nikic/FastRoute) - A fast routing library. * [Fast Route](https://github.com/nikic/FastRoute) - A fast routing library.
* [Klein](https://github.com/klein/klein.php) - A flexible router. * [Klein](https://github.com/klein/klein.php) - A flexible router.
* [Pux](https://github.com/c9s/Pux) - Another fast routing library. * [Pux](https://github.com/c9s/Pux) - Another fast routing library.
@ -161,6 +175,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## 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.
* [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. * [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.
@ -169,8 +184,8 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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](http://www.smarty.net/) - A template engine to complement PHP.
* [Twig](http://twig.sensiolabs.org/) - A comprehensive templating language. * [Twig](https://twig.sensiolabs.org/) - A comprehensive templating language.
* [Tale Jade](http://jade.talesoft.io/) - 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.*
@ -201,11 +216,11 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## 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.
* [PSR7-Middlewares](https://github.com/oscarotero/psr7-middlewares) - Inspiring collection of handy middlewares. * [PSR7-Middlewares](https://github.com/oscarotero/psr7-middlewares) - Inspiring collection of handy middlewares.
* [Relay](https://github.com/relayphp/Relay.Relay) - A PHP 5.5 PSR-7 middleware dispatcher * [Relay](https://github.com/relayphp/Relay.Relay) - A PHP 5.5 PSR-7 middleware dispatcher.
* [Slim Middleware](https://github.com/slimphp/Slim-Middleware) - A collection of custom middleware for Slim.
* [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.*
@ -224,7 +239,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Fetch](https://github.com/tedious/Fetch) - An IMAP library. * [Fetch](https://github.com/tedious/Fetch) - An IMAP library.
* [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/henrikbjorn/Stampie) - A library for email services such as [SendGrid](http://sendgrid.com), [PostMark](https://postmarkapp.com), [MailGun](http://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](http://swiftmailer.org/) - A mailer solution.
## Files ## Files
@ -239,6 +254,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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. * [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.
## Streams ## Streams
*Libraries for working with streams.* *Libraries for working with streams.*
@ -248,12 +264,14 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## Dependency Injection ## Dependency Injection
*Libraries that implement the dependency injection design pattern.* *Libraries that implement the dependency injection design pattern.*
* [Acclimate](https://github.com/jeremeamia/acclimate-container) - A common interface to dependency injection containers and service locators. * [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.
* [Acclimate](https://github.com/AcclimateContainer/acclimate-container) - A common interface to dependency injection containers and service locators.
* [Auryn](https://github.com/rdlowrey/Auryn) - A recursive dependency injector. * [Auryn](https://github.com/rdlowrey/Auryn) - A recursive dependency injector.
* [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.
* [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](http://pimple.sensiolabs.org/) - A tiny dependency injection container. * [Pimple](https://pimple.sensiolabs.org/) - A tiny dependency injection container.
* [Symfony DI](https://github.com/symfony/dependency-injection) - A dependency injection container component (SF2). * [Symfony DI](https://github.com/symfony/dependency-injection) - A dependency injection container component (SF).
## Imagery ## Imagery
*Libraries for manipulating images.* *Libraries for manipulating images.*
@ -265,7 +283,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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. * [Image With Text](https://github.com/nmcteam/image-with-text) - A library for embedding text into images.
* [Imagine](http://imagine.readthedocs.org/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.
@ -280,14 +298,16 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [DBUnit](https://github.com/sebastianbergmann/dbunit) - A database testing library for PHPUnit. * [DBUnit](https://github.com/sebastianbergmann/dbunit) - A database testing library for PHPUnit.
* [Faker](https://github.com/fzaninotto/Faker) - A fake data generator library. * [Faker](https://github.com/fzaninotto/Faker) - A fake data generator library.
* [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.
* [Kahlan](https://github.com/crysalead/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/padraic/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/brianium/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.
* [PHP-Mock](https://github.com/php-mock/php-mock) - A mock library for built-in PHP functions (e.g. time()).
* [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.
* [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. * [Samsui](https://github.com/mauris/samsui) - Another fake data generator library.
@ -297,15 +317,16 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## Continuous Integration ## Continuous Integration
*Libraries and applications for continuous integration.* *Libraries and applications for continuous integration.*
* [CircleCI](https://circleci.com) - A continuous integration platform.
* [GitlabCi](https://about.gitlab.com/gitlab-ci/) - Let GitLab CI test, build, deploy your code. TravisCi like. * [GitlabCi](https://about.gitlab.com/gitlab-ci/) - Let GitLab CI test, build, deploy your code. TravisCi like.
* [Jenkins](https://jenkins.io/index.html) - A continous integration platform with [PHP support](http://jenkins-php.org/index.html). * [Jenkins](https://jenkins.io/index.html) - 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. * [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://app.shippable.com/) - A docker based continious integration platform for open source and private projects.
* [Sismo](http://sismo.sensiolabs.org/) - A continuous testing server library. * [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://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.*
@ -327,12 +348,12 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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.
* [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()`
* [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. * [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.
* [True Random](https://github.com/pixeloution/true-random) - A library that generates random numbers using [www.random.org](https://www.random.org/). * [VAddy](https://vaddy.net/) - A continuous security testing platform for web applications.
* [VAddy](http://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
@ -351,9 +372,10 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
*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. * [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
* [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. * [Dissect](https://github.com/jakubledl/dissect) - A set of tools for lexical and syntactical analysis.
* [Exakat](http://www.exakat.io) - A static analysis engine for PHP. * [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. * [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. * [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 Analyser](https://github.com/scrutinizer-ci/php-analyzer) - A library for analysing PHP code to find bugs and errors.
@ -362,16 +384,20 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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 Mess Detector](https://phpmd.org/) - A library that scans code for bugs, sub-optimal code, unused parameters and more. * [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 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 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. * [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. * [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. * [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. * [PHPPHP](https://github.com/ircmaxell/PHPPHP) - A PHP VM implementation in PHP.
* [PHPSandbox](https://github.com/fieryprophet/php-sandbox) - A PHP sandbox environment. * [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.
* [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to scrutinise PHP code. * [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to scrutinise PHP code.
* [UBench](https://github.com/devster/ubench) - A simple micro benchmark library. * [UBench](https://github.com/devster/ubench) - A simple micro benchmark library.
@ -385,7 +411,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Galapagos](https://github.com/endel/galapagos) - Evolutionary language transformation. * [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. * [Monad PHP](https://github.com/ircmaxell/monad-php) - A simple Monad library.
* [Patchwork](http://antecedent.github.io/patchwork/) - 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. * [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. * [Ruler](https://github.com/bobthecow/Ruler) - A simple stateless production rules engine.
@ -397,7 +423,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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.
* [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.
* [Blackfire.io](https://blackfire.io) - A low-overhead code profiler. * [Blackfire.io](https://blackfire.io) - A low-overhead code profiler.
* [Kint](https://github.com/raveren/kint) - A debugging and profiling tool. * [Kint](https://github.com/kint-php/kint) - A debugging and profiling tool.
* [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.
@ -413,15 +439,16 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Bob](https://github.com/CHH/bob) - A simple project automation tool. * [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.
* [Phake](https://github.com/jaz303/phake) - A rake PHP clone library. * [Phake](https://github.com/jaz303/phake) - A rake PHP clone library.
* [Phing](http://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.
* [Jobby](https://github.com/jobbyphp/jobby) - A PHP cron job manager without modifying crontab. * [Jobby](https://github.com/jobbyphp/jobby) - A PHP cron job manager without modifying crontab.
* [Robo](https://github.com/Codegyre/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
@ -433,11 +460,10 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## Asset Management ## Asset Management
*Tools for managing, compressing and minifying website assets.* *Tools for managing, compressing and minifying website assets.*
* [Assetic](https://github.com/kriswallsmith/assetic) - An asset manager pipeline library.
* [JShrink](https://github.com/tedious/JShrink) - A JavaScript minifier library. * [JShrink](https://github.com/tedious/JShrink) - A JavaScript minifier library.
* [Munee](https://github.com/meenie/munee) - An asset optimiser library. * [Munee](https://github.com/meenie/munee) - An asset optimiser library.
* [Pipe](https://github.com/CHH/pipe) - Another asset manager pipeline library.
* [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
## Geolocation ## Geolocation
*Libraries for geocoding addresses and working with latitudes and longitudes.* *Libraries for geocoding addresses and working with latitudes and longitudes.*
@ -452,21 +478,22 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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.
* [ExpressiveDate](https://github.com/jasonlewis/expressive-date) - Another DateTime API extension. * [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.
## 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.
* [Broadway](https://github.com/qandidate-labs/broadway) - An event source and CQRS library. * [Broadway](https://github.com/broadway/broadway) - An event source and CQRS library.
* [Cake Event](https://github.com/cakephp/event) - An event dispatcher library (CP). * [Cake Event](https://github.com/cakephp/event) - An event dispatcher library (CP).
* [Elephant.io](https://github.com/Wisembly/Elephant.io) - Yet another web socket library. * [Elephant.io](https://github.com/Wisembly/Elephant.io) - Yet another web socket library.
* [Evenement](https://github.com/igorw/evenement) - An event dispatcher library. * [Evenement](https://github.com/igorw/evenement) - An event dispatcher library.
* [Event](https://github.com/thephpleague/event) - An event library with a focus on domain events. * [Event](https://github.com/thephpleague/event) - An event library with a focus on domain events.
* [Hoa EventSource](https://github.com/hoaproject/Eventsource) - An event source library. * [Hoa EventSource](https://github.com/hoaproject/Eventsource) - An event source library.
* [Hoa WebSocket](https://github.com/hoaproject/Websocket) - Another web socket library. * [Hoa WebSocket](https://github.com/hoaproject/Websocket) - Another web socket library.
* [Icicle](https://github.com/icicleio/icicle) - An asynchronous library with coroutines, non-blocking I/O, and multithreading.
* [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.
@ -486,7 +513,6 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [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.
* [OmniPay](https://github.com/thephpleague/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.
* [Sebastian Money](https://github.com/sebastianbergmann/money) - Another library for working with monetary values.
* [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](http://sylius.org/) - An open source e-commerce solution.
@ -503,31 +529,33 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
*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. * [ExcelAnt](https://github.com/Wisembly/ExcelAnt) - A library for manipulating Microsoft Excel documents.
* [PHPExcel](https://github.com/PHPOffice/PHPExcel) - A library for working with 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)
## 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.*
* [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
* [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.
* [Doctrine](http://www.doctrine-project.org/) - A comprehensive DBAL and ORM. * [Doctrine](http://www.doctrine-project.org/) - A comprehensive DBAL and ORM.
* [Eloquent](https://github.com/illuminate/database) - A simple ORM (L5). * [Eloquent](https://github.com/illuminate/database) - A simple ORM (L5).
* [LazyRecord](https://github.com/c9s/LazyRecord) - A fast ORM designed for simplicity, extendability and performance. * [LazyRecord](https://github.com/corneltek/LazyRecord) - A fast ORM designed for simplicity, extendability and performance.
* [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](http://redbeanphp.com/index.php) - A lightweight, configuration-less ORM.
* [Spot2](https://github.com/vlucas/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.
* [Migrations](https://github.com/icomefromthenet/Migrations) - A migration management library. * [Migrations](https://github.com/icomefromthenet/Migrations) - A migration management library.
* [Phinx](https://github.com/robmorgan/phinx) - Another database migration library. * [Phinx](https://github.com/cakephp/phinx) - Another database migration library.
* [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.
@ -561,6 +589,7 @@ Libraries to help manage database schemas and migrations.
## 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.
* [Boris](https://github.com/borisrepl/boris) - A tiny PHP REPL. * [Boris](https://github.com/borisrepl/boris) - A tiny PHP REPL.
* [Cilex](https://github.com/Cilex/Cilex) - A micro framework for building command line tools. * [Cilex](https://github.com/Cilex/Cilex) - A micro framework for building command line tools.
* [CLI Menu](https://github.com/php-school/cli-menu) - A library for building CLI menus. * [CLI Menu](https://github.com/php-school/cli-menu) - A library for building CLI menus.
@ -568,20 +597,20 @@ Libraries to help manage database schemas and migrations.
* [CLImate](https://github.com/thephpleague/climate) - A library for outputting colours and special formatting. * [CLImate](https://github.com/thephpleague/climate) - A library for outputting colours and special formatting.
* [Commando](https://github.com/nategood/commando) - Another simple command line opt parser. * [Commando](https://github.com/nategood/commando) - Another simple command line opt parser.
* [Cron Expression](https://github.com/mtdowling/cron-expression) - A library to calculate cron run dates. * [Cron Expression](https://github.com/mtdowling/cron-expression) - A library to calculate cron run dates.
* [GetOpt](https://github.com/ulrichsg/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. * [OptParse](https://github.com/CHH/optparse) - Another command line opt parser.
* [Pecan](https://github.com/mcrumm/pecan) - An event-driven, non-blocking shell. * [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.
* [Shunt](https://github.com/thephpleague/shunt) - A library for running commands in parallel on multiple remote machines.
## 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.
* [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. * [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. * [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.
@ -592,7 +621,7 @@ Libraries to help manage database schemas and migrations.
* [PHP oAuthLib](https://github.com/Lusitanian/PHPoAuthLib) - Another OAuth library. * [PHP oAuthLib](https://github.com/Lusitanian/PHPoAuthLib) - Another OAuth library.
* [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/ruudk/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. * [TwitterSDK](https://github.com/lyrixx/twitter-sdk) - A fully tested Twitter SDK.
## Markup ## Markup
@ -615,7 +644,7 @@ Libraries to help manage database schemas and migrations.
* [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/piwik/device-detector) - Another library for parsing user agent strings.
* [Hoa String](https://github.com/hoaproject/String) - 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).
* [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.
@ -640,10 +669,11 @@ Libraries to help manage database schemas and migrations.
## 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.
* [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. * [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 various ISO and ZIP codes (IBAN, SWIFT/BIC, BBAN, VAT, SSN, UKNIN). * [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.
* [Respect Validation](https://github.com/Respect/Validation) - A simple validation library. * [Respect Validation](https://github.com/Respect/Validation) - A simple validation library.
* [Upload](https://github.com/brandonsavage/Upload) - A library for handling file uploads and validation. * [Upload](https://github.com/brandonsavage/Upload) - A library for handling file uploads and validation.
@ -666,10 +696,11 @@ Libraries to help manage database schemas and migrations.
*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.
* [APIx Cache](https://github.com/frqnck/apix-cache) - A thin PSR-6 cache wrapper to various caching backends emphasising cache tagging and indexing. * [APIx Cache](https://github.com/apix/cache) - A thin PSR-6 cache wrapper to various caching backends emphasising cache tagging and indexing.
* [CacheTool](https://github.com/gordalina/cachetool) - A tool to clear APC/opcode caches from the command line. * [CacheTool](https://github.com/gordalina/cachetool) - A tool to clear APC/opcode caches from the command line.
* [Cake Cache](https://github.com/cakephp/cache) - A caching library (CP). * [Cake Cache](https://github.com/cakephp/cache) - A caching library (CP).
* [Doctrine Cache](https://github.com/doctrine/cache) - A caching library. * [Doctrine Cache](https://github.com/doctrine/cache) - A caching library.
* [Metaphore](https://github.com/sobstel/metaphore) - Cache slam defense using a semaphore to prevent dogpile effect.
* [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).
@ -682,9 +713,11 @@ Libraries to help manage database schemas and migrations.
* [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.
* [Ginq](https://github.com/akanehara/ginq) - Another PHP library based on .NET's LINQ. * [Ginq](https://github.com/akanehara/ginq) - Another PHP library based on .NET's LINQ.
* [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.
* [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. * [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.
* [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. * [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.
@ -712,7 +745,7 @@ Libraries to help manage database schemas and migrations.
## 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) * [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
@ -757,12 +790,14 @@ Libraries to help manage database schemas and migrations.
* [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.
* [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.
* [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).
* [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. * [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 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-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.
* [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.
* [print_o](https://github.com/koriym/print_o) - An object graph visualizer. * [print_o](https://github.com/koriym/print_o) - An object graph visualizer.
@ -774,7 +809,7 @@ Libraries to help manage database schemas and migrations.
* [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. * [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/introduction.html) - A variable dumper component (SF2). * [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.
* [Whoops](https://github.com/filp/whoops) - A pretty error handling library. * [Whoops](https://github.com/filp/whoops) - A pretty error handling library.
@ -785,11 +820,11 @@ Libraries to help manage database schemas and migrations.
*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](http://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 Env](https://github.com/CHH/phpenv) - Another PHP version manager.
* [PHP OSX](http://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. * [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.
@ -802,6 +837,7 @@ Libraries to help manage database schemas and migrations.
* [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.
## Virtual Machines ## Virtual Machines
*Alternative PHP virtual machines.* *Alternative PHP virtual machines.*
@ -821,11 +857,12 @@ Libraries to help manage database schemas and migrations.
*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.
* [DBV](http://dbv.vizuina.com/) - A database version control application. * [DBV](https://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.
* [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.
* [phpRedisAdmin](https://github.com/ErikDubbelboer/phpRedisAdmin) - A simple web interface to manage [Redis](http://redis.io/) databases. * [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.
* [phpPgAdmin](https://github.com/phppgadmin/phppgadmin) - A web-based administration tool for PostgreSQL. * [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.
@ -846,21 +883,22 @@ Various resources, such as books, websites and articles, for improving your PHP
* [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](http://www.php-fig.org/) - The PHP Framework Interoperability Group.
* [PHP Mentoring](http://phpmentoring.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 School](https://www.phpschool.io/) - Open Source Learning for PHP. * [PHP School](https://www.phpschool.io/) - Open Source Learning for PHP.
* [PHP Security](http://phpsecurity.readthedocs.org/en/latest/index.html) - A guide to PHP security. * [PHP Security](http://phpsecurity.readthedocs.io/en/latest/index.html) - A guide to PHP security.
* [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 UG](http://php.ug) - A website to help people locate their nearest PHP user group (UG). * [PHP UG](http://php.ug) - A website to help people locate their nearest PHP user group (UG).
* [PHP Versions](http://phpversions.info/) - Lists which versions of PHP are available on several popular web hosts. * [PHP Versions](http://phpversions.info/) - Lists which versions of PHP are available on several popular web hosts.
* [PHP Weekly](http://www.phpweekly.com/archive.html) - A weekly PHP newsletter. * [PHP Weekly](http://www.phpweekly.com/archive.html) - A weekly PHP newsletter.
* [PHPTrends](http://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](http://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.
## 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. * [Semantic Versioning](http://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.
@ -870,18 +908,19 @@ Various resources, such as books, websites and articles, for improving your PHP
## PHP Books ## PHP Books
*Fantastic PHP-related books.* *Fantastic PHP-related books.*
* [Functional Programming in PHP](https://www.phparch.com/books/functional-programming-in-php/) - 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](http://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.
* [Modernising Legacy Applications in PHP](https://leanpub.com/mlaphp) - A book about modernising 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.
* [PHP Pandas](http://daylerees.com/php-pandas/) - A book about learning to write PHP by Dayle Rees. * [PHP Pandas](https://daylerees.com/php-pandas/) - A book about learning to write PHP by Dayle Rees.
* [Scaling PHP Applications](http://www.scalingphpbook.com) - An ebook about scaling PHP applications by Steve Corona. * [Scaling PHP Applications](http://www.scalingphpbook.com) - An ebook about scaling PHP applications by Steve Corona.
* [Securing PHP: Core Concepts](https://leanpub.com/securingphp-coreconcepts) - A book about common security terms and practices for PHP by Chris Cornutt. * [Securing PHP: Core Concepts](https://leanpub.com/securingphp-coreconcepts) - A book about common security terms and practices for PHP by Chris Cornutt.
* [Signaling PHP](https://leanpub.com/signalingphp) - A book about catching PCNTL signals in CLI scripts by Cal Evans. * [Signaling PHP](https://leanpub.com/signalingphp) - A book about catching PCNTL signals in CLI scripts by Cal Evans.
* [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. * [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.
* [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.
## Other Books ## Other Books
*Books related to general computing and web development.* *Books related to general computing and web development.*
@ -891,22 +930,29 @@ Various resources, such as books, websites and articles, for improving your PHP
* [Head First Design Patterns](http://www.headfirstlabs.com/books/hfdp/) - A book that expains software design patterns. * [Head First Design Patterns](http://www.headfirstlabs.com/books/hfdp/) - A book that expains software design patterns.
* [Pro Git](https://git-scm.com/book/en/v2) - A book about Git by Scott Chacon and Ben Straub. * [Pro Git](https://git-scm.com/book/en/v2) - A book about Git by Scott Chacon and Ben Straub.
* [The Linux Command Line](http://linuxcommand.org/tlcl.php) - A book about the Linux command line by William Shotts. * [The Linux Command Line](http://linuxcommand.org/tlcl.php) - A book about the Linux command line by William Shotts.
* [The Tangled Web — Securing Web Applications](http://www.amazon.com/The-Tangled-Web-Securing-Applications/dp/1593273886) - A book about securing web applications by Michal Zalewski. * [The Tangled Web — Securing Web Applications](https://www.amazon.com/Tangled-Web-Securing-Modern-Applications/dp/1593273886) - A book about securing web applications by Michal Zalewski.
* [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.*
* [PHP Town Hall](https://phptownhall.com/) - A casual PHP podcast by Ben Edmunds and Phil Sturgeon. * [Nomad PHP Lightning Talks](https://www.youtube.com/c/nomadphp) - 10 to 15 minute Lightning Talks by PHP community members.
* [PHP UK Conference](https://www.youtube.com/user/phpukconference/videos) - A collection of videos from the PHP UK Conference. * [PHP UK Conference](https://www.youtube.com/user/phpukconference/videos) - A collection of videos from the PHP UK Conference.
* [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](http://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
*Podcasts with a main focus on PHP topics*
* [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.
* [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](http://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.
@ -917,14 +963,14 @@ Various resources, such as books, websites and articles, for improving your PHP
* [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!](http://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](http://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](http://blog.ircmaxell.com/2012/12/seven-ways-to-screw-up-bcrypt.html) - An article about correct BCrypt implementation.
* [Use Env](http://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.
* [How Big Are PHP Arrays (And Values) Really?](http://nikic.github.io/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.io/2011/12/12/How-big-are-PHP-arrays-really-Hint-BIG.html) - An article about array internals.
* [How Foreach Works](http://stackoverflow.com/questions/10057671/how-does-foreach-actually-work/14854568#14854568) - A detailed StackOverflow answer about foreach. * [How Foreach Works](https://stackoverflow.com/questions/10057671/how-does-php-foreach-actually-work/14854568#14854568) - A detailed StackOverflow answer about foreach.
* [How Long is a Piece of String](http://blog.golemon.com/2006/06/how-long-is-piece-of-string.html) - An article about string internals. * [How Long is a Piece of String](http://blog.golemon.com/2006/06/how-long-is-piece-of-string.html) - An article about string 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 Internals Book](http://www.phpinternalsbook.com) - An online book about PHP internals, written by three core developers. * [PHP Internals Book](http://www.phpinternalsbook.com) - An online book about PHP internals, written by three core developers.