diff --git a/.travis.yml b/.travis.yml index 0d2a97a..935a064 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,6 @@ rvm: before_script: - gem install awesome_bot 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: email: false diff --git a/.varci.yml b/.varci.yml new file mode 100644 index 0000000..c05a4f9 --- /dev/null +++ b/.varci.yml @@ -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). diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4d20b98..d36602d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,10 +1,10 @@ # 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: -a) Be widely recommended regardless of personal opinion -b) Well known or discussed within the PHP community -c) Be unique in its approach or function -d) Fill a niche gap in the market +1. Be widely recommended regardless of personal opinion +2. Well known or discussed within the PHP community +3. Be unique in its approach or function +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. diff --git a/README.md b/README.md index e512f2e..784e2f0 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ## Table of Contents - [Awesome PHP](#awesome-php) + - [Composer Repositories](#composer-repositories) - [Dependency Management](#dependency-management) - [Dependency Management Extras](#dependency-management-extras) - [Frameworks](#frameworks) @@ -76,16 +77,26 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT - [Other Websites](#other-websites) - [PHP Books](#php-books) - [PHP Videos](#php-videos) + - [PHP Podcasts](#php-podcasts) - [PHP Reading](#php-reading) - [PHP Internals Reading](#php-internals-reading) - [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 *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](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. * [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. * [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. +* [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. ## Frameworks *Web development frameworks.* -* [Aura PHP](http://auraphp.com/) - A framework of independent components. -* [CakePHP](http://cakephp.org/) - A rapid application development framework (CP). +* [Aura Framework](http://auraphp.com/framework/) - A framework built from independent components. +* [CakePHP](https://cakephp.org/) - A rapid application development framework (CP). * [Laravel 5](https://laravel.com/) - Another PHP framework (L5). * [Nette](https://nette.org) - Another framework comprised of individual components. * [Phalcon](https://phalconphp.com/en/) - A framework implemented as a C extension. * [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. -* [Zend Framework 2](http://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](http://www.iceframework.org/) - Another simple and fast PHP framework delivered as C-extension. +* [Zend Framework 2](https://framework.zend.com) - Another framework comprised of individual components (ZF2). +* [Ice](https://www.iceframework.org/) - Another simple and fast PHP framework delivered as C-extension. ## Framework Extras *Extras related to web development frameworks.* * [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. ## Components *Standalone components from web development frameworks and development groups.* -* [CakePHP Plugins](http://plugins.cakephp.org/) - A directory of CakePHP plugins. -* [Hoa Project](http://hoa-project.net/En/) - Another package of PHP components. +* [Aura](http://auraphp.com/) - Independent components, fully decoupled from each other and from any framework. +* [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. -* [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 Zend Framework. +* [Symfony Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony. +* [Zend Framework 2 Components](https://docs.zendframework.com/) - The components that make Zend Framework. ## Micro Frameworks *Micro frameworks and routers.* * [Bullet PHP](http://bulletphp.com/) - A micro framework for building REST APIs. * [Lumen](https://lumen.laravel.com) - A micro-framework by Laravel. -* [Proton](https://github.com/alexbilbie/Proton) - A StackPHP compatible micro framework -* [Silex](http://silex.sensiolabs.org/) - A micro framework built around Symfony2 components. -* [Slim](http://www.slimframework.com/) - Another simple micro framework. +* [Proton](https://github.com/alexbilbie/Proton) - A StackPHP compatible micro framework. +* [Radar](https://github.com/radarphp/Radar.Adr) - An Action-Domain-Responder implementation for PHP. +* [Silex](https://silex.sensiolabs.org/) - A micro framework built around Symfony components. +* [Slim](https://www.slimframework.com/) - Another simple micro framework. ## Micro Framework Extras *Extras related to micro frameworks and routers.* @@ -153,6 +166,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ## Routers *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. * [Klein](https://github.com/klein/klein.php) - A flexible router. * [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 *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. * [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. @@ -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. * [Plates](http://platesphp.com/) - A native PHP templating library. * [Smarty](http://www.smarty.net/) - A template engine to complement PHP. -* [Twig](http://twig.sensiolabs.org/) - A comprehensive templating language. -* [Tale Jade](http://jade.talesoft.io/) - A PHP implementation of the Jade template language. +* [Twig](https://twig.sensiolabs.org/) - A comprehensive templating language. +* [Tale Jade](https://github.com/Talesoft/tale-jade) - A PHP implementation of the Jade template language. ## Static Site Generators *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 *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. -* [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. +* [Relay](https://github.com/relayphp/Relay.Relay) - A PHP 5.5 PSR-7 middleware dispatcher. * [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 *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. * [Mautic](https://github.com/mautic/mautic) - Email marketing automation * [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. ## 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. * [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. +* [UnifiedArchive](https://github.com/wapmorgan/UnifiedArchive) - A unified reader and writer of compressed archives. ## Streams *Libraries for working with streams.* @@ -248,12 +264,14 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ## Dependency Injection *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. * [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. -* [Pimple](http://pimple.sensiolabs.org/) - A tiny dependency injection container. -* [Symfony DI](https://github.com/symfony/dependency-injection) - A dependency injection container component (SF2). +* [Pimple](https://pimple.sensiolabs.org/) - A tiny dependency injection container. +* [Symfony DI](https://github.com/symfony/dependency-injection) - A dependency injection container component (SF). ## Imagery *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 Optimizer](https://github.com/psliwa/image-optimizer) - A library for optimizing images. * [Image With Text](https://github.com/nmcteam/image-with-text) - A library for embedding text into images. -* [Imagine](http://imagine.readthedocs.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. * [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. * [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. -* [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. -* [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. * [Peridot](https://github.com/peridot-php/peridot) - An event driven test framework. * [Phake](https://github.com/mlively/Phake) - Another mock object library for testing. * [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. +* [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. * [Prophecy](https://github.com/phpspec/prophecy) - A highly opinionated mocking framework. * [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 *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. * [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. * [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. * [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. -* [Wercker](http://wercker.com/) - A continuous integration platform +* [Wercker](http://www.wercker.com/) - A continuous integration platform ## 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 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. +* [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. * [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. * [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](http://vaddy.net) - A continuous security testing platform for web applications. +* [VAddy](https://vaddy.net/) - A continuous security testing platform for web applications. * [Zed](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) - An integrated penetration testing tool for web applications. ## 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.* * [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. * [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. * [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. @@ -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 Mess Detector](https://phpmd.org/) - A library that scans code for bugs, sub-optimal code, unused parameters and more. * [PHP Metrics](https://github.com/phpmetrics/PhpMetrics) - A static metric library. +* [PHP Migration](https://github.com/monque/PHP-Migration) - A static analyzer for PHP version migration. * [PHP Parser](https://github.com/nikic/PHP-Parser) - A PHP parser written in PHP. * [PHP 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. +* [phan](https://github.com/etsy/phan) - A static analyzer based on PHP 7+ and the php-ast extension. * [PHPCheckstyle](https://github.com/PHPCheckstyle/phpcheckstyle) - A tool to help adhere to certain coding conventions. * [PHPCPD](https://github.com/sebastianbergmann/phpcpd) - A library that detects copied and pasted code. * [PhpDependencyAnalysis](https://github.com/mamuz/PhpDependencyAnalysis) - A tool to create customisable dependency graphs. * [PHPLOC](https://github.com/sebastianbergmann/phploc) - A tool for quickly measuring the size of a PHP project. * [PHPQA](https://github.com/EdgedesignCZ/phpqa) - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics). * [PHPPHP](https://github.com/ircmaxell/PHPPHP) - A PHP VM implementation in PHP. -* [PHPSandbox](https://github.com/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. * [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. * [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators. * [Monad PHP](https://github.com/ircmaxell/monad-php) - A simple Monad library. -* [Patchwork](http://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. * [Pipeline](https://github.com/thephpleague/pipeline) - A pipeline pattern implementation. * [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. * [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. -* [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 Debug Bar](http://phpdebugbar.com/) - A debugging toolbar. * [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. * [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. -* [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 *Libraries for automating and running tasks.* * [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. -* [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. ## Navigation @@ -433,11 +460,10 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ## Asset Management *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. * [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. +* [BowerPHP](https://github.com/Bee-Lab/bowerphp) - A PHP implementation of Bower. A package manager for the web ## Geolocation *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. * [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. * [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 *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. -* [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). * [Elephant.io](https://github.com/Wisembly/Elephant.io) - Yet another web socket 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. * [Hoa EventSource](https://github.com/hoaproject/Eventsource) - An event source 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 * [Ratchet](https://github.com/ratchetphp/Ratchet) - A web socket 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. * [OmniPay](https://github.com/thephpleague/omnipay) - A framework agnostic multi-gateway payment processing 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 * [Swap](https://github.com/florianv/swap) - An exchange rates library. * [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.* * [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. * [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 *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. * [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](http://www.doctrine-project.org/) - A comprehensive DBAL and ORM. * [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. * [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. * [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 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. * [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. * [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 *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. * [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. @@ -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. * [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. -* [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. * [Hoa Console](https://github.com/hoaproject/Console) - Another command line library. * [OptParse](https://github.com/CHH/optparse) - Another command line opt parser. * [Pecan](https://github.com/mcrumm/pecan) - An event-driven, non-blocking shell. * [PsySH](https://github.com/bobthecow/psysh) - Another PHP REPL. * [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 *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. -* [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. * [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. @@ -592,7 +621,7 @@ Libraries to help manage database schemas and migrations. * [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](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. ## 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. * [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. -* [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. * [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. @@ -640,10 +669,11 @@ Libraries to help manage database schemas and migrations. ## Filtering and Validation *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). * [DMS Filter](https://github.com/rdohms/DMS-Filter) - An annotation 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. * [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. @@ -666,10 +696,11 @@ Libraries to help manage database schemas and migrations. *Libraries for caching data.* * [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. * [Cake Cache](https://github.com/cakephp/cache) - A caching library (CP). * [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. * [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. * [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. +* [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. * [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). +* [Porter](https://github.com/ScriptFUSION/Porter) - Data import abstraction framework. * [Serializer](https://github.com/schmittjoh/serializer) - A library for serialising and de-serialising data. * [Totem](https://github.com/Wisembly/Totem) - A library to manage and create data changesets. * [YaLinqo](https://github.com/Athari/YaLinqo) - Yet Another LINQ to Objects for PHP. @@ -712,7 +745,7 @@ Libraries to help manage database schemas and migrations. ## Internationalisation and Localisation *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) ## 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. * [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. +* [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/). * [Opengraph](https://github.com/euskadi31/Opengraph) - An opengraph library. * [Pagerfanta](https://github.com/whiteoctober/Pagerfanta) - A pagination library. * [PHP Expression](https://github.com/Kitano/php-expression) - A PHP expression language. * [PHP PassBook](https://github.com/eymengunay/php-passbook) - A PHP library for iOS PassBook. * [PHP-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). * [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. @@ -774,7 +809,7 @@ Libraries to help manage database schemas and migrations. * [Spork](https://github.com/kriswallsmith/spork) - A process forking library. * [Sslurp](https://github.com/EvanDotPro/Sslurp) - A library that makes dealing with SSL suck less. * [SuperClosure](https://github.com/jeremeamia/super_closure) - A library that allows Closures to be serialized. -* [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. * [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.* * [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 Build](https://github.com/php-build/php-build) - Another PHP version installer. * [PHP Env](https://github.com/CHH/phpenv) - Another PHP version manager. -* [PHP OSX](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. * [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. * [Puppet](https://puppet.com/) - A server automation framework and application. * [Vagrant](https://www.vagrantup.com/) - A portable development environment utility. +* [Docker](https://www.docker.com/) - A containerization platform. ## Virtual Machines *Alternative PHP virtual machines.* @@ -821,11 +857,12 @@ Libraries to help manage database schemas and migrations. *Web-based applications and tools.* * [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. * [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. -* [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. * [phpMyAdmin](https://github.com/phpmyadmin/phpmyadmin) - A web interface for MySQL/MariaDB. * [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. * [PHP Best Practices](https://phpbestpractices.org/) - A PHP best practice guide. * [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 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 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 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. -* [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 *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. * [Semantic Versioning](http://semver.org/) - A website explaining semantic versioning. * [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 *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. * [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. -* [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 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. * [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. * [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. +* [Domain-Driven Design in PHP](https://leanpub.com/ddd-in-php) - Real examples written in PHP showcasing DDD Architectural Styles. ## Other Books *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. * [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 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. * [Vagrant Cookbook](https://leanpub.com/vagrantcookbook) - A book about creating Vagrant environments by Erika Heidi. ## PHP 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. * [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-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 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. @@ -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. * [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. -* [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 *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. * [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. * [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.