From 2dbfac296688e75e55d2f002d211b4080af7d76d Mon Sep 17 00:00:00 2001 From: Francis Alvin Barretto Date: Fri, 11 Nov 2016 10:48:55 +0800 Subject: [PATCH 01/34] Added Swagger api documenter and JSON Schema Validator --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ed56ba4..9783569 100644 --- a/README.md +++ b/README.md @@ -318,6 +318,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [PHP Documentor 2](https://github.com/phpDocumentor/phpDocumentor2) - A documentation generator. * [phpDox](http://phpdox.de/) - A documentation generator for PHP projects (that is not limited to API documentation). * [Sami](https://github.com/FriendsOfPHP/Sami) - An API documentation generator. +* [Swagger](https://github.com/zircote/swagger-php) - Generate interactive Swagger documentation for your RESTful API using doctrine annotations. ## Security *Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.* @@ -761,6 +762,7 @@ Libraries to help manage database schemas and migrations. * [Hprose-PHP](https://github.com/hprose/hprose-php) - A very newbility RPC Library, support 25+ languages now. * [JSON Lint](https://github.com/Seldaek/jsonlint) - A JSON lint utility. * [JSONPCallbackValidator](https://github.com/willdurand/JsonpCallbackValidator) - A library for validating JSONP callbacks. +* [JSON Schema Validator](https://github.com/justinrainbow/json-schema) - A PHP Implementation for validating JSON Structures against a given Schema. * [Jumper](https://github.com/kakawait/Jumper) - A remote service executor library. * [LadyBug](https://github.com/raulfraile/Ladybug) - A dumper library. * [Lambda PHP](https://github.com/igorw/lambda-php) - A Lambda calculus interpreter in PHP. From aadc8c801227ab804df04663a2fb53048e283f8a Mon Sep 17 00:00:00 2001 From: Francis Alvin Barretto Date: Fri, 11 Nov 2016 10:57:07 +0800 Subject: [PATCH 02/34] move JSON Schema Validator into separate commit --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9783569..6ce7a50 100644 --- a/README.md +++ b/README.md @@ -762,7 +762,6 @@ Libraries to help manage database schemas and migrations. * [Hprose-PHP](https://github.com/hprose/hprose-php) - A very newbility RPC Library, support 25+ languages now. * [JSON Lint](https://github.com/Seldaek/jsonlint) - A JSON lint utility. * [JSONPCallbackValidator](https://github.com/willdurand/JsonpCallbackValidator) - A library for validating JSONP callbacks. -* [JSON Schema Validator](https://github.com/justinrainbow/json-schema) - A PHP Implementation for validating JSON Structures against a given Schema. * [Jumper](https://github.com/kakawait/Jumper) - A remote service executor library. * [LadyBug](https://github.com/raulfraile/Ladybug) - A dumper library. * [Lambda PHP](https://github.com/igorw/lambda-php) - A Lambda calculus interpreter in PHP. From c9e2785cf39722367206bd50a764c15b2eb3d320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojt=C4=9Bch=20Lacina?= Date: Wed, 11 Jan 2017 08:49:59 +0100 Subject: [PATCH 03/34] Added Nette Tester to Testing section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc60e72..49f1450 100644 --- a/README.md +++ b/README.md @@ -285,6 +285,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Kahlan](https://github.com/kahlan/kahlan) - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support. * [Mink](http://mink.behat.org/en/latest/) - Web acceptance testing. * [Mockery](https://github.com/padraic/mockery) - A mock object library for testing. +* [Nette Tester](https://github.com/nette/tester) - A productive and enjoyable parallel unit testing framework. * [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. From c296cacaed4bdc8d500caf8dbf084ae4a8f260dc Mon Sep 17 00:00:00 2001 From: Mark Beech Date: Thu, 20 Apr 2017 20:12:48 +0100 Subject: [PATCH 04/34] Add CrawlerDetect --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8d0ba55..373f828 100644 --- a/README.md +++ b/README.md @@ -632,6 +632,7 @@ Libraries to help manage database schemas and migrations. * [Agent](https://github.com/jenssegers/agent) - A PHP desktop/mobile user agent parser, based on Mobiledetect. * [ANSI to HTML5](https://github.com/sensiolabs/ansi-to-html) - An ANSI to HTML5 converter library. * [Color Jizz](https://github.com/mikeemoo/ColorJizz-PHP) - A library for manipulating and converting colours. +* [CrawlerDetect](https://github.com/JayBizzle/Crawler-Detect) - A PHP class for detecting bots/crawlers/spiders via the user agent. * [Device Detector](https://github.com/piwik/device-detector) - Another library for parsing user agent strings. * [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. From 543edc64c3fa6c76a6e7c1ed448499b8c5de5fff Mon Sep 17 00:00:00 2001 From: veganaize Date: Mon, 15 May 2017 11:46:42 -0700 Subject: [PATCH 05/34] Added TCPDF PDF generation library. TCPDF library for generating PDFs via PHP: https://tcpdf.org/ --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f77c252..c05e1c4 100644 --- a/README.md +++ b/README.md @@ -523,6 +523,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [PHPPdf](https://github.com/psliwa/PHPPdf) - A library for generating PDFs and images from XML. * [Snappy](https://github.com/KnpLabs/snappy) - A PDF and image generation library. * [WKHTMLToPDF](https://github.com/wkhtmltopdf/wkhtmltopdf) - A tool to convert HTML to PDF. +* [TCPDF](https://tcpdf.org/) - An open source PHP class for generating PDF documents. ## Office *Libraries for working with office suite documents.* From 40bcd26e60d2666dc1982379d111d8e7ecd18afa Mon Sep 17 00:00:00 2001 From: Holger Woltersdorf Date: Fri, 16 Jun 2017 21:49:31 +0200 Subject: [PATCH 06/34] Adds hollodotme/fast-cgi-client to list of event libraries --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9b686e9..c9c98d0 100644 --- a/README.md +++ b/README.md @@ -492,6 +492,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [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. +* [Fast CGI Client](https://github.com/hollodotme/fast-cgi-client) - A client to make synchronous/asynchronous requests through php-fpm socket. * [Hoa EventSource](https://github.com/hoaproject/Eventsource) - An event source library. * [Hoa WebSocket](https://github.com/hoaproject/Websocket) - Another web socket library. * [Prooph Event Store](https://github.com/prooph/event-store) - An event source component to persist event messages From 6f70bafb370f1a3c3d9e87761fd55a521498d526 Mon Sep 17 00:00:00 2001 From: Michael Lynn Date: Wed, 16 Jun 2021 09:07:29 -0400 Subject: [PATCH 07/34] Add MongoDB PHP Driver --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3db7fa4..2232dc9 100644 --- a/README.md +++ b/README.md @@ -578,6 +578,7 @@ Libraries to help manage database schemas and migrations. * [PHPMongo](https://github.com/sokil/php-mongo) - A MongoDB ORM. * [Predis](https://github.com/predis/predis) - A feature complete Redis library. +* [MongoDB](https://github.com/mongodb/mongo-php-driver) - The MongoDB PHP Driver. ### Queue *Libraries for working with event and task queues.* From fccb1d4b20a73258b50a28bdde6c7eb7087eae1a Mon Sep 17 00:00:00 2001 From: Mark Scherer Date: Thu, 4 Jan 2024 17:48:07 +0100 Subject: [PATCH 08/34] Updates from fork so far. (#1242) * Updates from fork so far. * Updates from fork so far. * Updates from fork so far. --- .editorconfig | 10 ++ README.md | 294 +++++++++++++++++++++++++------------------------- 2 files changed, 160 insertions(+), 144 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..5307008 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +; This file is for unifying the coding style for different editors and IDEs. +; More information at https://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/README.md b/README.md index 62d9751..21a9da8 100644 --- a/README.md +++ b/README.md @@ -1,92 +1,92 @@ # Awesome PHP ![](https://github.com/ziadoz/awesome-php/workflows/Awesome%20Bot/badge.svg) -A curated list of amazingly awesome PHP libraries, resources and shiny things. +A curated list of amazingly awesome PHP libraries, resources, and shiny things. ## Contributing and Collaborating Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md), [CODE-OF-CONDUCT](https://github.com/ziadoz/awesome-php/blob/master/CODE-OF-CONDUCT.md) and [COLLABORATING](https://github.com/ziadoz/awesome-php/blob/master/COLLABORATING.md) for details. ## Table of Contents - [Awesome PHP](#awesome-php) - - [Composer Repositories](#composer-repositories) - - [Dependency Management](#dependency-management) - - [Dependency Management Extras](#dependency-management-extras) - - [Frameworks](#frameworks) - - [Framework Extras](#framework-extras) - - [Content Management Systems](#content-management-systems-cms) - - [Components](#components) - - [Micro Frameworks](#micro-frameworks) - - [Micro Framework Extras](#micro-framework-extras) - - [Routers](#routers) - - [Templating](#templating) - - [Static Site Generators](#static-site-generators) - - [HTTP](#http) - - [Scraping](#scraping) - - [Middlewares](#middlewares) - - [URL](#url) - - [Email](#email) - - [Files](#Files) - - [Streams](#streams) - - [Dependency Injection](#dependency-injection) - - [Imagery](#imagery) - - [Testing](#testing) - - [Continuous Integration](#continuous-integration) - - [Documentation](#documentation) - - [Security](#security) - - [Passwords](#passwords) - - [Code Analysis](#code-analysis) - - [Code Quality](#code-quality) - - [Static Analysis](#static-analysis) - - [Architectural](#architectural) - - [Debugging and Profiling](#debugging-and-profiling) - - [Build Tools](#build-tools) - - [Task Runners](#task-runners) - - [Navigation](#navigation) - - [Asset Management](#asset-management) - - [Geolocation](#geolocation) - - [Date and Time](#date-and-time) - - [Event](#event) - - [Logging](#logging) - - [E-commerce](#e-commerce) - - [PDF](#pdf) - - [Office](#office) - - [Database](#database) - - [Migrations](#migrations) - - [NoSQL](#nosql) - - [Queue](#queue) - - [Search](#search) - - [Command Line](#command-line) - - [Authentication and Authorization](#authentication-and-authorization) - - [Markup and CSS](#markup-and-css) - - [JSON](#json) - - [Strings](#strings) - - [Numbers](#numbers) - - [Filtering and Validation](#filtering-and-validation) - - [API](#api) - - [Caching and Locking](#caching-and-locking) - - [Data Structure and Storage](#data-structure-and-storage) - - [Notifications](#notifications) - - [Deployment](#deployment) - - [Internationalisation and Localisation](#internationalisation-and-localisation) - - [Serverless](#serverless) - - [Configuration](#configuration) - - [Third Party APIs](#third-party-apis) - - [Extensions](#extensions) - - [Miscellaneous](#miscellaneous) + - [Composer Repositories](#composer-repositories) + - [Dependency Management](#dependency-management) + - [Dependency Management Extras](#dependency-management-extras) + - [Frameworks](#frameworks) + - [Framework Extras](#framework-extras) + - [Content Management Systems](#content-management-systems-cms) + - [Components](#components) + - [Micro Frameworks](#micro-frameworks) + - [Micro Framework Extras](#micro-framework-extras) + - [Routers](#routers) + - [Templating](#templating) + - [Static Site Generators](#static-site-generators) + - [HTTP](#http) + - [Scraping](#scraping) + - [Middlewares](#middlewares) + - [URL](#url) + - [Email](#email) + - [Files](#Files) + - [Streams](#streams) + - [Dependency Injection](#dependency-injection) + - [Imagery](#imagery) + - [Testing](#testing) + - [Continuous Integration](#continuous-integration) + - [Documentation](#documentation) + - [Security](#security) + - [Passwords](#passwords) + - [Code Analysis](#code-analysis) + - [Code Quality](#code-quality) + - [Static Analysis](#static-analysis) + - [Architectural](#architectural) + - [Debugging and Profiling](#debugging-and-profiling) + - [Build Tools](#build-tools) + - [Task Runners](#task-runners) + - [Navigation](#navigation) + - [Asset Management](#asset-management) + - [Geolocation](#geolocation) + - [Date and Time](#date-and-time) + - [Event](#event) + - [Logging](#logging) + - [E-commerce](#e-commerce) + - [PDF](#pdf) + - [Office](#office) + - [Database](#database) + - [Migrations](#migrations) + - [NoSQL](#nosql) + - [Queue](#queue) + - [Search](#search) + - [Command Line](#command-line) + - [Authentication and Authorization](#authentication-and-authorization) + - [Markup and CSS](#markup-and-css) + - [JSON](#json) + - [Strings](#strings) + - [Numbers](#numbers) + - [Filtering and Validation](#filtering-and-validation) + - [API](#api) + - [Caching and Locking](#caching-and-locking) + - [Data Structure and Storage](#data-structure-and-storage) + - [Notifications](#notifications) + - [Deployment](#deployment) + - [Internationalisation and Localisation](#internationalisation-and-localisation) + - [Serverless](#serverless) + - [Configuration](#configuration) + - [Third Party APIs](#third-party-apis) + - [Extensions](#extensions) + - [Miscellaneous](#miscellaneous) - [Software](#software) - - [PHP Installation](#php-installation) - - [Development Environment](#development-environment) - - [Virtual Machines](#virtual-machines) - - [Text Editors and IDEs](#text-editors-and-ides) - - [Web Applications](#web-applications) - - [Infrastructure](#infrastructure) + - [PHP Installation](#php-installation) + - [Development Environment](#development-environment) + - [Virtual Machines](#virtual-machines) + - [Text Editors and IDEs](#text-editors-and-ides) + - [Web Applications](#web-applications) + - [Infrastructure](#infrastructure) - [Resources](#resources) - - [PHP Websites](#php-websites) - - [PHP Books](#php-books) - - [PHP Videos](#php-videos) - - [PHP Podcasts](#php-podcasts) - - [PHP Newsletters](#php-newsletters) - - [PHP Reading](#php-reading) - - [PHP Internals Reading](#php-internals-reading) + - [PHP Websites](#php-websites) + - [PHP Books](#php-books) + - [PHP Videos](#php-videos) + - [PHP Podcasts](#php-podcasts) + - [PHP Newsletters](#php-newsletters) + - [PHP Reading](#php-reading) + - [PHP Internals Reading](#php-internals-reading) ### Composer Repositories *Composer Repositories.* @@ -99,7 +99,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ### Dependency Management *Libraries for dependency and package management.* -* [Composer Installers](https://github.com/composer/installers) - A multi framework Composer library installer. +* [Composer Installers](https://github.com/composer/installers) - A multi-framework Composer library installer. * [Composer](https://getcomposer.org/) - A package and dependency manager. * [Phive](https://phar.io/) - A PHAR manager. * [Pickle](https://github.com/FriendsOfPHP/pickle) - A PHP extension installer. @@ -109,25 +109,26 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Composed](https://github.com/joshdifabio/composed) - A library to parse your project's Composer environment at runtime. * [Composer Merge Plugin](https://github.com/wikimedia/composer-merge-plugin) - A composer plugin to merge several `composer.json` files. -* [Composer Normalize](https://github.com/ergebnis/composer-normalize) - A plugin for normalising `composer.json` files. +* [Composer Normalize](https://github.com/ergebnis/composer-normalize) - A plugin for normalizing `composer.json` files. * [Composer Patches](https://github.com/cweagans/composer-patches) - A plugin for Composer to apply patches. +* [Composer Prefer Lowest Validator](https://github.com/dereuromark/composer-prefer-lowest) - A plugin to check if minimum dependencies can be installed and tested. * [Composer Require Checker](https://github.com/maglnet/ComposerRequireChecker) - CLI tool to analyze composer dependencies and verify that no unknown symbols are used in the sources of a package. * [Composer Unused](https://github.com/composer-unused/composer-unused) - A CLI Tool to scan for unused composer packages. -* [Prestissimo](https://github.com/hirak/prestissimo) - A composer plugin which enables parallel install process. * [Repman](https://repman.io) - A private PHP package repository manager and Packagist proxy. * [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. +* [Tooly](https://github.com/tommy-muehle/tooly-composer-script) - A library to manage PHAR files in a project using Composer. +* [Toran Proxy](https://toranproxy.com) - A Composer proxy for speed and reliability. (:warning: Toran Proxy is being phased out.) ### Frameworks *Web development frameworks.* * [CakePHP](https://cakephp.org/) - A rapid application development framework. +* [CodeIgniter](https://codeigniter.com/) - A powerful PHP framework with a very small footprint. * [Laminas](https://getlaminas.org/) - A framework comprised of individual components (previously Zend Framework). * [Laravel](https://laravel.com/) - A web application framework with expressive, elegant syntax. * [Nette](https://nette.org) - A web framework comprised of mature components. * [Phalcon](https://phalcon.io/en-us) - A framework implemented as a C extension. -* [Spiral](https://spiral.dev/) - A high performance PHP/Go framework. +* [Spiral](https://spiral.dev/) - A high-performance PHP/Go framework. * [Symfony](https://symfony.com/) - A set of reusable components and a web framework. * [Yii2](https://github.com/yiisoft/yii2/) - A fast, secure, and efficient web framework. @@ -136,24 +137,23 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [CakePHP CRUD](https://github.com/friendsofcake/crud) - A Rapid Application Development (RAD) plugin for CakePHP. * [Knp RAD Components](https://rad.knplabs.com/) - A set of Rapid Application Development (RAD) components for Symfony. -* [LaravelS](https://github.com/hhxsv5/laravel-s) - Glue for using Swoole in Laravel or Lumen. -* [Symfony CMF](https://github.com/symfony-cmf/symfony-cmf) - A Content Management Framework to create custom CMS. -* [Livewire](https://laravel-livewire.com/) - A full-stack framework for Laravel that takes the pain out of building dynamic UIs. +* [LaravelS](https://github.com/hhxsv5/laravel-s) - An out-of-the-box adapter between Laravel/Lumen and Swoole. +* [Livewire](https://livewire.laravel.com/) - Powerful, dynamic, front-end UIs without leaving PHP. ### Content Management Systems (CMS) *Tools for managing digital content.* -* [Backdrop](https://backdropcms.org) - A CMS targeting small-to-medium sized business and non-profits (a fork of Drupal). +* [Backdrop](https://backdropcms.org) - A CMS targeting small-to-medium-sized business and non-profits (a fork of Drupal). * [Concrete5](https://www.concretecms.com/) - A CMS targeting users with a minimum of technical skills. * [CraftCMS](https://github.com/craftcms/cms) - A flexible, user-friendly CMS for creating custom digital experiences on the web and beyond. * [Drupal](https://www.drupal.org) - An enterprise level CMS. * [Grav](https://github.com/getgrav/grav) - A modern flat-file CMS. * [Joomla](https://www.joomla.org/) - Another leading CMS. * [Kirby](https://getkirby.com/) - A flat-file CMS that adapts to any project. -* [Magento](https://business.adobe.com/products/magento/magento-commerce.html) - The most popular ecommerce platform. +* [Magento](https://business.adobe.com/products/magento/magento-commerce.html) - The most popular e-commerce platform. * [Moodle](https://moodle.org/) - An open-source learning platform. * [Pico CMS](https://picocms.org/) - A stupidly simple, blazing fast, flat file CMS. -* [Statamic](https://statamic.com/) - Build beautiful, easy to manage websites. +* [Statamic](https://statamic.com/) - Build beautiful, easy-to-manage websites. * [WordPress](https://wordpress.org/) - A blogging platform and CMS. ### Components @@ -163,7 +163,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [CakePHP Plugins](https://plugins.cakephp.org/) - A directory of CakePHP plugins. * [Laravel Components](https://github.com/illuminate) - The Laravel Framework components. * [League of Extraordinary Packages](https://thephpleague.com/) - A PHP package development group. -* [Spatie Open Source](https://spatie.be/open-source) - A collection of open source PHP and Laravel packages. +* [Spatie Open Source](https://spatie.be/open-source) - A collection of open-source PHP and Laravel packages. * [Symfony Components](https://symfony.com/components) - The components that make Symfony. * [Laminas Components](https://docs.laminas.dev/components/) - The components that make the Laminas Framework. @@ -228,8 +228,8 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ### Scraping *Libraries for scraping websites.* -* [Chrome PHP](https://github.com/chrome-php/chrome) - Instrument headless Chrome/Chromium instances from PHP. -* [DiDOM](https://github.com/Imangazaliev/DiDOM) - A super fast HTML scrapper and parser. +* [Chrome PHP](https://github.com/chrome-php/chrome) - Instrument headless Chrome/Chromium instances from PHP. +* [DiDOM](https://github.com/Imangazaliev/DiDOM) - A super-fast HTML scrapper and parser. * [Embed](https://github.com/oscarotero/Embed) - An information extractor from any web service or page. * [Goutte](https://github.com/FriendsOfPHP/Goutte) - A simple web scraper. * [Symfony Panther](https://github.com/symfony/panther) - A browser testing and web crawling library for PHP and Symfony. @@ -277,7 +277,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ### Streams *Libraries for working with streams.* -* [ByteStream](https://amphp.org/byte-stream/) - An asynchronous stream abstraction. +* [ByteStream](https://amphp.org/byte-stream) - An asynchronous stream abstraction. * [Streamer](https://github.com/fzaninotto/Streamer) - A simple object-orientated stream wrapper library. ### Dependency Injection @@ -320,11 +320,11 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Mockery](https://github.com/mockery/mockery) - A mock object library for testing. * [ParaTest](https://github.com/paratestphp/paratest) - A parallel testing library for PHPUnit. * [Pest](https://pestphp.com/) - A testing framework with a focus on simplicity. -* [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/phake/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 behavior-driven development testing framework. * [PHP-Mock](https://github.com/php-mock/php-mock) - A mock library for built-in PHP functions (e.g. time()). -* [PHP MySQL Engine](https://github.com/vimeo/php-mysql-engine) - A MySQL engine written in pure PHP. +* [PHP MySQL Engine](https://github.com/vimeo/php-mysql-engine) - A MySQL engine written in pure PHP. * [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. @@ -335,20 +335,20 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT *Libraries and applications for continuous integration.* * [CircleCI](https://circleci.com) - A continuous integration platform. -* [GitlabCi](https://about.gitlab.com/stages-devops-lifecycle/continuous-integration/) - Let GitLab CI test, build, deploy your code. TravisCi like. +* [GitlabCi](https://about.gitlab.com/solutions/continuous-integration/) - Let GitLab CI test, build, deploy your code. TravisCi like. * [Jenkins](https://www.jenkins.io/) - A continuous integration platform with [PHP support](https://www.jenkins.io/solutions/php/). * [JoliCi](https://github.com/jolicode/JoliCi) - A continuous integration client written in PHP and powered by Docker. -* [PHPCI](https://github.com/dancryer/phpci) - An open source continuous integration platform for PHP. -* [SemaphoreCI](https://semaphoreci.com/) - A continuous integration platform for open source and private projects. -* [Shippable](https://jfrog.com/blog/weve-acquired-shippable-to-complete-devops-pipeline-automation-from-code-to-production/) - A Docker based continious integration platform for open source and private projects. -* [Travis CI](https://travis-ci.org/) - A continuous integration platform. +* [PHPCI](https://github.com/dancryer/phpci) - An open-source continuous integration platform for PHP. +* [SemaphoreCI](https://semaphoreci.com) - A continuous integration platform for open-source and private projects. +* [Shippable](https://jfrog.com/blog/weve-acquired-shippable-to-complete-devops-pipeline-automation-from-code-to-production/) - A Docker based continuous integration platform for open source and private projects. +* [Travis CI](https://www.travis-ci.com) - A continuous integration platform. * [Setup PHP](https://github.com/shivammathur/setup-php) - A GitHub Action for PHP. ### Documentation *Libraries for generating project documentation.* * [APIGen](https://github.com/apigen/apigen) - Another API documentation generator. -* [daux.io](https://github.com/dauxio/daux.io) - A documentation generator which uses Markdown files. +* [daux.io](https://github.com/dauxio/daux.io) - A documentation generator that uses Markdown files. * [PHP Documentor 2](https://github.com/phpDocumentor/phpDocumentor) - A documentation generator. * [phpDox](https://phpdox.net/) - A documentation generator for PHP projects (that is not limited to API documentation). * [zircote/swagger-php](https://github.com/zircote/swagger-php) - Generate OpenAPI documentation for your RESTful API. @@ -362,15 +362,15 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Optimus](https://github.com/jenssegers/optimus) - Id obfuscation based on Knuth's multiplicative hashing method. * [PHPGGC](https://github.com/ambionics/phpggc) - A library of PHP unserializable payloads along with a tool to generate them. * [PHP Encryption](https://github.com/defuse/php-encryption) - Secure PHP Encryption 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. +* [PHP SSH](https://github.com/Herzult/php-ssh) - An experimental object-orientated SSH wrapper library. +* [PHPSecLib](https://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. * [Symfony Security Monitoring](https://security.symfony.com/) - A web tool to check your Composer dependencies for security advisories, previously known as "SensioLabs Security Check". -* [SQLMap](https://github.com/sqlmapproject/sqlmap) - An automatic SQL injection and database takeover tool. +* [SQLMap](https://github.com/sqlmapproject/sqlmap) - An automatic SQL injection and database takeover tool. * [TCrypto](https://github.com/timoh6/TCrypto) - A simple encrypted key-value storage library. * [VAddy](https://vaddy.net/) - A continuous security testing platform for web applications. -* [Zap](https://owasp.org/www-project-zap/) - An integrated penetration testing tool for web applications. +* [Zap](https://github.com/OWASP/www-project-zap) - An integrated penetration testing tool for web applications. ### Passwords *Libraries and tools for working with and storing passwords.* @@ -398,14 +398,14 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Qafoo Quality Analyzer](https://github.com/Qafoo/QualityAnalyzer) - A tool to visualize metrics and source code. * [Rector](https://github.com/rectorphp/rector) - A tool to upgrade and refactor code. * [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to [scrutinise PHP code](https://github.com/scrutinizer-ci/php-analyzer). -* [UBench](https://github.com/devster/ubench) - A simple micro benchmark library. +* [UBench](https://github.com/devster/ubench) - A simple micro-benchmark library. ### Code Quality *Libraries for managing code quality, formatting and linting.* -* [CaptainHook](https://github.com/captainhookphp/captainhook) - An easy-to-use and flexible Git hook library. +* [CaptainHook](https://github.com/captainhookphp/captainhook) - An easy-to-use and flexible Git hook library. * [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) - A library that detects PHP, CSS and JS coding standard violations. -* [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) - A coding standards fixer library. +* [PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer) - A coding standards fixer library. * [PHP Mess Detector](https://github.com/phpmd/phpmd) - A library that scans code for bugs, sub-optimal code, unused parameters and more. * [PHPCheckstyle](https://github.com/PHPCheckstyle/phpcheckstyle) - A tool to help adhere to certain coding conventions. * [PHPCPD](https://github.com/sebastianbergmann/phpcpd) - A library that detects copied and pasted code. @@ -417,9 +417,9 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Deptrac](https://github.com/qossmic/deptrac) - A static code analysis tool that helps to enforce rules for dependencies between software layers. * [Mondrian](https://github.com/Trismegiste/Mondrian) - A code analysis tool using Graph Theory. * [phan](https://github.com/phan/phan) - A static analyzer based on PHP 7+ and the php-ast extension. -* [PHP Architecture Tester](https://github.com/carlosas/phpat) - Easy to use architecture testing tool for PHP. +* [PHP Architecture Tester](https://github.com/carlosas/phpat) - Easy-to-use architecture testing tool for PHP. * [PHPCompatibility](https://github.com/PHPCompatibility/PHPCompatibility) - A PHP compatibility checker for PHP CodeSniffer. -* [PhpDependencyAnalysis](https://github.com/mamuz/PhpDependencyAnalysis) - A tool to create customisable dependency graphs. +* [PhpDependencyAnalysis](https://github.com/mamuz/PhpDependencyAnalysis) - A tool to create customizable dependency graphs. * [PHP Metrics](https://github.com/phpmetrics/PhpMetrics) - A static metric library. * [PHP Migration](https://github.com/monque/PHP-Migration) - A static analyzer for PHP version migration. * [PHPStan](https://github.com/phpstan/phpstan) - A PHP Static Analysis Tool. @@ -445,7 +445,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Blackfire.io](https://www.blackfire.io) - A low-overhead code profiler. * [Kint](https://github.com/kint-php/kint) - A debugging and profiling tool. * [Metrics](https://github.com/beberlei/metrics) - A simple metrics API library. -* [PCOV](https://github.com/krakjoe/pcov) - A self contained code coverage compatible driver. +* [PCOV](https://github.com/krakjoe/pcov) - A self-contained code coverage compatible driver. * [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. @@ -453,7 +453,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Symfony VarDumper](https://github.com/symfony/var-dumper) - A variable dumper component. * [Tideways.io](https://tideways.com/) - Monitoring and profiling tool. * [Tracy](https://github.com/nette/tracy) - A simple error detection, logging and time measuring library. -* [Whoops](https://github.com/filp/whoops) - A pretty error handling library. +* [Whoops](https://github.com/filp/whoops) - A pretty error-handling library. * [xDebug](https://github.com/xdebug/xdebug) - A debug and profile tool for PHP. * [XHProf](https://github.com/phacility/xhprof) - A profiling tool originally developed by Facebook. * [Z-Ray](https://www.zend.com/products/z-ray) - A debug and profile tool for Zend Server. @@ -504,7 +504,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [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. * [Moment.php](https://github.com/fightbulc/moment.php) - Moment.js inspired PHP DateTime handler with i18n support. -* [Yasumi](https://github.com/azuyalabs/yasumi) - An library to help you calculate the dates and names of holidays. +* [Yasumi](https://github.com/azuyalabs/yasumi) - A library to help you calculate the dates and names of holidays. ### Event *Libraries that are event-driven or implement non-blocking event loops.* @@ -542,7 +542,9 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ### PDF *Libraries and software for working with PDF files.* +* [Browsershot](https://github.com/spatie/browsershot) - Convert HTML to an image, PDF or string. * [Dompdf](https://github.com/dompdf/dompdf) - A HTML to PDF converter. +* [Gotenberg](https://github.com/gotenberg/gotenberg-php) - A PHP client for interacting with Gotenberg. * [PHPPdf](https://github.com/psliwa/PHPPdf) - A library for generating PDFs and images from XML. * [Snappy](https://github.com/KnpLabs/snappy) - A PDF and image generation library. * [WKHTMLToPDF](https://github.com/wkhtmltopdf/wkhtmltopdf) - A tool to convert HTML to PDF. @@ -553,8 +555,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [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). -* [Spout](https://github.com/box/spout) - Read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way . - +* [OpenSpout](https://github.com/openspout/openspout) - A community driven fork of `box/spout`, a PHP library to read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way. ### Database *Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.* @@ -586,7 +587,7 @@ Libraries to help manage database schemas and migrations. *Libraries for working with "NoSQL" backends.* * [PHPMongo](https://github.com/sokil/php-mongo) - A MongoDB ORM. -* [Predis](https://github.com/predis/predis) - A feature complete Redis library. +* [Predis](https://github.com/predis/predis) - A feature-complete Redis library. ### Queue *Libraries for working with event and task queues.* @@ -597,7 +598,7 @@ Libraries to help manage database schemas and migrations. * [PHP AMQP](https://github.com/php-amqplib/php-amqplib) - A pure PHP AMQP library. * [Tarantool Queue](https://github.com/tarantool-php/queue) - PHP bindings for Tarantool Queue. * [Thumper](https://github.com/php-amqplib/Thumper) - A RabbitMQ pattern library. -* [Enqueue](https://github.com/php-enqueue/enqueue-dev) - A message queue packages for PHP that supports RabbitMQ, AMQP, STOMP, Amazon SQS, Redis and Doctrine transports. +* [Enqueue](https://github.com/php-enqueue/enqueue-dev) - A message queue packages for PHP that supports RabbitMQ, AMQP, STOMP, Amazon SQS, Redis and Doctrine transports. ### Search *Libraries and software for indexing and performing search queries on data.* @@ -615,7 +616,7 @@ Libraries to help manage database schemas and migrations. * [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. * [CLIFramework](https://github.com/c9s/CLIFramework) - A command-line framework supports zsh/bash completion generation, subcommands and option constraints. It also powers phpbrew. -* [CLImate](https://github.com/thephpleague/climate) - A library for outputting colours and special formatting. +* [CLImate](https://github.com/thephpleague/climate) - A library for outputting colors 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/getopt-php/getopt-php) - A command line opt parser. @@ -635,7 +636,7 @@ Libraries to help manage database schemas and migrations. * [OAuth2 Server](https://oauth2.thephpleague.com/) - An OAuth2 authentication server, resource server and client library. * [Opauth](https://github.com/opauth/opauth) - A multi-provider authentication framework. * [Paseto](https://github.com/paragonie/paseto) - Platform-Agnostic Security Tokens. -* [PHP oAuthLib](https://github.com/Lusitanian/PHPoAuthLib) - Another OAuth library. +* [PHP oAuthLib](https://github.com/daviddesberg/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/abraham/twitteroauth) - A Twitter OAuth library. @@ -643,7 +644,7 @@ Libraries to help manage database schemas and migrations. ### Markup and CSS *Libraries for working with markup and CSS formats. -* [Cebe Markdown](https://github.com/cebe/markdown) - An fast and extensible Markdown parser. +* [Cebe Markdown](https://github.com/cebe/markdown) - A fast and extensible Markdown parser. * [CommonMark PHP](https://github.com/thephpleague/commonmark) - Highly-extensible Markdown parser which fully supports the [CommonMark spec](https://spec.commonmark.org/). * [Decoda](https://github.com/milesj/decoda) - A lightweight markup parser library. * [Essence](https://github.com/essence/essence) - A library for extracting web media. @@ -667,12 +668,12 @@ Libraries to help manage database schemas and migrations. * [Agent](https://github.com/jenssegers/agent) - A PHP desktop/mobile user agent parser, based on Mobiledetect. * [ANSI to HTML5](https://github.com/sensiolabs/ansi-to-html) - An ANSI to HTML5 converter library. -* [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 colors. * [Device Detector](https://github.com/matomo-org/device-detector) - Another library for parsing user agent strings. * [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. -* [Portable ASCII](https://github.com/voku/portable-ascii) - A library to convert strings to ascii. +* [Portable ASCII](https://github.com/voku/portable-ascii) - A library to convert strings to ASCII. * [Portable UTF-8](https://github.com/voku/portable-utf8) - A string manipulation library with UTF-8 safe replacement methods. * [Slugify](https://github.com/cocur/slugify) - A library to convert strings to slugs. * [SQL Formatter](https://github.com/jdorn/sql-formatter/) - A library for formatting SQL statements. @@ -686,12 +687,12 @@ Libraries to help manage database schemas and migrations. * [Brick\Math](https://github.com/brick/math) - A library providing large number support: `BigInteger`, `BigDecimal` and `BigRational`. * [ByteUnits](https://github.com/gabrielelana/byte-units) - A library to parse, format and convert byte units in binary and metric systems. -* [DecimalObject](https://github.com/spryker/decimal-object) - A value object to handle decimals/floats easily and more precisely. +* [DecimalObject](https://github.com/php-collective/decimal-object) - A value object to handle decimals/floats easily and more precisely. * [IP](https://github.com/darsyn/ip) - An immutable value object for working with IPv4 and IPv6 addresses. * [LibPhoneNumber for PHP](https://github.com/giggsey/libphonenumber-for-php) - A PHP implementation of Google's phone number handling library. * [PHP Conversion](https://github.com/Crisu83/php-conversion) - Another library for converting between units of measure. * [PHP Units of Measure](https://github.com/triplepoint/php-units-of-measure) - A library for converting between units of measure. -* [MathPHP](https://github.com/markrogoyski/math-php) - A math library for PHP. +* [MathPHP](https://github.com/markrogoyski/math-php) - A math library for PHP. ### Filtering and Validation *Libraries for filtering and validating data.* @@ -700,7 +701,7 @@ Libraries to help manage database schemas and migrations. * [Aura.Filter](https://github.com/auraphp/Aura.Filter) - Provides tools to validate and sanitize objects and arrays. * [CakePHP Validation](https://github.com/cakephp/validation) - Another validation library. * [Filterus](https://github.com/ircmaxell/filterus) - A simple PHP filtering library. -* [ISO-codes](https://github.com/ronanguilloux/IsoCodes) - A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries. +* [ISO-codes](https://github.com/ronanguilloux/IsoCodes) - A library for validating inputs according to standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries. * [JSON Schema](https://github.com/justinrainbow/json-schema) - A [JSON Schema](https://json-schema.org/) validation library. * [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. @@ -711,7 +712,7 @@ Libraries to help manage database schemas and migrations. ### API *Libraries and web tools for developing APIs.* -* [API Platform](https://api-platform.com ) - Expose in minutes an hypermedia REST API that embraces JSON-LD, Hydra format. +* [API Platform](https://api-platform.com ) - Expose in minutes a hypermedia REST API that embraces JSON-LD, Hydra format. * [Laminas API Tool Skeleton](https://github.com/laminas-api-tools/api-tools-skeleton) - An API builder built with the Laminas Framework. * [Drest](https://github.com/leedavis81/drest) - A library for exposing Doctrine entities as REST resource endpoints. * [HAL](https://github.com/blongden/hal) - A Hypertext Application Language (HAL) builder library. @@ -724,7 +725,7 @@ Libraries to help manage database schemas and migrations. ### Caching and Locking *Libraries for caching data and acquiring locks.* -* [APIx Cache](https://github.com/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 emphasizing cache tagging and indexing. * [CacheTool](https://github.com/gordalina/cachetool) - A tool to clear APC/opcode caches from the command line. * [CakePHP Cache](https://github.com/cakephp/cache) - A caching library. * [Doctrine Cache](https://github.com/doctrine/cache) - A caching library. @@ -744,7 +745,7 @@ Libraries to help manage database schemas and migrations. * [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](https://msgpack.org/) serialization format. * [PINQ](https://github.com/TimeToogo/Pinq) - A PHP library based on .NET's LINQ (Language Integrated Query). -* [Serializer](https://github.com/schmittjoh/serializer) - A library for serialising and de-serialising data. +* [Serializer](https://github.com/schmittjoh/serializer) - A library for serializing and de-serializing data. * [YaLinqo](https://github.com/Athari/YaLinqo) - Yet Another LINQ to Objects for PHP. * [Laminas Serializer](https://github.com/laminas/laminas-serializer) - Another library for serialising and de-serialising data. @@ -783,7 +784,7 @@ Libraries to help manage database schemas and migrations. * [PHP Dotenv](https://github.com/vlucas/phpdotenv) - Parse and load environment variables from `.env` files. * [Symfony Dotenv](https://github.com/symfony/dotenv)- Parse and load environment variables from `.env` files. -* [Yo! Symfony TOML](https://github.com/yosymfony/toml) - A PHP parser for [TOML](https://github.com/toml-lang/toml). +* [Yo! Symfony TOML](https://github.com/yosymfony/toml) - A PHP parser for [TOML](https://github.com/toml-lang/toml). ### Third Party APIs *Libraries for accessing third party APIs.* @@ -807,8 +808,8 @@ Libraries to help manage database schemas and migrations. *Useful libraries or utilities that don't fit into the categories above.* * [Annotations](https://github.com/doctrine/annotations) - An annotation library (part of Doctrine). -* [BotMan](https://github.com/botman/botman) - A framework agnostic PHP library to build cross-platform chat bots. -* [ClassPreloader](https://github.com/ClassPreloader/ClassPreloader) - A library for optimising autoloading. +* [BotMan](https://github.com/botman/botman) - A framework agnostic PHP library to build cross-platform chatbots. +* [ClassPreloader](https://github.com/ClassPreloader/ClassPreloader) - A library for optimizing autoloading. * [Hprose-PHP](https://github.com/hprose/hprose-php) - A cross-language RPC. * [noCAPTCHA](https://github.com/ARCANEDEV/noCAPTCHA) - Helper for Google's noCAPTCHA (reCAPTCHA). * [Pagerfanta](https://github.com/whiteoctober/Pagerfanta) - A pagination library. @@ -826,7 +827,6 @@ Libraries to help manage database schemas and migrations. * [Laravel Valet](https://laravel.com/docs/master/valet) - A development environment for macOS. * [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 OSX](https://php-osx.liip.ch/) - A PHP installer for OSX. ### Development Environment *Software and tools for creating and sharing a development environment.* @@ -834,11 +834,11 @@ Libraries to help manage database schemas and migrations. * [Ansible](https://www.ansible.com/) - A radically simple orchestration framework. * [Docker](https://www.docker.com/) - A containerization platform. * [Docker PHP Extension Installer](https://github.com/mlocati/docker-php-extension-installer) - Easily install PHP extensions in Docker containers. -* [Expose](https://github.com/beyondcode/expose) - An open source PHP tunneling service. +* [Expose](https://github.com/beyondcode/expose) - An open-source PHP tunneling service. * [Lando](https://lando.dev/) - Push-button development environments. -* [Laravel Homestead](https://laravel.com/docs/master/homestead) - A local development environment for Laravel. +* [Laravel Homestead](https://laravel.com/docs/master/homestead) - A local development environment for Laravel. * [Laradock](http://laradock.io/) - A full PHP development environment based on Docker. -* [Puppet](https://puppet.com/) - A server automation framework and application. +* [Puppet](https://www.puppet.com) - A server automation framework and application. * [Takeout](https://github.com/tighten/takeout) - A Docker-based development-only dependency manager. * [Vagrant](https://www.vagrantup.com/) - A portable development environment utility. @@ -884,7 +884,6 @@ Various resources, such as books, websites and articles, for improving your PHP ### PHP Websites *Useful PHP-related websites.* -* [libs.garden: PHP](https://libs.garden/php) - An overview of fastest growing PHP libraries. * [Nomad PHP](https://nomadphp.com/) - A online PHP learning resource. * [Laravel News](https://laravel-news.com/) - The official Laravel blog. * [PHP Annotated Monthly](https://blog.jetbrains.com/phpstorm/tag/php-annotated-monthly/) - A monthly digest of PHP news. @@ -906,7 +905,7 @@ Various resources, such as books, websites and articles, for improving your PHP * [Domain-Driven Design in PHP](https://leanpub.com/ddd-in-php) - Real examples written in PHP showcasing DDD Architectural Styles. * [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](https://www.brandonsavage.net/) - A book about object-orientated PHP by Brandon Savage. +* [Mastering Object-Orientated PHP](https://brandonsavage.net) - A book about object-orientated PHP by Brandon Savage. * [Modern PHP New Features and Good Practices](https://www.oreilly.com/library/view/~/9781491905173/) - A book about new PHP features and best practices by Josh Lockhart. * [Modernizing Legacy Applications in PHP](https://leanpub.com/mlaphp) - A book about modernizing legacy PHP applications by Paul M. Jones. * [PHP 7 Upgrade Guide](https://leanpub.com/php7) - An ebook covering all of the features and changes in PHP 7 by Colin O'Dell. @@ -931,11 +930,18 @@ Various resources, such as books, websites and articles, for improving your PHP ### PHP Podcasts *Podcasts with a focus on PHP topics.* -* [Laravel Podcast](https://laravelpodcast.com/) - Laravel and PHP development news and discussion. +* [The Laravel Podcast](https://laravelpodcast.com/) - Laravel and PHP development news and discussion. +* [Laravel News Podcast](https://podcast.laravel-news.com/) - The Laravel News Podcast brings you all the latest news and events related to the Laravel PHP Framework. * [PHP Internals News](https://phpinternals.news) - A podcast about PHP internals. -* [PHP Roundtable](https://phproundtable.com/) - The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about. +* [The PHP Roundtable](https://phproundtable.com/) - The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about. * [PHP Town Hall](https://phptownhall.com/) - A casual PHP podcast by Ben Edmunds and Phil Sturgeon. -* [Voices of the ElePHPant](https://voicesoftheelephpant.com/) Interviews with the people that make the PHP community special. +* [Voices of the ElePHPant](https://voicesoftheelephpant.com/) - Interviews with the people who make the PHP community special. +* [The Laracasts Snippet](https://laracasts.simplecast.com) - The Laracasts snippet, each episode, offers a single thought on some aspect of web development. +* [php[podcast] episodes from php[architect]](https://www.phparch.com/podcast/) - The official podcast of php[architect] the industry's leading tech magazine and publisher focused on PHP and web development. +* [Over Engineered](https://overengineered.fm/) - A podcast in mini-series where we explore unimportant programming questions in extreme detail. +* [PHPUgly](https://www.phpugly.com/) - The ramblings of a few overworked PHP Developers. +* [No Compromises](https://show.nocompromises.io/) - Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams. +* [North Meets South Web Podcast](https://www.northmeetssouth.audio/) - Jacob Bennett and Michael Dyrynda conquer a 14.5 hour time difference to talk about life as web developers. ### PHP Newsletters *PHP-related news directly to your inbox.* @@ -951,6 +957,6 @@ Various resources, such as books, websites and articles, for improving your PHP *Reading materials related to the PHP internals or performance.* * [PHP RFCs](https://wiki.php.net/rfc) - The home of PHP RFCs (Request for Comments). -* [Externals](https://externals.io/) - PHP internal discussions. +* [Externals](https://externals.io/) - PHP internal discussions. * [PHP RFC Watch](https://php-rfc-watch.beberlei.de/) - Watch the latest PHP [RFCs](https://wiki.php.net/rfc). * [PHP Internals Book](https://www.phpinternalsbook.com/) - An online book about PHP internals, written by three core developers. From bde02c1ac74ba452752e18755e9f8f28de7a7ae8 Mon Sep 17 00:00:00 2001 From: Smoren Date: Fri, 5 Jan 2024 15:01:45 +0300 Subject: [PATCH 09/34] Add IterTools PHP to Architectural section. (#1217) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 21a9da8..2934283 100644 --- a/README.md +++ b/README.md @@ -432,6 +432,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Finite](https://yohan.giarel.li/Finite/) - A simple PHP finite state machine. * [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library. * [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators. +* [IterTools PHP](https://github.com/markrogoyski/itertools-php) - A library that provides functionality for working with iterable entities (similar to itertools library in Python). * [Patchwork](https://patchwork2.org/) - A library for redefining userland functions. * [Pipeline](https://github.com/thephpleague/pipeline) - A pipeline pattern implementation. * [Porter](https://github.com/ScriptFUSION/Porter) - Data import abstraction library for consuming Web APIs and other data sources. From ca472f5a08cf82f1c0439a549c0d872143c88fb7 Mon Sep 17 00:00:00 2001 From: Jamie York Date: Fri, 5 Jan 2024 12:13:24 +0000 Subject: [PATCH 10/34] dead pdf libs --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 2934283..32a9ca4 100644 --- a/README.md +++ b/README.md @@ -546,9 +546,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Browsershot](https://github.com/spatie/browsershot) - Convert HTML to an image, PDF or string. * [Dompdf](https://github.com/dompdf/dompdf) - A HTML to PDF converter. * [Gotenberg](https://github.com/gotenberg/gotenberg-php) - A PHP client for interacting with Gotenberg. -* [PHPPdf](https://github.com/psliwa/PHPPdf) - A library for generating PDFs and images from XML. * [Snappy](https://github.com/KnpLabs/snappy) - A PDF and image generation library. -* [WKHTMLToPDF](https://github.com/wkhtmltopdf/wkhtmltopdf) - A tool to convert HTML to PDF. ### Office *Libraries for working with office suite documents.* From 029fff584c721ee3cb2ceaba298141bde157d913 Mon Sep 17 00:00:00 2001 From: Jamie York Date: Wed, 10 Jan 2024 20:28:38 +0000 Subject: [PATCH 11/34] Update COLLABORATING.md --- COLLABORATING.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/COLLABORATING.md b/COLLABORATING.md index 4bcd124..8ebae7a 100644 --- a/COLLABORATING.md +++ b/COLLABORATING.md @@ -13,9 +13,10 @@ If you provide feedback on a suggested project please be friendly and constructi ## Reviewing Please work through the following checklist when reviewing a project: -- Tag pull requests with the most relevant label(s). -- Validate URLs work correctly and don't point to anything malicious. - Ensure suggestions adhere to [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md). +- Validate URLs work correctly and don't point to anything malicious. +- Two approvals per pull request is preferred, but not required. +- Simple pull requests fixing typos, formatting and broken links can be merged with a single approval. ## Enhancements If you have an idea on how to improve the project, please open a ticket for discussion using the `Enhancement` label. Please don’t make any broad or sweeping changes without consulting other collaborators first and reaching a consensus. @@ -23,4 +24,4 @@ If you have an idea on how to improve the project, please open a ticket for disc ## Join If you want to help out please send an email to my Github username [at] gmail [dot] com with the subject “Awesome PHP Collaborator and a link to your Github account and I’ll get back to you as soon as I can (I'm notoriously slow, sorry). -Thank you for taking the time to help out with Awesome PHP, your help is appreciated! \ No newline at end of file +Thank you for taking the time to help out with Awesome PHP, your help is appreciated! From f2530762221a80b6948c64a410a6a4da06c4af2a Mon Sep 17 00:00:00 2001 From: Jamie York Date: Wed, 10 Jan 2024 20:29:19 +0000 Subject: [PATCH 12/34] Update CODE-OF-CONDUCT.md --- CODE-OF-CONDUCT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CODE-OF-CONDUCT.md b/CODE-OF-CONDUCT.md index a7e2d2e..50dfbb7 100644 --- a/CODE-OF-CONDUCT.md +++ b/CODE-OF-CONDUCT.md @@ -35,7 +35,7 @@ This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting a project maintainer at awesome-php@josediazgonzalez.com. All +reported by contacting a project maintainer at ziadoz@gmail.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an From b95a75d7403d8959dbdad631f4d466f2afbb8780 Mon Sep 17 00:00:00 2001 From: sarven Date: Tue, 16 Jan 2024 23:12:11 +0100 Subject: [PATCH 13/34] Add a link to Unit Testing Tips --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f523f45..95ad46a 100644 --- a/README.md +++ b/README.md @@ -898,6 +898,7 @@ Various resources, such as books, websites and articles, for improving your PHP * [PHP Watch](https://php.watch/) - PHP articles, news, upcoming changes, RFCs and more. * [PHP Weekly](https://www.phpweekly.com/archive.html) - A weekly PHP newsletter. * [Seven PHP](https://7php.com/) - A website that interviews members of the PHP community. +* [Unit Testing Tips](https://testing-tips.sarvendev.com/) - Unit Testing Tips by examples in PHP. ### PHP Books *Fantastic PHP-related books.* From 27cef35c5bd6ce031858dfd00988a466129dc45b Mon Sep 17 00:00:00 2001 From: hidden_nickname Date: Thu, 18 Jan 2024 19:57:36 +0300 Subject: [PATCH 14/34] Add WsdlToPhp/PackageGenerator (#748) * Add WsdlToPhp/PackageGenerator * Remove `wsdl2phpgenerator` as it is no longer maintained --------- Co-authored-by: Alexander Kartavenko --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f523f45..0333748 100644 --- a/README.md +++ b/README.md @@ -720,7 +720,7 @@ Libraries to help manage database schemas and migrations. * [Jane](https://github.com/janephp/janephp/) - An OpenApi client generator with validation support. * [Negotiation](https://github.com/willdurand/Negotiation) - A content negotiation library. * [Restler](https://github.com/Luracast/Restler) - A lightweight framework to expose PHP methods as RESTful web API. -* [wsdl2phpgenerator](https://github.com/wsdl2phpgenerator/wsdl2phpgenerator) - A tool to generate PHP classes from SOAP WSDL files. +* [PackageGenerator](https://github.com/WsdlToPhp/PackageGenerator) - Package Generator generates a PHP SDK from any WSDL. ### Caching and Locking *Libraries for caching data and acquiring locks.* From 21d78f23665ea8be2ef284e52c1c4a091c154358 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Tue, 23 Jan 2024 15:41:57 +0200 Subject: [PATCH 15/34] Remove AspectMock Package is abandoned --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0333748..b09a6ad 100644 --- a/README.md +++ b/README.md @@ -307,7 +307,6 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT *Libraries for testing codebases and generating test data.* * [Alice](https://github.com/nelmio/alice) - An expressive fixture generation library. -* [AspectMock](https://github.com/Codeception/AspectMock) - A mocking framework for PHPUnit/Codeception. * [Atoum](https://github.com/atoum/atoum) - A simple testing library. * [Behat](https://docs.behat.org/en/latest/) - A behaviour driven development (BDD) testing framework. * [Codeception](https://github.com/Codeception/Codeception) - A full stack testing framework. From c948830f1b1649a75fe526000270588906a0ace5 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Thu, 25 Jan 2024 16:39:39 +0200 Subject: [PATCH 16/34] Remove `HTTP Mock` It doesn't support PHP 8 and isn't maintained. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 5ce727f..e75076d 100644 --- a/README.md +++ b/README.md @@ -312,7 +312,6 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Codeception](https://github.com/Codeception/Codeception) - A full stack testing framework. * [Faker](https://github.com/fakerphp/faker) - A fake data generator library. * [Foundry](https://github.com/zenstruck/foundry) - A fixture factory generation library for Doctrine. -* [HTTP Mock](https://github.com/InterNations/http-mock) - A library for mocking HTTP requests in unit tests. * [Infection](https://github.com/infection/infection) - An AST-based PHP Mutation testing framework. * [Kahlan](https://github.com/kahlan/kahlan) - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support. * [Mink](https://mink.behat.org/en/latest/) - Web acceptance testing. From 16ac9d342ba58aa6a08decb105d1f69c61b6c1ff Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Thu, 25 Jan 2024 16:52:31 +0200 Subject: [PATCH 17/34] Remove `peridot-php/peridot` It doesn't support PHP 8 and isn't maintained. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e75076d..cbee44c 100644 --- a/README.md +++ b/README.md @@ -319,7 +319,6 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Nette Tester](https://github.com/nette/tester) - A productive and enjoyable parallel unit testing framework. * [ParaTest](https://github.com/paratestphp/paratest) - A parallel testing library for PHPUnit. * [Pest](https://pestphp.com/) - A testing framework with a focus on simplicity. -* [Peridot](https://github.com/peridot-php/peridot) - An event-driven test framework. * [Phake](https://github.com/phake/phake) - Another mock object library for testing. * [Pho](https://github.com/danielstjules/pho) - Another behavior-driven development testing framework. * [PHP-Mock](https://github.com/php-mock/php-mock) - A mock library for built-in PHP functions (e.g. time()). From 4a70cd393b4dc87e976ea9616a9f902ec9e54930 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Thu, 25 Jan 2024 16:58:57 +0200 Subject: [PATCH 18/34] Remove `danielstjules/pho` It doesn't support PHP 8 and isn't maintained. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index cbee44c..ea1d3e9 100644 --- a/README.md +++ b/README.md @@ -320,7 +320,6 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [ParaTest](https://github.com/paratestphp/paratest) - A parallel testing library for PHPUnit. * [Pest](https://pestphp.com/) - A testing framework with a focus on simplicity. * [Phake](https://github.com/phake/phake) - Another mock object library for testing. -* [Pho](https://github.com/danielstjules/pho) - Another behavior-driven development testing framework. * [PHP-Mock](https://github.com/php-mock/php-mock) - A mock library for built-in PHP functions (e.g. time()). * [PHP MySQL Engine](https://github.com/vimeo/php-mysql-engine) - A MySQL engine written in pure PHP. * [PHPSpec](https://github.com/phpspec/phpspec) - A design by specification unit testing library. From e0a31bd9ee195ffb243d3389e022fa5e1925415f Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Mon, 5 Feb 2024 13:43:18 +0200 Subject: [PATCH 19/34] Remove `phpbestpractices.org` Outdated --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index ac087ed..18b4e47 100644 --- a/README.md +++ b/README.md @@ -884,7 +884,6 @@ Various resources, such as books, websites and articles, for improving your PHP * [Nomad PHP](https://nomadphp.com/) - A online PHP learning resource. * [Laravel News](https://laravel-news.com/) - The official Laravel blog. * [PHP Annotated Monthly](https://blog.jetbrains.com/phpstorm/tag/php-annotated-monthly/) - A monthly digest of PHP news. -* [PHP Best Practices](https://phpbestpractices.org/) - A PHP best practice guide. * [PHP FIG](https://www.php-fig.org/) - The PHP Framework Interoperability Group. * [PHP Package Development Standards](http://php-pds.com) - Package development standards for PHP. * [PHP School](https://www.phpschool.io/) - Open Source Learning for PHP. From 6aa103b88b4edded985c84a4acb8667c9280e7aa Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Mon, 5 Feb 2024 14:05:29 +0200 Subject: [PATCH 20/34] Remove `phpsecurity` Outdated, not maintained --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 18b4e47..cf8a616 100644 --- a/README.md +++ b/README.md @@ -887,7 +887,6 @@ Various resources, such as books, websites and articles, for improving your PHP * [PHP FIG](https://www.php-fig.org/) - The PHP Framework Interoperability Group. * [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](https://phpsecurity.readthedocs.io/en/latest/index.html) - A guide to PHP security. * [PHP The Right Way](https://phptherightway.com/) - A PHP best practice quick reference guide. * [PHP UG](https://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. From 4647115a9bbc53d4e41763773e0a8b6586aef483 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Mon, 5 Feb 2024 14:08:59 +0200 Subject: [PATCH 21/34] Remove `phpversions.info` This site is no longer maintained. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index cf8a616..039ebad 100644 --- a/README.md +++ b/README.md @@ -889,7 +889,6 @@ Various resources, such as books, websites and articles, for improving your PHP * [PHP School](https://www.phpschool.io/) - Open Source Learning for PHP. * [PHP The Right Way](https://phptherightway.com/) - A PHP best practice quick reference guide. * [PHP UG](https://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 Watch](https://php.watch/) - PHP articles, news, upcoming changes, RFCs and more. * [PHP Weekly](https://www.phpweekly.com/archive.html) - A weekly PHP newsletter. * [Seven PHP](https://7php.com/) - A website that interviews members of the PHP community. From 0db7cd980b20bcb47f876b54d367a01aafeb0989 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Mon, 5 Feb 2024 14:13:02 +0200 Subject: [PATCH 22/34] Remove `7php.com` Not updated. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 039ebad..be15b8a 100644 --- a/README.md +++ b/README.md @@ -891,7 +891,6 @@ Various resources, such as books, websites and articles, for improving your PHP * [PHP UG](https://php.ug) - A website to help people locate their nearest PHP user group (UG). * [PHP Watch](https://php.watch/) - PHP articles, news, upcoming changes, RFCs and more. * [PHP Weekly](https://www.phpweekly.com/archive.html) - A weekly PHP newsletter. -* [Seven PHP](https://7php.com/) - A website that interviews members of the PHP community. * [Unit Testing Tips](https://testing-tips.sarvendev.com/) - Unit Testing Tips by examples in PHP. ### PHP Books From b7a253c28071636089cd9aabd09df9707109c76b Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Tue, 6 Feb 2024 17:50:52 +0200 Subject: [PATCH 23/34] Move to scraping category --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 373f828..955345f 100644 --- a/README.md +++ b/README.md @@ -196,8 +196,9 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [zend-diactoros](https://github.com/zendframework/zend-diactoros) - PSR-7 HTTP Message implementation. ## Scraping -*Libraries for scraping websites.* +*Libraries for scraping websites and detecting crawlers.* +* [CrawlerDetect](https://github.com/JayBizzle/Crawler-Detect) - A PHP class for detecting bots/crawlers/spiders via the user agent. * [Embed](https://github.com/oscarotero/Embed) - An information extractor from any web service or page. * [Goutte](https://github.com/FriendsOfPHP/Goutte) - A simple web scraper. * [PHP Spider](https://github.com/mvdbos/php-spider) - A configurable and extensible PHP web spider. @@ -632,7 +633,6 @@ Libraries to help manage database schemas and migrations. * [Agent](https://github.com/jenssegers/agent) - A PHP desktop/mobile user agent parser, based on Mobiledetect. * [ANSI to HTML5](https://github.com/sensiolabs/ansi-to-html) - An ANSI to HTML5 converter library. * [Color Jizz](https://github.com/mikeemoo/ColorJizz-PHP) - A library for manipulating and converting colours. -* [CrawlerDetect](https://github.com/JayBizzle/Crawler-Detect) - A PHP class for detecting bots/crawlers/spiders via the user agent. * [Device Detector](https://github.com/piwik/device-detector) - Another library for parsing user agent strings. * [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. From 7c24d67261fb38676cf9de18d64e365c850c1b14 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Fri, 9 Feb 2024 19:22:10 +0200 Subject: [PATCH 24/34] Remove Goutte This library is deprecated. --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 7792651..efc412d 100644 --- a/README.md +++ b/README.md @@ -228,13 +228,12 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT ### Scraping *Libraries for scraping websites and detecting crawlers.* -* [CrawlerDetect](https://github.com/JayBizzle/Crawler-Detect) - A PHP class for detecting bots/crawlers/spiders via the user agent. * [Chrome PHP](https://github.com/chrome-php/chrome) - Instrument headless Chrome/Chromium instances from PHP. +* [CrawlerDetect](https://github.com/JayBizzle/Crawler-Detect) - A PHP class for detecting bots/crawlers/spiders via the user agent. * [DiDOM](https://github.com/Imangazaliev/DiDOM) - A super-fast HTML scrapper and parser. * [Embed](https://github.com/oscarotero/Embed) - An information extractor from any web service or page. -* [Goutte](https://github.com/FriendsOfPHP/Goutte) - A simple web scraper. -* [Symfony Panther](https://github.com/symfony/panther) - A browser testing and web crawling library for PHP and Symfony. * [PHP Spider](https://github.com/mvdbos/php-spider) - A configurable and extensible PHP web spider. +* [Symfony Panther](https://github.com/symfony/panther) - A browser testing and web crawling library for PHP and Symfony. ### Middlewares *Libraries for building application using middlewares.* From 7f59a541a1a716d8d639df8b90a443345428afb5 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Fri, 9 Feb 2024 19:30:48 +0200 Subject: [PATCH 25/34] Change failing workflow badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index efc412d..c52655f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome PHP ![](https://github.com/ziadoz/awesome-php/workflows/Awesome%20Bot/badge.svg) +# Awesome PHP [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) A curated list of amazingly awesome PHP libraries, resources, and shiny things. From 9fded8224c6d13c44c7e78a6fd555868f1dcc889 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Fri, 9 Feb 2024 19:37:10 +0200 Subject: [PATCH 26/34] Fixed awesomebot workflow --- .github/workflows/awesomebot.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.github/workflows/awesomebot.yml b/.github/workflows/awesomebot.yml index fb70de6..39a4407 100644 --- a/.github/workflows/awesomebot.yml +++ b/.github/workflows/awesomebot.yml @@ -3,19 +3,22 @@ on: push: branches: - master + jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 - - name: Set up Ruby - uses: actions/setup-ruby@v1 + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 with: - ruby-version: 2.7.x + ruby-version: '2.7' + - name: Install Awesome Bot run: gem install awesome_bot + - name: Run Awesome Bot run: awesome_bot README.md --request-delay 1 --allow-dupe --white-list igor.io,symfony,toranproxy.com,vagrantup.com,3v4l.org,voicesoftheelephpant.com,drupal.org,oreilly.com,youtube.com,lumen.laravel.com + - uses: actions/upload-artifact@v1 if: failure() with: From adf882435ba61b4ec2d6223b1e14db4f2fb778b9 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Fri, 9 Feb 2024 20:09:47 +0200 Subject: [PATCH 27/34] Fix links --- README.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index c52655f..7f5ef3f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Awesome PHP [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) +# Awesome PHP [![Awesome](https://cdn.jsdelivr.net/gh/sindresorhus/awesome@d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) A curated list of amazingly awesome PHP libraries, resources, and shiny things. @@ -150,7 +150,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Grav](https://github.com/getgrav/grav) - A modern flat-file CMS. * [Joomla](https://www.joomla.org/) - Another leading CMS. * [Kirby](https://getkirby.com/) - A flat-file CMS that adapts to any project. -* [Magento](https://business.adobe.com/products/magento/magento-commerce.html) - The most popular e-commerce platform. +* [Magento](https://github.com/magento/magento2) - The most popular e-commerce platform. * [Moodle](https://moodle.org/) - An open-source learning platform. * [Pico CMS](https://picocms.org/) - A stupidly simple, blazing fast, flat file CMS. * [Statamic](https://statamic.com/) - Build beautiful, easy-to-manage websites. @@ -261,7 +261,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Mautic](https://github.com/mautic/mautic) - Email marketing automation * [PHPMailer](https://github.com/PHPMailer/PHPMailer) - Another mailer solution. * [PHP IMAP](https://github.com/barbushin/php-imap) - A library to access mailboxes via POP3, IMAP and NNTP. -* [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 [MailChimp](https://mailchimp.com/features/transactional-email/). +* [Stampie](https://github.com/Stampie/Stampie) - A library for email services such as [SendGrid](https://sendgrid.com/en-us), [PostMark](https://postmarkapp.com), [MailGun](https://www.mailgun.com/) and [MailChimp](https://mailchimp.com/features/transactional-email/). * [SwiftMailer](https://swiftmailer.symfony.com) - A mailer solution. * [Symfony Mailer](https://github.com/symfony/mailer) - A powerful library for creating and sending emails. @@ -430,7 +430,6 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library. * [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators. * [IterTools PHP](https://github.com/markrogoyski/itertools-php) - A library that provides functionality for working with iterable entities (similar to itertools library in Python). -* [Patchwork](https://patchwork2.org/) - A library for redefining userland functions. * [Pipeline](https://github.com/thephpleague/pipeline) - A pipeline pattern implementation. * [Porter](https://github.com/ScriptFUSION/Porter) - Data import abstraction library for consuming Web APIs and other data sources. * [RulerZ](https://github.com/K-Phoen/rulerz) - A powerful rule engine and implementation of the Specification pattern. @@ -649,7 +648,7 @@ Libraries to help manage database schemas and migrations. * [HTML to Markdown](https://github.com/thephpleague/html-to-markdown) - Converts HTML into Markdown. * [HTML5 PHP](https://github.com/Masterminds/html5-php) - An HTML5 parser and serializer library. * [Parsedown](https://github.com/erusev/parsedown) - Another Markdown parser. -* [PHP CSS Parser](https://github.com/sabberworm/PHP-CSS-Parser) - A Parser for CSS Files written in PHP. +* [PHP CSS Parser](https://github.com/MyIntervals/PHP-CSS-Parser) - A Parser for CSS Files written in PHP. * [PHP Markdown](https://github.com/michelf/php-markdown) - A Markdown parser. * [Shiki PHP](https://github.com/spatie/shiki-php) - A [Shiki](https://github.com/shikijs/shiki) code highlighting package in PHP. * [VObject](https://github.com/sabre-io/vobject) - A library for parsing VCard and iCalendar objects. @@ -903,7 +902,6 @@ Various resources, such as books, websites and articles, for improving your PHP * [Modern PHP New Features and Good Practices](https://www.oreilly.com/library/view/~/9781491905173/) - A book about new PHP features and best practices by Josh Lockhart. * [Modernizing Legacy Applications in PHP](https://leanpub.com/mlaphp) - A book about modernizing legacy PHP applications by Paul M. Jones. * [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](https://daylerees.com/php-pandas/) - A book about learning to write PHP by Dayle Rees. * [Scaling PHP Applications](https://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. @@ -952,5 +950,5 @@ Various resources, such as books, websites and articles, for improving your PHP * [PHP RFCs](https://wiki.php.net/rfc) - The home of PHP RFCs (Request for Comments). * [Externals](https://externals.io/) - PHP internal discussions. -* [PHP RFC Watch](https://php-rfc-watch.beberlei.de/) - Watch the latest PHP [RFCs](https://wiki.php.net/rfc). +* [PHP RFC Watch](https://github.com/beberlei/php-rfc-watch) - Watch the latest PHP [RFCs](https://wiki.php.net/rfc). * [PHP Internals Book](https://www.phpinternalsbook.com/) - An online book about PHP internals, written by three core developers. From 5469710688fc26a16b55d6e8626b4c0bc6443842 Mon Sep 17 00:00:00 2001 From: alexkart Date: Sat, 10 Feb 2024 19:13:14 +0200 Subject: [PATCH 28/34] Add `povils/phpmnd` Co-authored-by: Povilas Susinskas --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7f5ef3f..730b5d0 100644 --- a/README.md +++ b/README.md @@ -387,6 +387,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [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. * [GrumPHP](https://github.com/phpro/grumphp) - A PHP code-quality tool. +* [PHP Magic Number Detector](https://github.com/povils/phpmnd) - A library that detects magic numbers in code. * [PHP Parser](https://github.com/nikic/PHP-Parser) - A PHP parser written in PHP. * [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. * [Phpactor](https://github.com/phpactor/phpactor) - PHP completion, refactoring and introspection tool. From de10473cd2d1c2e4cd594e0c551979b31f63d768 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Sat, 10 Feb 2024 21:20:12 +0200 Subject: [PATCH 29/34] Remove `Qafoo/QualityAnalyzer` The project is not maintained. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 0ec5c71..1e5c53c 100644 --- a/README.md +++ b/README.md @@ -393,7 +393,6 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Phpactor](https://github.com/phpactor/phpactor) - PHP completion, refactoring and introspection tool. * [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). -* [Qafoo Quality Analyzer](https://github.com/Qafoo/QualityAnalyzer) - A tool to visualize metrics and source code. * [Rector](https://github.com/rectorphp/rector) - A tool to upgrade and refactor code. * [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to [scrutinise PHP code](https://github.com/scrutinizer-ci/php-analyzer). * [UBench](https://github.com/devster/ubench) - A simple micro-benchmark library. From 9dd013358f6094a7e57192b8cae54e655efb08af Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Thu, 15 Feb 2024 17:47:19 +0200 Subject: [PATCH 30/34] Fix WordPress link Change `wordpress.org` url to GitHub repo url as it makes workflow fail --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e5c53c..72320ee 100644 --- a/README.md +++ b/README.md @@ -154,7 +154,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Moodle](https://moodle.org/) - An open-source learning platform. * [Pico CMS](https://picocms.org/) - A stupidly simple, blazing fast, flat file CMS. * [Statamic](https://statamic.com/) - Build beautiful, easy-to-manage websites. -* [WordPress](https://wordpress.org/) - A blogging platform and CMS. +* [WordPress](https://github.com/WordPress/WordPress) - A blogging platform and CMS. ### Components *Standalone components from web development frameworks and development groups.* From 4ccef395b9602274944542aee61539c51ae6c6f2 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Thu, 15 Feb 2024 18:00:34 +0200 Subject: [PATCH 31/34] Change `Elephant.io` url. [skip ci] Change `Elephant.io` url to the fork as the original repo is no longer maintained. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72320ee..334ffe7 100644 --- a/README.md +++ b/README.md @@ -508,7 +508,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT * [Amp](https://github.com/amphp/amp) - An event driven non-blocking I/O library. * [Broadway](https://github.com/broadway/broadway) - An event source and CQRS library. * [CakePHP Event](https://github.com/cakephp/event) - An event dispatcher library. -* [Elephant.io](https://github.com/Wisembly/Elephant.io) - Yet another web socket library. +* [Elephant.io](https://github.com/ElephantIO/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. * [Fast CGI Client](https://github.com/hollodotme/fast-cgi-client) - A client to make synchronous/asynchronous requests through php-fpm socket. From 974375e9253a89cb0301e0a950baae0c31b8c4dd Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Thu, 15 Feb 2024 19:54:00 +0200 Subject: [PATCH 32/34] Fix NetBeans link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 334ffe7..16f6bac 100644 --- a/README.md +++ b/README.md @@ -851,7 +851,7 @@ Libraries to help manage database schemas and migrations. *Text Editors and Integrated Development Environments (IDE) with support for PHP.* * [Eclipse for PHP Developers](https://www.eclipse.org/downloads/) - A PHP IDE based on the Eclipse platform. -* [Apache NetBeans](https://netbeans.apache.org/) - An IDE with support for PHP and HTML5. +* [Apache NetBeans](https://netbeans.apache.org/front/main/index.html) - An IDE with support for PHP and HTML5. * [PhpStorm](https://www.jetbrains.com/phpstorm/) - A commercial PHP IDE. * [VS Code](https://code.visualstudio.com/) - An open source code editor. From 2eb0b250a177dc69281c71e427889f3aeeb1fdf3 Mon Sep 17 00:00:00 2001 From: souhaiebtar Date: Fri, 16 Feb 2024 15:18:45 +0100 Subject: [PATCH 33/34] add ddev, and docksal to development environment (#1205) * Update README.md add ddev and devilbox to development environment * add docksal to Development Environment * Update README.md * Update README.md * Change order --------- Co-authored-by: Alexander Kartavenko --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 16f6bac..063bafa 100644 --- a/README.md +++ b/README.md @@ -830,8 +830,10 @@ Libraries to help manage database schemas and migrations. *Software and tools for creating and sharing a development environment.* * [Ansible](https://www.ansible.com/) - A radically simple orchestration framework. +* [DDEV](https://github.com/drud/ddev) - a local web development environment system for PHP. * [Docker](https://www.docker.com/) - A containerization platform. * [Docker PHP Extension Installer](https://github.com/mlocati/docker-php-extension-installer) - Easily install PHP extensions in Docker containers. +* [Docksal](https://github.com/docksal/docksal) - Unified, Docker :whale: powered web development environments for macOS, Windows, and Linux. * [Expose](https://github.com/beyondcode/expose) - An open-source PHP tunneling service. * [Lando](https://lando.dev/) - Push-button development environments. * [Laravel Homestead](https://laravel.com/docs/master/homestead) - A local development environment for Laravel. From 4d7a6e521a53ef9a23362fd42324728d8fdb9e97 Mon Sep 17 00:00:00 2001 From: Alexander Kartavenko Date: Fri, 16 Feb 2024 18:00:18 +0200 Subject: [PATCH 34/34] Fix DDEV url [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 063bafa..3fbcac1 100644 --- a/README.md +++ b/README.md @@ -830,7 +830,7 @@ Libraries to help manage database schemas and migrations. *Software and tools for creating and sharing a development environment.* * [Ansible](https://www.ansible.com/) - A radically simple orchestration framework. -* [DDEV](https://github.com/drud/ddev) - a local web development environment system for PHP. +* [DDEV](https://github.com/ddev/ddev) - a local web development environment system for PHP. * [Docker](https://www.docker.com/) - A containerization platform. * [Docker PHP Extension Installer](https://github.com/mlocati/docker-php-extension-installer) - Easily install PHP extensions in Docker containers. * [Docksal](https://github.com/docksal/docksal) - Unified, Docker :whale: powered web development environments for macOS, Windows, and Linux.