Chinese version
Collect and organize some commonly used PHP libraries, resources and techniques. So that you can quickly find what you need at work...
- The content in this list includes translations from awesome-php, developer weekly and personal accumulation, etc.
- A list of front-end components recommended by awesome-frontend
Learning Resources
PHP-related valuable community, blogs, websites, articles, books, videos and other resources
-
PHP Websites
- PHP The Right Way – A quick reference guide for PHP practice
- PHP Best Practices – A PHP best practice
- PHP Weekly News – A PHP weekly
- Securing PHP – About PHP security
- PHP FIG – PHP Framework Interactive Group
- PHP School – an open source PHP learning resource
- PHPTrends – Some fast-developing PHP library searches
- PHP Developer Practice
-
Other Websites
- The Open Web Application Security Project (OWASP) – an open source software security community
- WebSec IO – a web security community
- Semantic Versioning – semantic version
- Atlassian Git Tutorials – A series of Git tutorials
- Servers for Hackers – related to server operation and maintenance
-
PHP Books
- Modern PHP – The author is the initiator of The Tao of PHP and the author of the Slim framework
- Modern PHP (Chinese version)
- PHP Pandas
-
Other Books
- The Linux Command Line – Linux command line tutorial
Dependency Management
Packages and frameworks for dependency management
- Composer / Packagist – A package and dependency manager.
- Composer Installers – A multi-framework Composer library installer
- pickle – PHP extension installer
- Melody – A tool to build one file Composer scripts.
Frameworks
Web Development Framework
- Symfony2 – a framework composed of independent components (SP2)
- Zend Framework 2 – also a framework composed of independent components (ZF2)
- Laravel 5 – Simple and elegant PHP web development framework (L5)
- Aura PHP – a framework for independent components
- Yii2 – A high-performance PHP framework for developing large-scale web applications
- Nette – also a framework composed of independent components
- PPI Framework 2 – an interactive framework
- CakePHP – an efficient application development framework (CP)
- Phalcon – a framework as a C extension
- Yaf – Brother Niao’s C extension framework
- swoole-yaf – A development framework based on Swoole and Yaf
- yaf – Another development framework based on Swoole and Yaf
- Zan PHP Framework – Youzan’s open source PHP framework
Components
- Aura Components – a PHP5.4 component package
- Hoa Project – a collection of PHP components
Configuration
Load 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
Micro Frameworks
Micro frameworks and routing
- 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
- Slim Skeleton – Framework for Slim
- Slim View – Slim’s custom view set
- Slim Middleware – Slim’s custom middleware collection
- SlimMVC-Skeleton – Implements MVC and some components based on Slim
- Bullet PHP – A micro-framework for building REST APIs
- Lumen – Laravel based micro framework
- Proton – a micro PHP framework
- blink – A micro-high-performance web framework for building “long running” services
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.
Template engine(Templating)
Libraries and tools for templates and lexical analysis
- Twig – a comprehensive template language
- Twig Cache Extension – Template fragment caching library for Twig
- Mustache – Mustache template language implemented in PHP
- Phly Mustache – Another PHP implementation of 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
Static Site Generators
Preprocessing tool for generating web page content
- Sculpin – Tool to convert Markdown and Twig to static HTML
- Phrozn – Another ithub tool to convert 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 – a complete HTTP client
- Buzz – Another HTTP client
- Requests – A simple HTTP library
- HTTPFul – A chained HTTP client
- Goutte – A simple web scraper
- PHP VCR – A library to record and playback HTTP requests
- php-curl-class – Curl class for PHP
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 – a mailer solution
- PHPMailer – Another mailer solution
- Nette Mail – A simple and elegant email sending module
- Fetch – an IMAP library
- Email Reply Parser – an email reply parser library
- Stampie – Library for email services, such as SendGrid, PostMark, MailGun and Mandrill
- CssToInlineStyles – An inline CSS library for email templates
- Email Validator – A compact email verification library
File operations (Files)
About file handling and MIME type checking
- Gaufrette – an abstraction layer for file streams
- 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
- CSV – A CSV data manipulation library
Stream
Library for handling streams
- Streamer – A simple object-oriented stream wrapper library
Dependency Injection
Library that implements 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)
- Twitteree
- simple di container
- Ding
Imagery
Library for processing images
- Imagine – an image processing library
- PHP Image Workshop – Another image processing library
- Intervention Image – also an image processing library
- GIF Frame Extractor – A library for extracting GIF animation frame information
- GIF Creator – Library to create animated GIFs from multiple images
- Image With Text – A library to embed text in images
- Color Extractor – library to extract colors from images
- Glide – an on-demand image processing library
- Image Optimizer – a library for optimizing images
- PHPThumb – Thumbnail processing library
- phpqrcode – QR code generation library
- QrCode – Another QR code generation library
Testing
A library for testing code and generating test data
- PHPUnit – a unit testing framework
- DBUnit – PHPUnit’s code testing library
- ParaTest – Parallel testing library for PHPUnit
- PHPSpec – Specification-based unit testing library
- Codeception – a full stack testing framework
- AspectMock – PHPUnit/Codeception’s mocking framework
- Atoum – a simple testing library
- Mockery – A mock object library for testing
- Phake – Another mock object library for testing
- Prophecy – a powerful simulation framework
- Faker – a fake data generation library
- Samsui – Another fake 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 to mock 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
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)
Security
Library for generating secure random numbers, encrypting data, scanning for vulnerabilities, and tokens
- HTML Purifier – a standard HTML filter
- 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 PHP security layer
- PHP SSH – Object-oriented SSH wrapper library
- IniScan – A tool to scan PHP INI file security
- SensioLabs Security Check – A web tool that checks Composer dependencies according to security recommendations
- Zed – Integrated penetration testing tool for web applications
- php-ratelimiter
Passwords
Libraries and tools for handling and storing passwords
- Password Compat – A compatibility library for the new PHP5.5 password functionality
- phpass – A portable password hashing framework
- PHP Password Lib – A library for generating and verifying passwords
- Password Policy – A password rules library for PHP and JavaScript
- Password Validator – A library to verify and upgrade password hashes
- Zxcvbn PHP – A PHP display password strength estimation library based on Zxcvbn JS
- GenPhrase – A library for generating secure random passwords
Code Analysis
Tools for analyzing, parsing and manipulating code bases
- PHP Parser – A PHP parser written in PHP
- PHPPHP – A PHP virtual machine implemented by PHP
- PHPSandbox – PHP sandbox environment
- Dissect – a collection of lexical and syntactic analysis tools
- PHP Mess Detector – A library that scans code for bugs, suboptimal code and unused parameters
- PHP Code Sniffer – A library that detects PHP, CSS and JS code standards conflicts
- PHPCPD – A library to detect copied and pasted code
- PHP Analyser – A library for analyzing errors in PHP code
- PHP CS Fixer – a code standard library
- 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 command line tool for version comparison
- 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
- PHPCcheckstyle – A tool to help comply with specific coding rules
- PhpDependencyAnalysis – A tool to create customizable dependency diagrams
- Code Climate – automated code review
- PHP Error – used to convert standard PHP error messages, mainly used for debugging during the development process
Architectural
Libraries about design patterns, programming specifications 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 function combination library
- Monad PHP – A simple Monad library
- Patchwork – a function library that redefines users
- Galapagos – Language Switch Evolution
- Design Patterns PHP – A library of design pattern examples implemented using PHP
- Functional PHP – A functional programming library
- Lib Accessor – A library that simplifies access
- Iter – A library that provides iteration primitives using generators
Debugging and Profiling
Libraries and tools for debugging code
- xDebug – A PHP debugging and analysis tool
- 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 performance analysis tool
- xHprof – Facebook’s open source PHP performance evaluation tool
- xhprof.io – implements UI for saving xhprof data and displaying data
- xhgui – Another UI to save xhprof data and display data
- Blackfire.io – A low-overhead code profiler
- Kint – a debugging and performance analysis tool
Build Tools
Project building 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 – PHP project build system based on Apache Ant
Task Runners
Library for automatically running 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
- Assetic – an asset management pipeline library
- Pipe – Another pipeline library for resource management
- Munee – a resource optimization library
- JShrink – A JavaScript compression library
- Puli – A library for detecting absolute paths to resources
Geolocation
Library for encoding addresses using latitude and longitude
- GeoCoder – a geocoding library
- GeoTools – a library related to geographical tools
- PHPGeo – a simple geography library
- GeoJSON – An implementation of GeoJSON
Date and Time
Library for handling dates and times
- Carbon – A simple date and time API extension
- ExpressiveDate – Another date and time API extension
- CalendR – a calendar management library
Event
Library for event-driven or non-blocking event loop implementation
- React – An event-driven non-blocking I/O library
- Rx.PHP – A React extension library
- phpsocket.io
- Ratchet – A web socket library
- Hoa WebSocket – Another web socket library
- Elephant.io – Another web socket 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 source 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
E-commerce
Libraries and apps for payments and building online e-commerce stores
- OmniPay – A multi-gateway payment processing framework
- 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
PDF
Libraries and software for processing PDF files
- Snappy – a PDF and image generation library
- WKHTMLToPDF – A tool to convert HTML to PDF
- PHPPdf – A library to convert XML to PDF and images
Office
A variety of document processing libraries for Office suites
- PHPWord – Library for processing Word documents
- PHPExcel – Library for processing Excel documents
- PHPPowerPoint – Library for processing PPT slides
- ExcelAnt – a library for manipulating Excel documents
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)
- LazyRecord – A fast ORM
- Baum – An Eloquent nested collection
- 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 data mapping to generate proxy objects
- Cake ORM – Object Relational Mapper, implements the use of data mapping pattern (CP)
- Medoo – A lightweight ORM that accelerates development
Migrations
Library for managing database schemas and migrations
- PHPMig – a migration management library
- Phinx – a database migration management library
- Migrations – Another migration management library
- Doctrine Migrations – migration library for Doctrine
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
- Redis
- Predis – a fully functional Redis library
Queue
Library for handling events and task queues
- 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
- Gearman – Task distribution system
Search
Libraries and software for indexing and executing queries on data
- ElasticSearch PHP – Official client library for ElasticSearch.
- Elastica – Another ElasticSearch client library
- Solarium – Solr client library.
- SphinxQL query builder – Query library for Sphinx search engine
Command Line
Library for building command line tools
- symfony/console – Symfony command line worker component
- Boris – A micro PHP REPL
- PsySH – Another PHP REPL
- Pecan – an event-driven, non-blocking shell
- GetOpt – A command line selection parser
- OptParse – Another command line options parser
- Commando – A simple command line selection parser
- GetOptionKit – also a command line option parser
- Cron Expression - Library to calculate cron run date
- ShellWrap – A simple command line wrapper library
- Hoa Console – Another command line library
- Shunt - A command line library that runs 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
Scheduled tasks (Crontab)
Scheduled task management crontab related packaging in PHP
- Dispatcher – Laravel-based scheduled task management
- swoole-crontab – A swoole-based timer program that supports second-level processing
- jobby – a PHP scheduled task manager
- cronlingo – Express crontabs as human friendly phrases
Authentication and Authorization
Library that implements authentication mode
- 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
- TwitterOAuth – A Twitter OAuth library
- TwitterSDK – A fully tested Twitter SDK
- 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
- php-jwt
- jwt
- jose – JSON signing and encryption library
- slim-jwt-auth
- jwt-auth
Markup
Library for handling tags
- Decoda – A lightweight tag parsing library
- PHP Markdown – Markdown parser
- CommonMark PHP – A Markdown parser that supports CommonMark spec.
- Parsedown – a Markdown parser
- Ciconia – A Markdown parser that supports Github style
- Cebe Markdown – A fast, extensible Markdown parser
- HTML5 PHP – An HTML5 parsing and serialization library
- Emoji – A simple class library for processing emoji
- php-emoji – an emoji expression conversion library
Strings
Library for parsing and manipulating strings
- ANSI to HTML5 – A library to convert ANSI to HTML5
- Patchwork UTF-8 – A portable library for processing UTF-8 format strings
- Hoa String – Another UTF-8 format string library
- Stringy – A string manipulation library with multi-byte support
- Color Jizz – A library for processing and converting colors
- UUID – Library for generating UUIDs
- Slugify – A library that converts strings to slug format
- Urlify – A PHP port of Django URLify.js
- Text – a text processing library
- SQL Formatter – A library for formatting SQL statements
- UA Parser – A library for parsing UA (User Agent) strings
- Device Detector – Another library for parsing UA (User Agent) strings
- Mobile-Detect – A lightweight library for detecting mobile devices (including desktop devices)
- Browser – Detects information about the user’s browser environment
Numbers
Library for processing numbers
- Numbers PHP – A library for processing numbers
- Math – library for handling 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 measurement units
- LibPhoneNumber for PHP – Google phone number processing system library implemented in PHP
- hashids.php – used to generate a unique string from an integer (for example: hiding the real ID by encrypting and decrypting the ID)
Filtering and Validation
Library for filtering and validating data
- Filterus – A simple PHP filtering library
- Respect Validation – A simple validation library
- Valitron – Another data validation library
- Cake Validation – Another data validation library
- php-readability – content analysis algorithm
- Upload – A library that handles file uploading and verification
- DMS Filter – an annotation-based filtering library
- MetaYaml – A schema validation library that supports YAML, JSON and XML
- ISO-codes – Library for validating different ISO and ZIP encodings
REST and API
Libraries and web frameworks for developing restful APIs
- 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 displays Doctrine entities as REST resource nodes
- Restler – A lightweight framework that exposes PHP methods as RESTful web API
- fractal – [Best Practice] Unified processing of data return
Caching
Library for caching data
- Alternative PHP Cache (APC) – Open source opcode cache for PHP
- Doctrine Cache – a caching library.
- Zend Cache – Another caching library
- Cake Cache – A library for caching
- Stash – Another caching library
- CacheTool – A command line tool to clear APC/opcode cache
- PhpFastCache – PHP caching library
Data Structure and Storage
Libraries that implement data structures and storage technologies
- Ardent – a data structure library
- PHP Collections – A simple collection library
- Serializer – Library for serializing and deserializing data
- Zend Serializer – Another library for serializing and deserializing data
- PHP Object Storage – A library for object storage
- Fractal – A library for converting complex data structures into JSON output
- Totem – A library for managing and creating data modification sets
- PINQ – PHP real-time Linq library
- JsonMapper – A library that maps embedded JSON structures to PHP classes
- Cake Collection – a simple collection library
Notifications
Library about notifications
- Nod – a notification library
- Notificato – A library for handling push messages
- Notification Pusher – an independent library for device push notifications
- Notificator – a lightweight notification library
Deployment
Library for project deployment
- Pomander – A deployment tool for PHP applications
- Rocketeer – Fast and simple deployer for PHP
- Envoy – Tool for running SSH tasks using PHP
- Plum – a deployment library
- Deployer – a deployment tool
- walle-web – an open source web code release management system
Internationalization and Localization
Library for internationalization (I18n) and localization (L10n)
- Aura Intl
- Cake I18n – Translate and localize messages
Third Party APIs
Libraries to access third-party APIs
- mailgun-php – Mailgun’s Official SDK for PHP
Extensions
Libraries to help build PHP extensions
- Zephir – A compiled language between PHP and C++ for developing PHP extensions
- PHP CPP – A C++ library for developing PHP extensions
PHP Installation
Help installing and managing PHP
- HomeBrew – A package management tool for OSX
- HomeBrew PHP – Installation package for PHP in HomeBrew
- PHP OSX – A PHP installer for OSX
- PHP Brew – A PHP version management tool and installer
- PHP Env – Another PHP version tool
- PHP Switch – Another PHP version tool
- PHP Build – Another PHP version tool
- VirtPHP – A tool to create and manage detached PHP environments
Development Environment
Software and tools for creating sandbox development environments
- Vagrant – a lightweight tool for creating development environments
- Ansible – a simple business process framework
- Puppet – Server automation framework and application
- PuPHPet – A virtual machine tool for building PHP development
- Protobox – Another virtual machine tool for building PHP development
- Phansible – Another virtual machine tool for building PHP development
- centstead – Laravel local development environment base on vagrant and homestead
Virtual Machines
Alternative PHP virtual machine
- HHVM – Facebook’s open source PHP virtual machine
- HippyVM – Another PHP virtual machine
Development Tools (Integrated Development Environment)
IDE that supports PHP
- Netbeans
- Eclipse for PHP Developers
- PhpStorm
Web Applications
Web-based apps and tools
- 3V4L – Online PHP shell
- DBV – Database version control application
- PHP Queue – Backend program that manages queues
- MailCatcher – A program to accept and view emails
- Cachet – an open source website status display system (such as: status.github.com)
- phpRedisAdmin – Redis management tool
- phpPgAdmin – PostgreSQL management tool
- phpMyAdmin – MySQL management tool
- rockmongo – MongoDB management tool
Infrastructure
Provides infrastructure for PHP applications and services
- appserver.io – PHP based multi-threaded application server
Miscellaneous
Useful libraries and tools that do not fall into the above categories
- pinyin – a library for converting Chinese characters into Pinyin
- Pinyin – a library for converting Chinese characters into Pinyin
- class.upload.php – File upload processing class
- php-paginator – Pagination processing class
- Underscore.php – PHP implementation of Underscore.js
- Flexihash – Consistent hash library
- Eden – A PHP rapid development library that contains many components for automatic loading, event-driven, file systems, caching, templates, internationalization, databases, web services, payment gateways, loading and cloud service technologies.
- html-parser – html parsing tool
- PHPCrawl – PHP crawler framework
- Tig – Git browser from the command line
English version
A curated list of amazingly awesome PHP libraries, resources and shiny things.
Contributing
Please see CONTRIBUTING and CODE-OF-CONDUCT for details.
Table of Contents
- Awesome PHP
- Dependency Management
- Dependency Management Extras
- Frameworks
- Framework Extras
- Components
- Micro Frameworks
- Micro Framework Extras
- Routers
- Templating
- Static Site Generators
- HTTP
- Middlewares
- URL
- Email
- Files
- Streams
- Dependency Injection
- Imagery
- Testing
- Continuous Integration
- Documentation
- Security
- Passwords
- Code Analysis
- Architectural
- Debugging and Profiling
- Build Tools
- Task Runners
- Navigation
- Asset Management
- Geolocation
- Date and Time
- Event
- Logging
- E-commerce
- PDF
- Office
- Database
- Migrations
- NoSQL
- Queue
- Search
- Command Line
- Authentication and Authorization
- Markup
- Strings
- Numbers
- Filtering and Validation
- API
- Caching
- Data Structure and Storage
- Notifications
- Deployment
- Internationalisation and Localisation
- Third Party APIs
- Extensions
- Miscellaneous
- Software
- PHP Installation
- Development Environment
- Virtual Machines
- Integrated Development Environment
- Web Applications
- Infrastructure
- Resources
- PHP Websites
- Other Websites
- PHP Books
- PHP Videos
- PHP Reading
- PHP Internals Reading
- Contributing
Dependency Management
Libraries for dependency and package management.
- Composer Installers – A multi framework Composer library installer.
- Composer/Packagist – A package and dependency manager.
- Melody – A tool to build one file Composer scripts.
- Pickle – A PHP extension installer.
Dependency Management Extras
Extras related to dependency management.
- Composed – A library to parse your project’s Composer environment at runtime.
- Composer Checker – A tool to validate Composer configurations.
- Composer Merge Plugin – A composer plugin to merge several composer.json files.
- Composition – A library to check your Composer environment at runtime.
- NameSpacer – A library to convert from underscores to namespaces.
- Patch Installer – A library to install patches using Composer.
- Prestissimo – A composer plugin which enables parallel install process.
- Satis – A static Composer repository generator.
- tooly – A library to manage PHAR files in project using Composer.
- Toran Proxy – A static Composer repository and proxy.
Frameworks
Web development frameworks.
- Aura PHP – A framework of independent components.
- CakePHP – A rapid application development framework (CP).
- Laravel 5 – Another PHP framework (L5).
- Nette – Another framework comprised of individual components.
- Phalcon – A framework implemented as a C extension.
- PPI Framework 2 – An interoperability framework.
- Symfony 2 – A framework comprised of individual components (SF2).
- Yii2 – Another PHP framework.
- Zend Framework 2 – Another framework comprised of individual components (ZF2).
- Radar – An Action-Domain-Responder implementation for PHP.
- Ice – Another simple and fast PHP framework delivered as C-extension.
Framework Extras
Extras related to web development frameworks.
- CakePHP CRUD – A Rapid Application Development (RAD) plugin for CakePHP.
- Knp RAD Bundle – A Rapid Application Development (RAD) bundle for Symfony 2.
- Symfony CMF – A Content Management Framework to create custom CMS.
Components
Standalone components from web development frameworks and development groups.
- CakePHP Plugins – A directory of CakePHP plugins.
- Hoa Project – Another package of PHP components.
- League of Extraordinary Packages – A PHP package development group.
- Symfony2 Components – The components that make Symfony 2.
- Zend Framework 2 Components – The components that make Zend Framework.
Micro Frameworks
Micro frameworks and routers.
- Bullet PHP – A micro framework for building REST APIs.
- Lumen – A micro-framework by Laravel.
- Proton – A StackPHP compatible micro framework.
- Silex – A micro framework built around Symfony2 components.
- Slim – Another simple micro framework.
Micro Framework Extras
Extras related to micro frameworks and routers.
- Silex Skeleton – A project skeleton for Silex.
- Silex Web Profiler – A web debug toolbar for Silex.
- Slim Skeleton – A skeleton for Slim.
- Slim View – A collection of custom views for Slim.
Routers
Libraries for handling application routing.
- Fast Route – A fast routing library.
- Klein – A flexible router.
- Pux – Another fast routing library.
- Route – A routing library built on top of Fast Route.
Templating
Libraries and tools for templating and lexing.
- Foil – Another native PHP templating library.
- Lex – A lightweight template parser.
- MtHaml – A PHP implementation of the HAML template language.
- Mustache – A PHP implementation of the Mustache template language.
- Phly Mustache – Another PHP implementation of the Mustache template language.
- PHPTAL – A PHP implementation of the TAL templating language.
- Plates – A native PHP templating library.
- Smarty – A template engine to complement PHP.
- Twig – A comprehensive templating language.
- Tale Jade – A PHP implementation of the Jade template language.
Static Site Generators
Tools for pre-processing content to generate web pages.
- Couscous – Couscous turns Markdown documentation into beautiful websites. It’s GitHub Pages on steroids.
- Phrozn – Another tool that converts Textile, Markdown and Twig into HTML.
- Sculpin – A tool that converts Markdown and Twig into static HTML.
- Spress – An extensible tool that converts Markdown and Twig into HTML.
HTTP
Libraries for working with HTTP.
- Buzz – Another HTTP client.
- Guzzle – A comprehensive HTTP client.
- HTTPFul – A chainable HTTP client.
- PHP VCR – A library for recording and replaying HTTP requests.
- Requests – A simple HTTP library.
- Retrofit – A library to ease creation of REST API clients.
- zend-diactoros – PSR-7 HTTP Message implementation.
Scraping
Libraries for scraping websites.
- Embed – An information extractor from any web service or page.
- Goutte – A simple web scraper.
- PHP Spider – A configurable and extensible PHP web spider.
Middlewares
Libraries for building application using middlewares.
- Expressive – PSR-7 Middleware framework from Zend.
- PSR7-Middlewares – Inspiring collection of handy middlewares.
- Relay – A PHP 5.5 PSR-7 middleware dispatcher.
- Stack – A library of stackable middleware for Silex/Symfony.
- zend-stratigility – Middleware for PHP built on top of PSR-7.
URL
Libraries for parsing URLs.
- PHP Domain Parser – A domain suffix parser library.
- Purl – A URL manipulation library.
- sabre/uri – A functional URI manipulation library.
- Uri – Another URL manipulation library.
Email
Libraries for sending and parsing email.
- CssToInlineStyles – A library to inline CSS in email templates.
- Email Reply Parser – An email reply parser library.
- Email Validator – A small email address validation library.
- Fetch – An IMAP library.
- Mautic – Email marketing automation
- PHPMailer – Another mailer solution.
- Stampie – A library for email services such as SendGrid, PostMark, MailGun and Mandrill.
- SwiftMailer – A mailer solution.
Files
Libraries for file manipulation and MIME type detection.
- Apache MIME Types – A library that parses Apache MIME types.
- Canal – A library to determine internet media types.
- CSV – A CSV data manipulation library.
- Ferret – A MIME detection library.
- Flysystem – Another filesystem abstraction layer.
- Gaufrette – A filesystem abstraction layer.
- Hoa Mime – Another MIME detection library.
- Lurker – A resource tracking library.
- PHP FFmpeg – A wrapper for the FFmpeg video library.
Streams
Libraries for working with streams.
- Streamer – A simple object-orientated stream wrapper library.
Dependency Injection
Libraries that implement the dependency injection design pattern.
- Acclimate – A common interface to dependency injection containers and service locators.
- Auryn – A recursive dependency injector.
- Container – Another flexible dependency injection container.
- PHP-DI – A dependency injection container that supports autowiring.
- Pimple – A tiny dependency injection container.
- Symfony DI – A dependency injection container component (SF2).
Imagery
Libraries for manipulating images.
- Color Extractor – A library for extracting colours from images.
- GIF Creator – A library to create GIF animations from multiple images.
- GIF Frame Extractor – A library to extract GIF animation frame information.
- Glide – An on-demand image manipulation library.
- Image Hash – A library for generating perceptual image hashes.
- Image Optimizer – A library for optimizing images.
- Image With Text – A library for embedding text into images.
- Imagine – An image manipulation library.
- Intervention Image – Another image manipulation library.
- PHP Image Workshop – Another image manipulation library.
Testing
Libraries for testing codebases and generating test data.
- Alice – An expressive fixture generation library.
- AspectMock – A mocking framework for PHPUnit/Codeception.
- Atoum – A simple testing library.
- Behat – A behaviour driven development (BDD) testing framework.
- Codeception – A full stack testing framework.
- DBUnit – A database testing library for PHPUnit.
- Faker – A fake data generator library.
- HTTP Mock – A library for mocking HTTP requests in unit tests.
- Kahlan – Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
- Mink – Web acceptance testing.
- Mockery – A mock object library for testing.
- ParaTest – A parallel testing library for PHPUnit.
- Peridot – An event driven test framework.
- Phake – Another mock object library for testing.
- Pho – Another behaviour driven development testing framework.
- PHP-Mock – A mock library for built-in PHP functions (e.g. time()).
- PHPSpec – A design by specification unit testing library.
- PHPT – A test tool used by PHP itself.
- PHPUnit – A unit testing framework.
- Prophecy – A highly opinionated mocking framework.
- Samsui – Another fake data generator library.
- VFS Stream – A virtual filesystem stream wrapper for testing.
- VFS – Another virtual filesystem for testing.
Continuous Integration
Libraries and applications for continuous integration.
- CircleCI – A continuous integration platform.
- GitlabCi – Let GitLab CI test, build, deploy your code. TravisCi like.
- Jenkins – A continous integration platform with PHP support.
- JoliCi – A continuous integration client written in PHP and powered by Docker.
- PHPCI – An open source continuous integration platform for PHP.
- SemaphoreCI – A continuous integration platform for open source and private projects.
- Shippable – A docker based continious integration platform for open source and private projects.
- Sismo – A continuous testing server library.
- Travis CI – A continuous integration platform.
- Wercker – A continuous integration platform
Documentation
Libraries for generating project documentation.
- APIGen – Another API documentation generator.
- daux.io – A documentation generator which uses Markdown files.
- PHP Documentor 2 – A documentation generator.
- phpDox – A documentation generator for PHP projects (that is not limited to API documentation).
- Sami – An API documentation generator.
Security
Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.
- Halite – A simple library for encryption using libsodium.
- HTML Purifier – A standards compliant HTML filter.
- IniScan – A tool that scans PHP INI files for security.
- Optimus – Id obfuscation based on Knuth’s multiplicative hashing method.
- PHP Encryption – Secure PHP Encryption Library.
- PHP IDS – A structured PHP security layer.
- PHP SSH – An experimental object orientated SSH wrapper library.
- PHPSecLib – A pure PHP secure communications library.
- RandomLib – A library for generating random numbers and strings.
- SecurityMultiTool – A PHP security library.
- SensioLabs Security Check – A web tool to check your Composer dependencies for security advisories.
- TCrypto – A simple encrypted key-value storage library.
- True Random – A library that generates random numbers using www.random.org.
- VAddy – A continuous security testing platform for web applications.
- Zed – An integrated penetration testing tool for web applications.
Passwords
Libraries and tools for working with and storing passwords.
- GenPhrase – A library for generating secure random passphrases.
- Password Compat – A compatibility library for the new PHP 5.5 password functions.
- Password Policy – A password policy library for PHP and JavaScript.
- Password Validator – A library for validating and upgrading password hashes.
- Password-Generator – PHP library to generate random passwords.
- PHP Password Lib – A library for generating and validating passwords.
- phpass – A portable password hashing framework.
- Zxcvbn PHP – A realistic PHP password strength estimate library based on Zxcvbn JS.
Code Analysis
Libraries and tools for analysing, parsing and manipulating codebases.
- Athletic – An annotation based benchmark framework.
- Code Climate – An automated code review.
- Dissect – A set of tools for lexical and syntactical analysis.
- Exakat – A static analysis engine for PHP.
- GrumPHP – A composer plugin to defend code quality.
- Mondrian – A code analysis tool using Graph Theory.
- PHP Analyser – A library for analysing PHP code to find bugs and errors.
- PHP Code Sniffer – A library that detects PHP, CSS and JS coding standard violations.
- PHP CS Fixer – A coding standards fixer library.
- PHP Manipulator – A library for analysing and modifying PHP Source Code.
- PHP Mess Detector – A library that scans code for bugs, sub-optimal code, unused parameters and more.
- PHP Metrics – A static metric library.
- PHP Migration – A static analyzer for PHP version migration.
- PHP Parser – A PHP parser written in PHP.
- PHP Refactoring Browser – A command line utility for refactoring PHP code.
- PHP Semantic Versioning Checker – A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
- phan – A static analyzer based on PHP 7+ and the php-ast extension.
- PHPCheckstyle – A tool to help adhere to certain coding conventions.
- PHPCPD – A library that detects copied and pasted code.
- PhpDependencyAnalysis – A tool to create customisable dependency graphs.
- PHPLOC – A tool for quickly measuring the size of a PHP project.
- PHPQA – A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
- PHPPHP – A PHP VM implementation in PHP.
- PHPSandbox – A PHP sandbox environment.
- Qafoo Quality Analyzer – A tool to visualize metrics and source code.
- Scrutinizer – A web tool to scrutinise PHP code.
- UBench – A simple micro benchmark library.
Architectural
Libraries related to design patterns, programming approaches and ways to organize code.
- Compose – A function composition library.
- Design Patterns PHP – A repository of software patterns implemented in PHP.
- Finite – A simple PHP finite state machine.
- Functional PHP – A functional programming library.
- Galapagos – Evolutionary language transformation.
- Iter – A library that provides iteration primitives using generators.
- Monad PHP – A simple Monad library.
- Patchwork – A library for redefining userland functions.
- PHP Option – An option type library.
- Pipeline – A pipeline pattern implementation.
- Ruler – A simple stateless production rules engine.
- RulerZ – A powerful rule engine and implementation of the Specification pattern.
Debugging and Profiling
Libraries and tools for debugging and profiling code.
- APM – Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
- Barbushin PHP Console – Another web debugging console using Google Chrome.
- Blackfire.io – A low-overhead code profiler.
- Kint – A debugging and profiling tool.
- PHP Console – A web debugging console.
- PHP Debug Bar – A debugging toolbar.
- PHPBench – A benchmarking Framework.
- PHPDBG – An interactive PHP debugger.
- Tideways.io – Monitoring and profiling tool
- Tracy – A simple error detection, logging and time measuring library.
- xDebug – A debug and profile tool for PHP.
- XHProf – A profiling tool originally developed by Facebook.
- Z-Ray – A debug and profile tool for Zend Server.
Build Tools
Project build and automation tools.
- Bob – A simple project automation tool.
- Box – A utility to build PHAR files.
- Construct – A PHP project/micro-package generator.
- Phake – A rake PHP clone library.
- Phing – A PHP project build system inspired by Apache Ant.
Task Runners
Libraries for automating and running tasks.
- Bldr – A PHP Task runner built on Symfony components.
- Jobby – A PHP cron job manager without modifying crontab.
- Robo – A PHP Task runner with object-orientated configurations.
- Task – A pure PHP task runner inspired by Grunt and Gulp.
Navigation
Tools for building navigation structures.
- Cartographer – A sitemap generation library.
- KnpMenu – A menu library.
Asset Management
Tools for managing, compressing and minifying website assets.
- Assetic – An asset manager pipeline library.
- JShrink – A JavaScript minifier library.
- Munee – An asset optimiser library.
- Pipe – Another asset manager pipeline library.
- Puli – A library for determining assets absolute paths.
- BowerPHP – A PHP implementation of Bower. A package manager for the web
Geolocation
Libraries for geocoding addresses and working with latitudes and longitudes.
- GeoCoder – A geocoding library.
- GeoJSON – A GeoJSON implementation.
- GeoTools – A library of geo-related tools.
- PHPGeo – A simple geo library.
Date and Time
Libraries for working with dates and times.
- CalendR – A calendar management library.
- Carbon – A simple DateTime API extension.
- Chronos – A DateTime API extension supporting both mutable and immutable date/time.
- ExpressiveDate – Another DateTime API extension.
- Moment.php – Moment.js inspired PHP DateTime handler with i18n support.
Event
Libraries that are event-driven or implement non-blocking event loops.
- Amp – An event driven non-blocking I/O library.
- Broadway – An event source and CQRS library.
- Cake Event – An event dispatcher library (CP).
- Elephant.io – Yet another web socket library.
- Evenement – An event dispatcher library.
- Event – An event library with a focus on domain events.
- Hoa EventSource – An event source library.
- Hoa WebSocket – Another web socket library.
- Icicle – An asynchronous library with coroutines, non-blocking I/O, and multithreading.
- Prooph Event Store – An event source component to persist event messages
- Ratchet – A web socket library.
- React – An event driven non-blocking I/O library.
- Rx.PHP – A reactive extension library.
- Workerman – An event driven non-blocking I/O library.
Logging
Libraries for generating and working with log files.
- Analog – A closure-based micro logging package.
- KLogger – An easy-to-use PSR-3 compliant logging class.
- Monolog – A comprehensive logger.
E-commerce
Libraries and applications for taking payments and building online e-commerce stores.
- Money – A PHP implementation of Fowler’s money pattern.
- OmniPay – A framework agnostic multi-gateway payment processing library.
- Payum – A payment abstraction library.
- Shopware – Highly customizable e-commerce software
- Swap – An exchange rates library.
- Sylius – An open source e-commerce solution.
PDF
Libraries and software for working with PDF files.
- Dompdf – A HTML to PDF converter.
- PHPPdf – A library for generating PDFs and images from XML.
- Snappy – A PDF and image generation library.
- WKHTMLToPDF – A tool to convert HTML to PDF.
Office
Libraries for working with office suite documents.
- ExcelAnt – A library for manipulating Microsoft Excel documents.
- PHPExcel – A library for working with Microsoft Excel documents.
- PHPPowerPoint – A library for working with Microsoft PowerPoint Presentations.
- PHPWord – A library for working with Microsoft Word documents.
Database
Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.
- Baum – A nested set implementation for Eloquent.
- Cake ORM – Object-Relational Mapper, implemented using the DataMapper pattern (CP).
- Doctrine Extensions – A collection of Doctrine behavioural extensions.
- Doctrine – A comprehensive DBAL and ORM.
- Eloquent – A simple ORM (L5).
- LazyRecord – A fast ORM designed for simplicity, extendability and performance.
- Pomm – An Object Model Manager for PostgreSQL.
- Propel – A fast ORM, migration library and query builder.
- ProxyManager – A set of utilities to generate proxy objects for data mappers.
- RedBean – A lightweight, configuration-less ORM.
- Spot2 – A MySQL datamapper ORM.