learning resources
PHP-related reference communities, blogs, websites, articles, books, videos and other resources
PHP Websites
- PHP The Right Way - A quick reference guide to PHP practices
- PHP Best Practices - A PHP Best Practices
- Clean Code PHP - A PHP coding standard
- PHP Weekly News - A PHP Weekly News
- Securing PHP – About PHP security related
- PHP FIG - PHP Framework Interactive Group
- PHP School - an open source PHP learning resource
- PHPTrends - Search for some rapidly developing PHP libraries
- PHP Developer Practice
Recommended Article
- The 2018 Guide to Building Secure PHP Software - Chinese Translation: 2018 Guide to Building Secure PHP Application Security
- advanced-php - PHP multi-process, socket and other related articles
- LEARN REGEX THE EASY WAY - Regular expression learning
Other Websites
- The Open Web Application Security Project (OWASP) - an open source software security community
- WebSec IO - a web security community
- Semantic Versioning - semantic versioning
- Atlassian Git Tutorials - A series of Git tutorials
- Servers for Hackers - related to server operation and maintenance
- be-a-professional-programmer - Various excellent materials, artifacts and frameworks used on the road to becoming a professional programmer
- PHP Security Advisories Database - A database of PHP security advisories
PHP Books
- Modern PHP - The author is the originator of The PHP Tao and the author of the Slim framework
- Modern PHP (Chinese version)
- PHP Pandas
- ppts_for_php2017 - 2017 The 3rd PHP Global Developers Conference PPT/Keynote
- PHP-Data-Structure-and-Algorithms
- DesignPatternsPHP-php design patterns
- DesignPatternsPHP (Chinese version)
Other Books
- The Linux Command Line - Linux command line tutorial
- architecture.of.internet-product - Internet company technical architecture
- architect-awesome - Backend architect technology map
Dependency Management
Packages and frameworks for dependency management
- Composer/Packagist - A package and dependency manager.
- composer/installers - A multi-framework Composer library installer
- hirak/prestissimo - Install Composer dependencies in parallel
- composer/satis - Build a private Composer package repository
- FriendsOfPHP/pickle - PHP extension installer
- Melody - A tool to build one file Composer scripts.
- tommy-muehle/tooly-composer-script - Library for managing PHAR files using Composer
Frameworks
Web development framework
- laravel/laravel - Simple and elegant PHP web development framework
- symfony/symfony - a framework of independent components (SP2)
- yiisoft/yii2 - A high-performance PHP framework for developing large-scale web applications
- cakephp/cakephp - An efficient application development framework (CP)
- phalcon/cphalcon - A high-performance C extension framework
- Yaf - Brother Niao's C extension framework
- overtrue/yaf-skeleton - The Yaf testable skeleton and composer supported.
- swoole - PHP asynchronous network communication engine for production environments
- SwooleDistributed/SwooleDistributed - swoole distributed full-stack framework
- swoft-cloud/swoft - Based on Swoole native coroutine, a new era PHP high-performance coroutine framework https://www.swoft.org
- hyperf-cloud/hyperf - Enterprise-level PHP coroutine microservice framework
- mixstart/mixphp - Swoole-based three-mode PHP high-performance framework of FPM, resident memory, and coroutine (complete development documentation) http://mixphp.cn
- hhxsv5/laravel-s - Integrate Swoole into Laravel or Lumen
- swooletw/laravel-swoole - High performance HTTP server based on Swoole. Speed up your Laravel or Lumen applications.
- scil/LaravelFly - To be an absolutely safe solution to run Laravel with Swoole. Laravel + Swoole Coroutine + Safety + Tinker Online.
- garveen/laravoole - Laravel && ( Swoole || Workerman ) to get 10x faster than php-fpm
- easy-swoole/easyswoole - use swoole easily just like echo "hello world";
- bingcool/swoolefy - swoolefy is a lightweight, high-performance, coroutine-level, open API and MVC application service framework based on swoole.
- youzan/zan - Youzan open source PHP framework (maintenance has stopped)
- php-msf - Camera360 open source microservices framework
- Biny - Tencent's open source high-performance ultra-lightweight PHP framework
- zendframework/zendframework - Zend Framework
Components
- auraphp - a package of independent components
- Hoa Project - a collection of PHP components
- andersao/l5-repository - Repository development mode support
Configuration
Loading class libraries and extensions for configuration files
- Yaconf - A high-performance configuration management extension
- config - A lightweight configuration loader that supports PHP, INI, XML, JSON, YAML files
- Zend-config
- phpdotenv - Read the highest priority global variable in .env
- symfony/yaml - Load and strip YAML configuration files
Micro Frameworks
Microframework and routing
- Lumen - A micro-framework based on Laravel
- Silex - A micro-framework based on Symphony2 components
- Silex Skeleton - Project framework for Silex
- Silex Web Profiler - Web debugging toolbar for Silex
- Slim - Another simple micro framework
- awesome-slim
- Slim Skeleton - Framework for Slim
- Slim View - Custom viewset for Slim
- Slim Middleware - A collection of custom middleware for Slim
- slim-skeleton - implements MVC and some components based on Slim
- slim-boilerplate
- Bullet PHP - A micro-framework for building REST APIs
- Proton - A micro PHP framework
- blink - A micro-high-performance web framework for building "long running" services
- flight - An extensible PHP microframework
Routers
- Fast Route - an efficient routing library
- Route - Routing library based on Fast Route
- Pux - Another efficient routing library
- Klein - A flexible routing library
- Macaw - A simple PHP router that's super lean, fast and sexy.
Templating engine
Libraries and tools for templates and lexical analysis
- Twig - a comprehensive template language
- asm89/twig-cache-extension - Template fragment caching library for Twig
- rcrowe/TwigBridge - Twig template engine support
- Mustache - Mustache template language implemented in PHP
- Phly Mustache - Another PHP implementation of the Mustache template language
- MtHaml - HAML template language implemented in PHP
- PHPTAL - TAL template language implemented in PHP
- Plates - An original PHP template library
- Lex - A lightweight template parser
- Aura.View - Provides TemplateView and TwoStepView
Static Site Generators
Preprocessing tools for generating web page content
- Sculpin - Tool for converting Markdown and Twig to static HTML
- Phrozn - Another ithub tool for converting Textile, Markdown and Twig to HTML
- Spress
- Couscous - A tool to convert Markdown documents into HTML and publish them to Github Page
HTTP
Library for HTTP and scraping websites
- guzzle/guzzle - A complete HTTP client
- amphp/artax - An Asynchronous HTTP Client for PHP
- Buzz - Another HTTP client
- Requests - A simple HTTP library
- HTTPFul - A chained HTTP client
- FriendsOfPHP/Goutte - A simple web scraper
- PHP VCR - A library to record and playback HTTP requests
- php-curl-class - Curl class for PHP
- Beanbun - Multi-process web crawler framework
- php-mod/curl - PHP Curl Class
- medz/cors - PHP CORS (Cross-origin resource sharing) middleware.
- barryvdh/laravel-cors - Support for cross-domain resource sharing
- lezhnev74/openapi-psr7-validator - It validates PSR-7 messages (HTTP request/response) against OpenAPI specifications
SOAP
- soap-client - A general purpose SOAP client for PHP
- soap-client - PHP implementation of SOAP 1.1 and 1.2 client specifications
- wsdl2phpgenerator - Simple utility and class library for generating php classes from a wsdl file.
- laravel-soap - Soap protocol client
Middlewares
Middleware for building application libraries
URL
Library for parsing URLs
- Purl - A URL manipulation library
- PHP Domain Parser - A local suffix parser
- Uri - A simple URL manipulation library
Email
Library for sending and parsing emails
- swiftmailer/swiftmailer - A mailer solution
- PHPMailer/PHPMailer - Another mailer solution
- nette/mail - A simple and elegant email sending module
- tedivm/Fetch - an IMAP library
- willdurand/EmailReplyParser - An email reply parser library
- henrikbjorn/Stampie - Library for mail services such as SendGrid, PostMark, MailGun and Mandrill
- tijsverkoyen/CssToInlineStyles - An inline CSS library for email templates
- nojacko/email-validator - A compact email verification library
- egulias/EmailValidator - PHP Email validator library
- Snowfire/Beautymail - Laravel HTML email template
File operations (Files)
About file handling and MIME type checking
- symfony/finder - Find files and directories through an intuitive and fluent interface
- Gaufrette - An abstraction layer for file streams
- thephpleague/flysystem - Another abstraction layer for file streams
- Canal - A library for checking internet media types
- Apache MIME Types - A library for parsing Apache MIME types
- Ferret - A MIME detection library
- Hoa Mime - Another MIME detection library
- Lurker - An asset tracking library
- PHP File Locator - A library for locating files in large projects
- PHP FFmpeg - A library for FFmpeg video wrapping
- GrahamCampbell/Laravel-Flysystem - File system operation, multi-platform support
Stream
Libraries for handling streams
- Streamer - A simple object-oriented stream wrapper library
Dependency Injection
A library that implements the dependency injection design pattern
- Pimple - A small dependency injection container
- container-interop - Containers interoperability
- Auryn - Another small dependency injection container
- Container - Another flexible dependency injection container
- PHP DI - a dependency injection using annotations
- Acclimate - Common interface for dependency injection containers and service locators
- Symfony DI - a dependency injection component (SF2)
- Twitter
- simple container
- Ding
- di - Yii DI container and injector
Imagery
Library for processing images
- Intervention/image - Image manipulation library
- Intervention/imagecache - Image cache enhancement tool
- Imagine - an image processing library
- Sybio/ImageWorkshop - Another image processing library
- Sybio/GifFrameExtractor - A library for extracting GIF animation frame information
- Sybio/GifCreator - Library for creating animated GIFs from multiple images
- nmcteam/image-with-text - Library for embedding text in images
- php-loep/color-extractor - Library for extracting colors from images
- thephpleague/glide - An on-demand image processing library
- psliwa/image-optimizer - A library for optimizing images
- PHPThumb - Thumbnail processing library
- t0k4rt/phpqrcode - QR code generation library
- endroid/qr-code - Another QR code generation library
- Bacon/BaconQrCode - QR Code Generator for PHP
- SimpleSoftwareIO/simple-qrcode - QR code generation tool
- lsolesen/pel - PHP Exif library
- php-exif - PHP Exif information reading library
- Gregwar/Image - Image processing library
- Gregwar/Captcha - Graphical captcha
- google/recaptcha - google reCAPTCHA verification code Client library
- mewebstudio/captcha - Image verification code solution
Testing
A library for testing code and generating test data
- PHPUnit - a unit testing framework
- DBUnit - Code testing library for PHPUnit
- ParaTest - Parallel testing library for PHPUnit
- PHPSpec - Unit testing library based on specifications
- Codeception - A full-stack testing framework
- AspectMock - A mocking framework for PHPUnit/Codeception
- Atoum - a simple testing library
- Mockery - A library of mock objects for testing
- Phake - Another mock object library for testing
- Prophecy - A powerful mocking framework
- Faker - a fake data generation library
- Samsui - Another pseudo data generation library
- Alice - Library for generating complex data
- Behat - A testing framework for Behavior Driven Development (BDD)
- Pho - Another testing framework for behavior-driven development
- Mink - Web Acceptance Testing
- HTTP Mock - A library for mocking HTTP requests in unit tests
- VFS Stream - A virtual file system stream wrapper for testing
- VFS - Another virtual file system for testing
- Locust - A modern load testing library developed in Python
- Peridot - An event-driven testing framework
- SimpleTest - Unit Testing for PHP
- testbench - Unit testing tool for Laravel extensions
- laracasts/TestDummy - Fake data creation tool by Laracasts
Continuous Integration
Continuously integrated libraries and applications
- Travis CI - a continuous integration platform
- SemaphoreCI - A continuous integration platform for open source programs and private projects
- PHPCI - An open source continuous integration platform for PHP
- Sismo - A continuous testing server library
- Jenkins - PHP powered continuous integration platform
- JoliCi - Docker-powered continuous integration client developed in PHP
Documentation
Library for generating project documentation
- Sami - an API documentation generator
- APIGen - Another API documentation generator
- PHP Documentor 2 - Document Generator
- phpDox - A documentation generator for PHP projects (not just API documentation)
- swagger-php - A php swagger annotation and parsing library
Security
Library for generating secure random numbers, encrypting data, scanning for vulnerabilities, and tokens
- ezyang/htmlpurifier - a standard HTML filter
- random_compat - A library for generating secure random numbers for PHP5.x (built-in
random_bytes()
and random_int()
functions available for PHP7) - RandomLib - Library for generating random numbers and random strings
- True Random - A library for generating random numbers using www.random.org
- SecurityMultiTool - A PHP security library
- PHPSecLib - A pure PHP secure communication library
- TCrypto - A simple key-value encryption repository
- PHP IDS - A structured security layer for PHP
- PHP SSH - Object-oriented SSH wrapper library
- IniScan - A tool to scan the security of PHP INI files
- SensioLabs Security Check - A web tool that checks Composer dependencies against security recommendations
- Zed - Integrated penetration testing tool for web applications
- php-ratelimiter
- xxtea-php - XXTEA encryption algorithm library for PHP.
- mewebstudio/Purifier - Whitelist filtering of user-submitted Html
- defuse/php-encryption - Symmetric key encryption library
- paragonie/halite - A libsodium wrapper that provides an advanced encryption interface
Passwords
Libraries and tools for processing and storing passwords, libraries for various encodings
- ircmaxell/password_compat - A compatibility library for the new PHP5.5 password functionality
- phpass - A portable password hashing framework
- ircmaxell/PHP-PasswordLib - A library for generating and verifying passwords
- ircmaxell/password-policy - A password rules library for PHP and JavaScript
- jeremykendall/password-validator - Library to validate and upgrade password hashes
- bjeavons/zxcvbn-php - A PHP display password strength estimation library based on Zxcvbn JS
- timoh6/GenPhrase - A library for generating secure random passwords
- tuupola/base62 - base62 encoding library (shortened URL application)
- stephen-hill/base58php - base58 encoding library (a unique encoding method used in Bitcoin, mainly used to generate Bitcoin wallet addresses)
- base85 - base85 encoding library (further compresses data based on base64, applied to Adobe's PostScript language and PDF document format)
- bjeavons/zxcvbn-php - A library for evaluating password strength. The stronger the strength, the harder it is to crack the password.
Code Analysis
Tools for analyzing, parsing, and manipulating code bases
- PHP Parser - A PHP parser written in PHP
- PHPPHP - A PHP virtual machine implemented in PHP
- PHPSandbox – A sandbox environment for PHP
- Dissect - A collection of tools for lexical and syntactic analysis
- PHP Mess Detector - A library that scans code for bugs, suboptimal code and unused parameters
- PHP_CodeSniffer - A PHP/CSS/JS code specification and quality inspection tool
- PHP CS Fixer - A PHP code specification and quality inspection tool
- phpmd - A PHP code specification and quality checking tool
- PHPCPD - A library to detect copied and pasted code
- PHP Analyser - A library for analyzing errors in PHP code
- PHP Manipulator - Library for analyzing and modifying PHP source code
- PHP Metrics - a static measurement library
- PHP Refactoring Browser - A command line tool for refactoring PHP code
- php-semver-checker - A version comparison command line tool
- UBench - A simple small benchmarking library
- Athletic - An annotation-based benchmarking library
- Mondrian - Code analysis tool using graph theory
- Scrutinizer - Web tool for inspecting PHP code
- PHPLOC - A tool to quickly estimate the size of your PHP project
- PHPCheckstyle - A tool to help adhere to specific coding rules
- PhpDependencyAnalysis - A tool for creating customizable dependency diagrams
- Code Climate - automated code review
- PHP Error - used to convert standard PHP error messages, mainly used for debugging during development
- psalm - A static analysis tool that helps you identify possible bugs in your code
- phan - Code static analysis tool
- phpstan - code static analysis tool
- PHPLint - used for PHP file syntax detection (supports multiple processes, based on
php -l
)
Architectural
Libraries about design patterns, programming conventions, and code organization
- PHP Option - A library of PHP option types
- Ruler - A simple stateless engine for generating environmental rules
- Finite - A simple PHP finite state machine
- Compose - A functional composition library
- Monad PHP - A simple Monad library
- Patchwork - A library that redefines users
- Galapagos - Language Switching Evolution
- Design Patterns PHP - A library of design pattern examples implemented in PHP
- Functional PHP - a functional programming library
- Lib Accessor - A library that simplifies access
- Iter - A library that provides iteration primitives using generators
- laracasts/Laravel-5-Generators-Extended - A quick code generation tool produced by Laracasts
- symfony/workflow - The Workflow component provides tools for managing a workflow or finite state machine
Debugging and Profiling
Libraries and tools for debugging code
- xDebug - A debugging and profiling tool for PHP
- whoops
- PHP Debug Bar - a debugging toolbar
- PHP Console - Web debugging console
- Barbushin PHP Console - A web debugging control tool using Google Chrome
- PHPDBG - An interactive PHP debugger
- Tracy - A simple error detection, logging and time measurement library
- Z-Ray - a debugging and profiling tool
- xHprof - Facebook's open source PHP performance evaluation tool
- xhprof - Community version based on the official version fork (supports PHP7)
- xhprof.io - implements UI for saving xhprof data and displaying data
- xhgui - Another UI for saving and displaying xhprof data
- Blackfire.io - A low-overhead code profiler
- Kint - a debugging and profiling tool
- phptrace - 360 open source PHP execution tracking tool
- php-apm - Application performance management for PHP application
- BooBoo - centralized exception catching
- Collision - Error handler framework for command line PHP applications
- symfony/debug - PHP debugging library
- Molten - Application transparent link tracking tool (PHP extension)
- laravel-debugbar - Laravel debugger
- itsgoingd/clockwork - A debugging tool that works with the Chrome browser plug-in of the same name
- GrahamCampbell/Laravel-Exceptions - Error exception handling tool (supports development and production environments, uses Whoops for error display)
Build Tools
Project build and automation tools
- Go - A simple PHP build tool
- Bob - A simple project automation tool
- Phake - A PHP clone library
- Box - Tool for building PHAR files
- Phing - A build system for PHP projects based on Apache Ant
Task Runners
Library for automating tasks
- Task - Pure PHP task runner based on Grunt and Gulp
- Robo - Object-oriented PHP task runner
- Bldr - PHP task runner built on Symfony components
Navigation
Tools for building navigation structures
- KnpMenu - a menu library
- Cartographer - A sitemap generation library
Asset Management
Tools for managing, compressing and minimizing website resources
- kriswallsmith/assetic - An asset management pipeline library
- CHH/pipe - Another pipe library for resource management
- meenie/munee - A resource optimization library
- tedivm/JShrink - A JavaScript compression library
- webmozart/puli - A library for detecting absolute paths to resources
- Chumper/Zipper - ZIp packaging tool (based on ZipArchive)
- HTMLMin/Laravel-HTMLMin - HTML compression tool based on minify
Geolocation
A library that encodes addresses using latitude and longitude
- geocoder-php/Geocoder - Geolocation operation toolset (based on Geocoder)
- php-loep/Geotools - a library related to geographical tools
- mjaschen/phpgeo - A simple geography library
- jmikola/geojson - An implementation of GeoJSON
- laravel-geoip - Obtain corresponding geographical location information through IP (GeoIP database)
- lionsoul2014/ip2region - IP address location library
- maxmind/GeoIP2-php - GeoIP database PHP client
Date and Time
Library for handling dates and times
- Carbon - A simple datetime API extension
- ExpressiveDate - Another date-time API extension
- CalendR - A calendar management library
- date - A multilingual date library
- moment.php
Event
Library for event-driven or non-blocking event loop implementations
- React - An event-driven non-blocking I/O library
- Rx.PHP - A React extension library
- phpsocket.io
- Ratchet - A web sockets library
- Hoa WebSocket - Another web sockets library
- Elephant.io - Another web sockets library
- Hoa EventSource - an event source library
- Evenement - an event scheduling library
- Event - Event package for your app and/or domain.
- Cake Event - an event scheduling library
- Broadway - an event sourcing and CQRS library
Logging
Library for generating and processing log files
- Monolog - a comprehensive logging library
- KLogger - An easy-to-use PSR-3 logging class
- Analog - A micro-logging package with opportunistic closures
- SeasLog - An efficient logging extension
- rap2hpoutre/laravel-log-viewer - A very convenient page Log viewing tool
E-commerce
Libraries and apps for payments and building online e-commerce stores
- OmniPay - A framework for multi-gateway payment processing
- omnipay-paypal - PayPal payment
- omnipay-wechatpay - WeChat payment
- omnipay-unionpay - UnionPay payment
- omnipay-alipay - Alipay payment
- omnipay-pingpp - ping++ aggregate payment
- omnipay-99bill - Quick money payment
- Payum - An abstraction library for payments
- Sylius - an open source e-commerce solution
- Thelia - Another open source e-commerce solution
- Money - Fowler money model implemented in PHP
- Sebastian Money - A library for handling monetary values
- Swap - an exchange rate library
- yansongda/pay - Elegant payment SDK extension package for Alipay and WeChat
- paypal/PayPal-PHP-SDK - PHP SDK for PayPal RESTful APIs https://developer.paypal.com/docs/api/
- paypal/Checkout-PHP-SDK - PHP SDK for Checkout RESTful APIs
PDF
Libraries and software for working with PDF files
- Snappy - a PDF and image generation library
- WKHTMLToPDF - A tool to convert HTML to PDF
- PHPPdf - A library for converting XML to PDF and images
- phpwkhtmltopdf
- php-pdftk - A PDF conversion and form utility based on pdftk
- barryvdh/laravel-dompdf - PDF manipulation tool (based on dompdf)
- laravel-snappy - PDF processing tool
Office
Processing library for various documents in the Office suite
- PHPOffice/PHPWord - Library for working with Word documents
- PHPOffice/PHPExcel - Library for working with Excel documents
- PHPOffice/PHPPowerPoint - Library for working with PPT slides
- Wisembly/ExcelAnt - A library for manipulating Excel documents
- PHPOffice/PhpSpreadsheet - It is recommended to use the latest Excel document processing library maintained by PHPOffice
- viest/php-ext-excel-export - PHP extension for operating Excel
- Maatwebsite/Laravel-Excel - Excel processing tool
- thephpleague/csv - A CSV data manipulation library
Database
Database interaction library using object-relational mapping (ORM) or data mapping technology
- Doctrine - a complete DBAL and ORM
- Doctrine Extensions - An extension collection of Doctrine behaviors
- Propel - A fast ORM, migration and query library
- Eloquent - Laravel 5 ORM(L5)
- baum/baum - Nested Set model support
- VentureCraft/revisionable - Data model operation records (such as administrator operation logs)
- nicolaslopezj/searchable - Add search functionality to Eloquent models in the form of Traits
- Tucker-Eric/EloquentFilter - Custom query conditions (model field filtering)
- rtconner/laravel-tagging - Add tagging function to Eloquent model
- LazyRecord - A fast ORM
- Baum - a nested collection for Eloquent
- Spot2 - ORM mapper for MySQL
- RedBean - A lightweight, easy-to-configure ORM
- Pomm - An object model manager for PostgreSQL
- ProxyManager - A collection of tools for generating proxy objects for data mapping
- Cake ORM - Object Relational Mapper, implemented using the Data Mapping Pattern (CP)
- catfan/Medoo - A lightweight ORM that accelerates development
- auraphp/Aura.Sql - SQL database access through PDO.
- EasyDB - database abstraction layer
Migrations
Library for managing database schemas, migrations, and backups
- davedevelopment/phpmig - A migration management library
- obmorgan/phinx - A database migration management library
- icomefromthenet/Migrations - Another migration management library
- Doctrine Migrations - A migration library for Doctrine
- Xethron/migrations-generator - Export database tables as migrations from existing data, including indexes and foreign keys
- orangehill/iseed - Export data from the database as seed
- spatie/laravel-backup - data backup tool (supports compression, supports various file systems)
Non-relational database (NoSQL)
Libraries for handling NoSQL backends
- MongoDB
- mongo-php-library - MongoDB official PHP library
- MongoQB - A query building library for MongoDB
- Monga - An abstraction library for MongoDB
- mongodm - MongoDB ORM
- php-mongo - PHP ODM for MongoDB
- jenssegers/laravel-mongodb - MongoDB database support
- Redis
- Predis - a fully functional Redis library
- codis - Codis is a distributed Redis solution
- twemproxy - is an open source redis and memcache proxy server for twtter
- pika - Pika is a durable large-capacity redis storage service
Queue
Library for handling events and task queues
- enqueue-dev - Message queue packages for PHP, Symfony, Laravel, Magento
- enqueue/rdkafka
- enqueue/enqueue
- enqueue/pheanstalk
- enqueue/redis
- php-enqueue/dsn
Queue service framework
- Kafka - a high-throughput distributed publish-subscribe messaging system
- RabbitMQ - Service implementation of AMQP (Advanced Message Queuing Protocol) written in erlang
- RocketMQ
- ActiveMQ
- Qpid
- Disque - Distributed memory queue
- beanstalkd - A high-performance, lightweight message queue middleware
Queue related class library
- Pheanstalk - A Beanstalkd client library
- PHP AMQP - A pure PHP AMQP library
- Thumper - A RabbitMQ pattern library
- Bernard - A multi-backend abstraction library
- php-resque - redis-based message queue
- php-amqplib - A RabbitMQ client library
- kafka-php - a kafka client library (Composer)
- php-rdkafka - a kafka client library (PECL)
Search
Libraries and software for indexing and executing queries on data
- ElasticSearch PHP - The official client library for ElasticSearch.
- Elastica - Another client library for ElasticSearch
- Solarium - Client library for Solr.
- SphinxQL query builder - Query library for the Sphinx search engine
Command Line
Libraries for building command line tools
- symfony/console - Symfony command line worker component
- symfony/process - Symfony command execution component (used to execute system commands)
- Boris - A tiny PHP REPL
- PsySH - Another PHP REPL
- Pecan - An event-driven, non-blocking shell
- GetOpt - A command line selection parser
- OptParse - Another command line selection parser
- Commando - A simple command line selection parser
- GetOptionKit - Also a command line options parser
- mtdowling/cron-expression - Library for calculating cron run dates
- ShellWrap - A simple command line wrapping library
- Hoa Console - Another command line library
- Shunt - A command line library for running on multiple remote machines in parallel
- Cilex - A small framework for building command line tools
- CLImate - A framework for building command line tools (can output colors and special formats)
- Webmozart Console
- Silly - Silly CLI micro-framework based on Symfony Console
- php-shellcommand - A simple object oriented interface to execute shell commands in PHP
- PHP-Console-Highlighter - Highlight PHP code from the command line
Scheduled tasks (Crontab)
Related encapsulation of scheduled task management crontab in PHP
- Indatus/dispatcher - Laravel-based scheduled task management
- osgochina/swoole-crontab - swoole-based timer program that supports second-level processing
- jobbyphp/jobby - A PHP scheduled task manager
- ajbdev/cronlingo - Express crontabs as human friendly phrases
- Indatus/dispatcher - Scheduled task dispatcher (can directly replace Cron)
Authentication and Authorization
Library that implements authentication modes
- Sentinel - an authentication and authorization framework
- Sentinel Social - A library for social network authentication
- Opauth - Provides support for OAuth authentication and provides a unified standard access method
- OAuth2 Server - An OAuth2 authentication server, resource server and client library
- OAuth2 Server - An OAuth2 server implementation
- PHP oAuthLib - Another OAuth library
- ruudk/twitteroauth - A Twitter OAuth library
- Hawk - A Hawk HTTP authentication library
- HybridAuth - An open source social login library
- Lock - An Access Control Lists (ACL) system library.
- OAuth 1.0 Client - An OAuth 1.0 client library.
- OAuth 2.0 Client - An OAuth 2.0 client library.
- Sentry - Authentication and Authorization System
- EvaOAuth - Unified interface OAuth login PHP class library
- JSON Web Token - JSON Web Token Library
- firebase/php-jwt
- lcobucci/jwt
- namshi/jose - JSON signing and encryption library
- tuupola/slim-jwt-auth
- tymondesigns/jwt-auth - JWT (JSON Web Token) user authentication mechanism
- Sapient - the Secure API ENgineering Toolkit API messaging security verification
- legalthings/sso - Simple Single Sign-On for PHP
- antonioribeiro/google2fa - User authentication solution (supports two-way authentication and HOTP authentication algorithms promoted by Google)
- PHPGangsta/GoogleAuthenticator - Google two-way authentication
Permission control
Role and permission control related components
- spatie/laravel-permission - Laravel-based permission component
- Zizaco/entrust - Group-based user permission system
- php-casbin/php-casbin - PHP implementation of the lightweight open source access control framework Casbin
Markup
Libraries that handle tags
- Decoda - A lightweight tag parsing library
- michelf/php-markdown - Markdown parser
- thephpleague/commonmark - A Markdown parser that supports CommonMark spec.
- thephpleague/html-to-markdown - A html to markdown converter
- erusev/parsedown - A Markdown parser
- kzykhys/Ciconia - A Markdown parser that supports Github style
- cebe/markdown - A fast, extensible Markdown parser
- GrahamCampbell/Laravel-Markdown - Markdown parser
- Masterminds/html5-php - A library for HTML5 parsing and serialization
- heyupdate/Emoji - A simple class library for processing emoji
- iamcal/php-emoji - An emoji conversion library
Strings
Library for parsing and manipulating strings
- jenssegers/agent - Client User Agent parsing tool (based on Mobiledetect)
- sensiolabs/ansi-to-html - A library for converting ANSI to HTML5
- nicolas-grekas/Patchwork-UTF8 - A portable library for handling UTF-8 format strings
- hoaproject/String - Another UTF-8 format string library
- danielstjules/Stringy - A string manipulation library with multi-byte support
- mikeemoo/ColorJizz-PHP - A library for processing and converting colors
- ramsey/uuid - Library for generating UUIDs
- laravel-uuid - RFC 4122 standard generated UUID
- cocur/slugify - A library that converts strings to slug format
- jbroadway/urlify - A PHP port of Django URLify.js
- kzykhys/Text - A text processing library
- jdorn/sql-formatter - A library for formatting SQL statements
- tobie/ua-parser - A library for parsing UA (User Agent) strings
- piwik/device-detector - Another library for parsing UA (User Agent) strings
- serbanghita/Mobile-Detect - A lightweight library for detecting mobile devices (including desktop devices)
- cbschuld/Browser.php - Detects information about the user's browser environment
- hisorange/browser-detect - Browser detection tool (including client-side detection of JavaScript and CSS support)
- colors.php - An easy way to add colors in your CLI scripts.
- cviebrock/eloquent-sluggable - Article title URL alias processing tool
- fukuball/jieba-php - Chinese word segmentation of "stammer"
Numbers
Library for working with numbers
- Numbers PHP - A library for working with numbers
- Math - A library for working with larger numbers
- ByteUnits - A library for parsing, formatting and converting byte units in binary and measurement systems
- PHP Units of Measure - A library for converting between measurement units
- PHP Conversion - Another library for converting between units of measurement
- LibPhoneNumber for PHP - Google phone number processing system library implemented in PHP
- ivanakimov/hashids.php - used to generate unique strings from integers (for example: hiding the real ID by encrypting and decrypting the ID)
- Particle - PHP ID Generator | Implementation of Twitter Snowflake ID Generator
- nanoid-php - A compact unique ID generation tool
- vinkla/laravel-hashids - Hash ID generator to facilitate hiding numeric IDs (based on Hashids)
Filtering and Validation (Filtering ang Validation)
Library for filtering and validating data
- ircmaxell/filterus - A simple PHP filtering library
- Respect/Validation - A simple validation library
- vlucas/valitron - Another data validation library
- cakephp/validation - Another data validation library
- illuminate/validation - Validation library for Laravel
- php-readability - Content analysis algorithm
- codeguy/Upload - A library that handles file uploading and validation
- rdohms/DMS-Filter - An annotation-based filtering library
- romaricdrigon/MetaYaml - A schema validation library supporting YAML, JSON and XML
- ronanguilloux/IsoCodes - Library for validating different ISO and ZIP encodings
- aura/filter - Aura data validation component
- symfony/validator - Symfony data validation component
- dwightwatson/validating - Using Traits to implement automatic verification when saving the Eloquent data model
- Propaganistas/Laravel-Phone - Mobile phone number, phone number verification support
- felixkiss/uniquewith-validator - Form validation rules add uniqueness verification between fields
- cviebrock/image-validator - Image size validation
REST and API
Libraries and web frameworks for developing restful APIs
- dingo/api - A complete solution for building API servers
- Apigility - An API builder built with Zend Framework2
- Hateoas - A HATEOAS REST web service library
- HAL - A Hypertext Application Language (HAL) building library
- Negotiation - A content negotiation library
- Drest - A library that exposes Doctrine entities as REST resource nodes
- Restler - A lightweight framework for exposing PHP methods as RESTful web APIs
- thephpleague/fractal - [Best Practice] Unified processing of data returns
- API-PROBLEM-A Simple Implementation of the API-Problem Special
- Graphql -PHP -Application layer query language library
- Graphql -Another application layer query language library
- Grahamcampbell/Laravel -Throttle -Right Control Tool
Cache (caching)
Library of cache data
- Symfony/Cache -Symfony follows the cache component of PSR -6 implementation
- Alternative PHP Cache (APC) -The open source operating code cache of PHP
- Doctrine Cache -A cache library.
- Zend Cache -Another cache library
- Cake Cache -a library for cache
- Stash -another cache library
- CacheTool -an command line tool to clear the APC/OPCode cache
- PhpfastCache -PHP cache library
- Desarrolla2/Cache -A cache library that provides multiple adapters
- Laruence/YAC -YAC is a shared memory for PHP.
- liexusong/pcache -Extension for Php Local Cache
- SHIES/PHP7 -Buffer -PHP's high -performance Local Cache expansion
Data Structure and Storage
Library of realizing data structure and storage technology
- IllumIINATE Support Collection -smooth and convenient packaging provided by Laravel to control the set library of array data
- Collections
- ArDENT -A Data Structure Library
- Cake Collection -A simple collection library
- Collections -A collection abstract library
- Fractal -a library that converts complex data structures into JSON output
- Php collections -a simple collection library
- Serializer -library for serialized and deepertized data
- Zend Serializer -Another library for serialization and deepertaization data
- PHP Object Storage -a library for object storage
- Totem -a library of managing and creating data modification sets
- PINQ -PHP real -time linq library
- JSONMAPPER -a library that maps the embedded JSON structure to the PHP class
- php -jsonq -a php query builder for json
- DeepCopy -Deep copy (clone) of creating objects
Notification
The library of notification
- FILP/NOD -a notification library
- Wrep/notify -a library for processing push messages
- PH3NOL/NotificationPusher -The independent library of device push notification
- namshi/notificator -a lightweight notification library
- Davibennun/Laravel-Push-Notification-APP Push Notification sending tool (supports Apple's APNS and Android GCM)
- Edvinaskrucas/NOTIFICATION -Page message reminder component
Deployment (deployment)
Library for project deployment
- tamagokun/pomander -a PHP application deployment tool
- Rocketeers/Rocketeer -The fast and simple deployer of PHP
- Laravel/Envoy -Laravel's official simple deployment tool
- Aerials/Plum -A deployment library
- deployphp/deployer -a deployment tool
- Meolu/Walle -WEB -an open source web code release management system
- Piplin -Piplin is a free and open source continuous integration and deployment system. It is suitable for software automation construction, testing, and deployment related application scenarios.
Internationalization and localization (Internationalization and Localisation)
Libraous for internationalization (i18N) and localization (L10N)
- Auraphp/Aura.intl
- cakephp/i18n -translation and localization message
- Symfony/Translation
- Illuminate/Translation
- Gettext -PHP LIBRARY to Collect and Manipulating Gettext (.po, .mo, .php, .json, ETC))
- ZEND/I18N
- mcamara/Laravel -Localization -Laravel localized function enhancement
- DIMSAV/Laravel -TransLatable -Multi -language translation solution for databases
- Webpatser/Laravel -Countries -All national data in the world (including the capital exchange rate, etc.)
Third -party API (Third Party APIS)
Visit the library of third -party API/SDK
- Mailgun -PHP -Mailgun's Office SDK for PHP
- Wechat -Make WeChat development easier
- Qiniu/sdk -qiniu resource storage sdk for PHP
- Qiniu/qshell -QSHELL is a convenient developer to test and use the command line tools for developers to test and use the Qi Niu API service.
- Tencentyun/WAFER -Quickly build a WeChat Mini Program with elasticity
- Maxmind/Geoip2 -PHP -Maxmind Geoip2 Geographical Location Service
- PingplusPlus/pingpp -pHP -ping ++ aggregate payment SDK
- MGP25/Instagram -API -private API of Instagram
- AWS/AWS-SDK-PHP-AWS service developer tool package
- BugsNag/BugsNag -Laravel -Bugsnag service integrated package
- Maknz/SLACK -SLACK Service Integration
- lyrixx/Twitter -SDK -A completely tested Twitter SDK
- The support of Thujohn/Twitter -Twitter API
- Overtrue/Weather -PHP weather information component based on Gaode open platform interface
- aliyun/aliyun-less-pHP-SDK-Alibaba Cloud Object Storage
- Aliyun/Openapi-SDK-PHP-Alibaba Cloud SDK for PHP
- overrue/laravel-filesystem-qiniu-laravel filesystem qiniu
- Jacobcyl/Aliyun-OSS-Storage-Alibaba Cloud Oss Laravel extension
- overtroe/Easy -SMS -
- mingyoung/dingtalk -nail SDK
- wowiwj/ding -notice -nail push robot message Send Laravel extension package
Extensions
Helping the library of PHP expansion
- Zephir -A compilation language used in PHP and C ++ used to develop PHP extensions
- PHP CPP -a C ++ library for the development of PHP extension
- PHP -X -C ++ Wrapper for Zend API
PHP Installation
Help installation and management PHP
- Homebrew -A OSX bag management tool
- PHP installation package in Homebrew PHP -Homebrew
- PHP OSX -PHP installation device in an OSX
- Php brew -a PHP version management tool and installer
- PHP ENV -Another PHP version tool
- Php switch -another PHP version tool
- Php building -another PHP version tool
- Virtphp -a tool that creates and manage the separation of PHP environment
Development environment (Development Environment)
Software and tools for creating a sandbox development environment
- Docker -an open source application container engine
- Vagrant -A tool for creating a development environment lightly
- Ansible -A simple business process framework
- Puppet -server automation framework and application
- Puphpet -One is used to build PHP development virtual machine tools
- Protobox -Another used to build PHP development virtual machine tools
- PhanSible -Another used to build PHP development virtual machine tools
- Centerad -Laravel Local Development Environment Base on Vagrant and Homestead
- Devilbox -a modeln dockerized lamp and mean stack alternative to xampp
- Homestead -PHP development environment based on Vagrant
- Laradock -Docker -based PHP development environment
Virtual Machines (Virtual Machines)
A replaced PHP virtual machine
- HHVM -Facebook open source PHP virtual machine
- Hippyvm -another PHP virtual machine
Development tool (Integrated Development Environment)
Support PHP IDE
- NetBeans
- Eclipse for Php Developers
- Phpstorm
Web application (web applications)
Web -based applications and tools
- 3V4L -Online Php Shell
- DBV -database version control application
- Php queue -management queue back end program
- Mailcatcher -A program for accepting and viewing emails
- Cachet -an open source website status display system (such as: status.github.com)
- phpredisadmin -Redis management tool
- Phppgadmin -PostgreSQL Management Tools
- phpmyadmin -mysql management tool
- RockMongo -MongoDB Management Tools
- Grav -Powerful Flat -File CMS
- Piwik -web statistics
- YOURLS -Short URL generation system
- NextCloud Server -A SAFE Home for All Your Data
- MAGENTO2 -Open source PHP e -commerce system
- Laravel -Admin -Laravel -based background management development framework
- Crinsane/LaravelshoppingCart -A simple shopping cart module implementation
- Cachethq/Caches -Caches is an open source state page system (provided API that allows you to obtain, add, and delete events, components and indicators)
- FLARUM/FLARUM -Elegant and simple light forum
- roots/BEDROCK -WordPress deployment tool
- Monicahq/Monica -Personal relationship management CRM
Infrastructure
Provide infrastructure for PHP applications and services
- AppServer.io -PHP -based multi -threaded application server
- PHP -PM -Process Manager, Blinders and PHP applications load balancer
Database middleware (DB Proxy)
Used to read and write separation, divide and division tables, etc.
- KingShard -Jinshan open source database middleware
- Heisenberg -Baidu open source database middleware
- Oceanus -58 open source database middleware in the same city
- Atlas -360 open source database middleware
- DBPROXY -Meituan Reviews ATLAS database middleware
- Mycat
- TIDB -distributed database
RPC framework
Remote process call framework
- Apache/Thrift -Apache Thrift
- GRPC/GRPC -Google's open source framework
- propobuf
- Alibaba/dubbo -Alibaba's open source RPC framework
- TARSCLOUD/TARS -Tencent's high -performance RPC development framework using TARS protocol based on name service
- Weibocom/Motan -Weibo lightweight RPC framework
- dangdangdotcom/dubbox -Dubbox maintained by Dangdang.com
- Baidu/SOFA-PBRPC-Baidu open source SOFA-PBRPC
- Laruence/Yar -Light, Concurrent RPC Framework for PHP & C
- Hprose -high -performance cross -language RPC
- other
- Dora-RPC
- workerman-jsonrpc
Asynchronous Event Driven Framework
- Swoole
- Workerman
- Gearman -task distribution system
- phpdaemon
- Reactphp
- amphp/amp -a non -blocking concurrency framework for php applications.
- Async -Easily Run Code Asynchronously
- Kraken-PHP-Asynchronous & Fault-TOLERANT Php Framework for Distributed Applications.
- recoilphp/recoil -asynchronous coroutines for PHP 7.
Rules Engine
- HOA Ruler -The rule engine of the project
- Ruler -Simple stateless rule engine
- Rules -PHP Simple Rules Engine
Others (Miscellaneous)
Useful class libraries and tools that are not above classification
- Overtrue/Pinyin -Chinese Character Turn to Pinyin Library
- Jifei/Pinyin -Chinese Character to Pinyin Library
- class.Upload.php -file upload processing class
- PHP -PAGINATOR -Pagling processing class
- Anahkiasen/UNDERSCORE -PHP -Underscore.js Similar PHP syntax support
- Flexihash -Consistent Hash Library
- Eden -a PHP rapid development class library, which contains many components used to automatically load, event drive, document system, cache, template, internationalization, database, web service, payment gateway, loading and cloud service technology.
- HTML -PARSER -HTML parsing tool
- PHPCRAWL -PHP's reptile framework
- TIG -Git browser under the command line
- CopyWriting -Correct -Chinese English Copywriter Corridor
- PHP -ML -PHP Machine Learning Library
- Botman -chat robot library
- Barryvdh/Laravel-IDE-Helper
- Davejamesmiller/Laravel -BreadCrumbs -Page Noodle Tool Tool
- LARACASTS/PHP-VARS-TO-JS-TRANSFORMER
- Laravelium/Laravel -Sitemap -Sitemap Generation Tool
- Yajra/Laravel -Datatables -The back -end support of jQuery datatables
- Formers/Former -powerful form constructor
- Laravelium/Laravel -Feed -Feed information runner