Awesome PHP Build Status

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Contributing and Collaborating

Please see CONTRIBUTING, CODE-OF-CONDUCT and COLLABORATING for details.

Table of Contents

Composer Repositories

Composer Repositories.

Dependency Management

Libraries for dependency and package management.

  • Composer Installers751 472 - A multi framework Composer library installer.
  • Composer - A package and dependency manager.
  • Melody - A tool to build one file Composer scripts.
  • Pickle1k 56 - 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 Checker4 0 - A tool to validate Composer configurations.
  • Composer Merge Plugin259 42 - A composer plugin to merge several composer.json files.
  • Composition108 5 - A library to check your Composer environment at runtime.
  • NameSpacer47 6 - A library to convert from underscores to namespaces.
  • Patch Installer37 0 - A library to install patches using Composer.
  • Prestissimo3k 108 - A composer plugin which enables parallel install process.
  • Satis2k 393 - A static Composer repository generator.
  • tooly57 7 - A library to manage PHAR files in project using Composer.
  • Toran Proxy - A static Composer repository and proxy.

Frameworks

Web development frameworks.

  • Aura Framework - A framework built from 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 - A framework comprised of individual components (SF).
  • Yii214k 9k - Another PHP framework.
  • Zend Framework 2 - Another framework comprised of individual components (ZF2).
  • 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 Components - A set of Rapid Application Development (RAD) components for Symfony.
  • Symfony CMF766 107 - A Content Management Framework to create custom CMS.

Components

Standalone components from web development frameworks and development groups.

Micro Frameworks

Micro frameworks and routers.

  • Bullet PHP - A micro framework for building REST APIs.
  • Lumen - A micro-framework by Laravel.
  • Proton305 44 - A StackPHP compatible micro framework.
  • Radar45 13 - An Action-Domain-Responder implementation for PHP.
  • Silex - A micro framework built around Symfony components.
  • Slim - Another simple micro framework.

Micro Framework Extras

Extras related to micro frameworks and routers.

Routers

Libraries for handling application routing.

  • Aura.Router342 89 - A full-featured routing library.
  • Fast Route2k 281 - A fast routing library.
  • Klein427 80 - A flexible router.
  • Pux1k 115 - Another fast routing library.
  • Route302 114 - A routing library built on top of Fast Route.

Templating

Libraries and tools for templating and lexing.

  • Aura.View59 27 - Provides TemplateView and TwoStepView using PHP as the tempting language, with support for partials, sections, and helpers.
  • Foil114 23 - Another native PHP templating library.
  • Lex62 18 - A lightweight template parser.
  • MtHaml348 51 - A PHP implementation of the HAML template language.
  • Mustache3k 470 - A PHP implementation of the Mustache template language.
  • Phly Mustache135 21 - 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 Jade92 15 - 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.
  • Phrozn456 73 - 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.

  • Buzz1k 250 - Another HTTP client.
  • Guzzle10k 2k - A comprehensive HTTP client.
  • HTTPFul1k 309 - A chainable HTTP client.
  • HTTPlug - An HTTP client abstraction without binding to a specific implementation.
  • PHP VCR - A library for recording and replaying HTTP requests.
  • Requests3k 446 - A simple HTTP library.
  • Retrofit103 19 - A library to ease creation of REST API clients.
  • zend-diactoros472 157 - PSR-7 HTTP Message implementation.

Scraping

Libraries for scraping websites.

  • Embed1k 178 - An information extractor from any web service or page.
  • Goutte6k 879 - A simple web scraper.
  • PHP Spider916 201 - A configurable and extensible PHP web spider.

Middlewares

Libraries for building application using middlewares.

  • Expressive - PSR-7 Middleware framework from Zend.
  • PSR7-Middlewares577 69 - Inspiring collection of handy middlewares.
  • Relay152 10 - A PHP 5.5 PSR-7 middleware dispatcher.
  • Stack - A library of stackable middleware for Silex/Symfony.
  • zend-stratigility209 67 - Middleware for PHP built on top of PSR-7.

URL

Libraries for parsing URLs.

  • PHP Domain Parser507 76 - A domain suffix parser library.
  • Purl708 86 - A URL manipulation library.
  • sabre/uri10 1 - A functional URI manipulation library.
  • Uri242 46 - Another URL manipulation library.

Email

Libraries for sending and parsing email.

Files

Libraries for file manipulation and MIME type detection.

  • Apache MIME Types16 3 - A library that parses Apache MIME types.
  • Canal12 1 - A library to determine internet media types.
  • CSV1k 250 - A CSV data manipulation library.
  • Ferret10 4 - A MIME detection library.
  • Flysystem - Another filesystem abstraction layer.
  • Gaufrette2k 408 - A filesystem abstraction layer.
  • Hoa Mime81 14 - Another MIME detection library.
  • Lurker88 9 - A resource tracking library.
  • PHP FFmpeg - A wrapper for the FFmpeg video library.
  • UnifiedArchive100 11 - A unified reader and writer of compressed archives.

Streams

Libraries for working with streams.

  • Streamer89 8 - A simple object-orientated stream wrapper library.

Dependency Injection

Libraries that implement the dependency injection design pattern.

  • Aura.Di279 92 - A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more.
  • Acclimate - A common interface to dependency injection containers and service locators.
  • Auryn220 40 - A recursive dependency injector.
  • Container294 66 - Another flexible dependency injection container.
  • Disco95 17 - A PSR-11 compatible, annotation-based dependency injection container.
  • PHP-DI - A dependency injection container that supports autowiring.
  • Pimple - A tiny dependency injection container.
  • Symfony DI180 32 - A dependency injection container component (SF).

Imagery

Libraries for manipulating images.

Testing

Libraries for testing codebases and generating test data.

  • Alice2k 270 - An expressive fixture generation library.
  • AspectMock590 81 - A mocking framework for PHPUnit/Codeception.
  • Atoum1k 205 - A simple testing library.
  • Behat - A behaviour driven development (BDD) testing framework.
  • Codeception4k 2k - A full stack testing framework.
  • DBUnit182 113 - A database testing library for PHPUnit.
  • Faker12k 2k - A fake data generator library.
  • HTTP Mock298 41 - A library for mocking HTTP requests in unit tests.
  • Kahlan364 35 - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
  • Mink - Web acceptance testing.
  • Mockery117 21 - A mock object library for testing.
  • ParaTest561 135 - A parallel testing library for PHPUnit.
  • Peridot270 27 - An event driven test framework.
  • Phake442 78 - Another mock object library for testing.
  • Pho289 19 - Another behaviour driven development testing framework.
  • PHP-Mock123 7 - A mock library for built-in PHP functions (e.g. time()).
  • PHPSpec1k 318 - A design by specification unit testing library.
  • PHPT - A test tool used by PHP itself.
  • PHPUnit9k 2k - A unit testing framework.
  • Prophecy1k 184 - A highly opinionated mocking framework.
  • Samsui28 1 - Another fake data generator library.
  • VFS Stream806 101 - A virtual filesystem stream wrapper for testing.
  • VFS303 21 - 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.
  • JoliCi680 47 - 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.

  • APIGen806 174 - Another API documentation generator.
  • daux.io5k 760 - A documentation generator which uses Markdown files.
  • PHP Documentor 22k 636 - A documentation generator.
  • phpDox - A documentation generator for PHP projects (that is not limited to API documentation).
  • Sami2k 275 - An API documentation generator.

Security

Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.

  • Halite - A simple library for encryption using libsodium5k 829 .
  • HTML Purifier1k 200 - A standards compliant HTML filter.
  • IniScan1k 98 - A tool that scans PHP INI files for security.
  • Optimus1k 80 - Id obfuscation based on Knuth's multiplicative hashing method.
  • PHP Encryption1k 204 - Secure PHP Encryption Library.
  • PHP IDS290 76 - A structured PHP security layer.
  • PHP SSH281 80 - An experimental object orientated SSH wrapper library.
  • PHPSecLib - A pure PHP secure communications library.
  • random_compat500 81 - PHP 5.x support for random_bytes() and random_int()
  • RandomLib638 117 - A library for generating random numbers and strings.
  • SecurityMultiTool57 5 - A PHP security library.
  • SensioLabs Security Check - A web tool to check your Composer dependencies for security advisories.
  • TCrypto53 10 - A simple encrypted key-value storage library.
  • 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.

  • GenPhrase66 2 - A library for generating secure random passphrases.
  • Password Compat1k 215 - A compatibility library for the new PHP 5.5 password functions.
  • Password Policy54 15 - A password policy library for PHP and JavaScript.
  • Password Validator136 10 - A library for validating and upgrading password hashes.
  • Password-Generator67 14 - PHP library to generate random passwords.
  • PHP Password Lib258 34 - A library for generating and validating passwords.
  • phpass - A portable password hashing framework.
  • Zxcvbn PHP370 47 - A realistic PHP password strength estimate library based on Zxcvbn JS.

Code Analysis

Libraries and tools for analysing, parsing and manipulating codebases.

Code Quality

Libraries for managing code quality, formatting and linting.

  • PHP CodeSniffer4k 1k - A library that detects PHP, CSS and JS coding standard violations.
  • PHP CS Fixer6k 1k - A coding standards fixer library.
  • PHP Mess Detector - A library that scans code for bugs, sub-optimal code, unused parameters and more.
  • PHPCheckstyle90 24 - A tool to help adhere to certain coding conventions.
  • PHPCPD1k 157 - A library that detects copied and pasted code.

Static Analysis

Libraries for performing static analysis of PHP code.

  • Exakat89 16 - A static analysis engine for PHP.
  • Mondrian188 9 - A code analysis tool using Graph Theory.
  • phan239 18 - A static analyzer based on PHP 7+ and the php-ast extension.
  • PHPCompatibility812 138 - A PHP compatibility checker for PHP CodeSniffer.
  • PhpDependencyAnalysis276 20 - A tool to create customisable dependency graphs.
  • PHP Metrics498 99 - A static metric library.
  • PHP Migration94 8 - A static analyzer for PHP version migration.
  • PHPStan3k 241 - A PHP Static Analysis Tool.
  • Pslam685 52 - A static analysis tool for finding errors in PHP applications.

Architectural

Libraries related to design patterns, programming approaches and ways to organize code.

  • Compose60 4 - A function composition library.
  • Design Patterns PHP13k 3k - A repository of software patterns implemented in PHP.
  • Finite - A simple PHP finite state machine.
  • Functional PHP1k 152 - A functional programming library.
  • Galapagos - Evolutionary language transformation.
  • Iter620 44 - A library that provides iteration primitives using generators.
  • Monad PHP116 24 - A simple Monad library.
  • Patchwork - A library for redefining userland functions.
  • PHP Option541 33 - An option type library.
  • Pipeline347 43 - A pipeline pattern implementation.
  • Ruler456 61 - A simple stateless production rules engine.
  • RulerZ561 57 - 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 Console1k 225 - Another web debugging console using Google Chrome.
  • Blackfire.io - A low-overhead code profiler.
  • Kint264 28 - A debugging and profiling tool.
  • PHP Console261 43 - A web debugging console.
  • PHP Debug Bar - A debugging toolbar.
  • PHPBench589 44 - A benchmarking Framework.
  • Tideways.io - Monitoring and profiling tool
  • Tracy824 188 - A simple error detection, logging and time measuring library.
  • xDebug1k 361 - A debug and profile tool for PHP.
  • XHProf1k 416 - A profiling tool originally developed by Facebook.
  • Z-Ray - A debug and profile tool for Zend Server.

Build Tools

Project build and automation tools.

  • Bob78 2 - A simple project automation tool.
  • Box1k 75 - A utility to build PHAR files.
  • Construct466 46 - A PHP project/micro-package generator.
  • Phake355 32 - 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.
  • Jobby372 62 - A PHP cron job manager without modifying crontab.
  • Robo586 93 - 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.

Asset Management

Tools for managing, compressing and minifying website assets.

  • JShrink495 115 - A JavaScript minifier library.
  • Munee916 118 - An asset optimiser library.
  • Puli475 38 - A library for determining assets absolute paths.
  • BowerPHP738 88 - 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.
  • GeoJSON128 33 - A GeoJSON implementation.
  • GeoTools852 88 - A library of geo-related tools.
  • PHPGeo824 146 - A simple geo library.

Date and Time

Libraries for working with dates and times.

  • CalendR - A calendar management library.
  • Carbon6k 959 - A simple DateTime API extension.
  • Chronos393 39 - A DateTime API extension supporting both mutable and immutable date/time.
  • Moment.php645 130 - Moment.js inspired PHP DateTime handler with i18n support.
  • Yasumi371 74 - An library to help you calculate the dates and names of holidays.

Event

Libraries that are event-driven or implement non-blocking event loops.

  • Amp1k 95 - An event driven non-blocking I/O library.
  • Broadway138 27 - An event source and CQRS library.
  • Cake Event12 2 - An event dispatcher library (CP).
  • Elephant.io - Yet another web socket library.
  • Evenement359 36 - An event dispatcher library.
  • Event257 45 - An event library with a focus on domain events.
  • Hoa EventSource76 14 - An event source library.
  • Hoa WebSocket381 58 - Another web socket library.
  • Prooph Event Store283 42 - An event source component to persist event messages
  • Ratchet4k 585 - A web socket library.
  • React3k 257 - An event driven non-blocking I/O library.
  • Rx.PHP237 23 - A reactive extension library.
  • Workerman5k 2k - An event driven non-blocking I/O library.

Logging

Libraries for generating and working with log files.

  • Monolog6k 1k - A comprehensive logger.

E-commerce

Libraries and applications for taking payments and building online e-commerce stores.

  • Money1k 138 - A PHP implementation of Fowler's money pattern.
  • OmniPay4k 739 - A framework agnostic multi-gateway payment processing library.
  • Payum - A payment abstraction library.
  • Shopware881 887 - Highly customizable e-commerce software
  • Swap851 67 - An exchange rates library.
  • Sylius - An open source e-commerce solution.

PDF

Libraries and software for working with PDF files.

  • Dompdf4k 1k - A HTML to PDF converter.
  • PHPPdf314 60 - A library for generating PDFs and images from XML.
  • Snappy3k 386 - A PDF and image generation library.
  • WKHTMLToPDF6k 899 - A tool to convert HTML to PDF.

Office

Libraries for working with office suite documents.

  • ExcelAnt30 13 - A library for manipulating Microsoft Excel documents.
  • PHPPowerPoint327 146 - A library for working with Microsoft PowerPoint Presentations.
  • PHPWord3k 1k - A library for working with Microsoft Word documents.
  • PHPSpreadsheet1k 240 - A pure PHP library for reading and writing spreadsheet files (successor of PHPExcel)

Database

Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.

  • Atlas.Orm374 41 - A data mapper implementation for your persistence model in PHP.
  • Aura.Sql421 103 - Provides an extension to the native PDO along with a profiler and connection locator.
  • Aura.SqlQuery263 79 - Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server.
  • Baum2k 304 - A nested set implementation for Eloquent.
  • Cake ORM122 16 - Object-Relational Mapper, implemented using the DataMapper pattern (CP).
  • Doctrine Extensions2k 1k - A collection of Doctrine behavioural extensions.
  • Doctrine - A comprehensive DBAL and ORM.
  • Eloquent1k 525 - A simple ORM (L5).
  • LazyRecord51 5 - A fast ORM designed for simplicity, extendability and performance.
  • Pomm135 32 - An Object Model Manager for PostgreSQL.
  • Propel - A fast ORM, migration library and query builder.
  • ProxyManager797 139 - A set of utilities to generate proxy objects for data mappers.
  • RedBean - A lightweight, configuration-less ORM.
  • Spot28 6 - A MySQL datamapper ORM.

Migrations

Libraries to help manage database schemas and migrations.

  • Doctrine Migrations - A migration library for Doctrine.
  • Migrations34 0 - A migration management library.
  • Phinx224 87 - Another database migration library.
  • PHPMig466 83 - Another migration management library.
  • Ruckusing499 107 - Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite.

NoSQL

Libraries for working with "NoSQL" backends.

  • Monga320 41 - A MongoDB abstraction library.
  • MongoQB142 57 - A MongoDB query builder library.
  • PHPMongo169 53 - A MongoDB ORM.
  • Predis4k 743 - A feature complete Redis library.

Queue

Libraries for working with event and task queues.

  • Bernard854 111 - A multibackend abstraction library.
  • BunnyPHP281 43 - A performant pure-PHP AMQP (RabbitMQ) sync and also async (ReactPHP) library.
  • Pheanstalk1k 243 - A Beanstalkd client library.
  • PHP AMQP707 238 - A pure PHP AMQP library.
  • Tarantool Queue40 3 - PHP bindings for Tarantool Queue.
  • Thumper47 18 - A RabbitMQ pattern library.

Search

Libraries and software for indexing and performing search queries on data.

Command Line

Libraries related to the command line.

  • Aura.Cli103 28 - Provides the equivalent of request ( Context ) and response ( Stdio ) objects for the command line interface, including Getopt support, and an independent Help object for describing commands.
  • Boris - A tiny PHP REPL.
  • Cilex625 93 - A micro framework for building command line tools.
  • CLI Menu821 57 - A library for building CLI menus.
  • CLIFramework324 50 - A command-line framework supports zsh/bash completion generation, subcommands and option constraints. It also powers phpbrew.
  • CLImate1k 113 - A library for outputting colours and special formatting.
  • Commando629 72 - Another simple command line opt parser.
  • Cron Expression1k 215 - A library to calculate cron run dates.
  • GetOpt32 10 - A command line opt parser.
  • GetOptionKit108 31 - Another command line opt parser.
  • Hoa Console239 28 - Another command line library.
  • OptParse13 0 - Another command line opt parser.
  • Pecan30 1 - An event-driven, non-blocking shell.
  • PsySH2k 238 - Another PHP REPL.
  • ShellWrap692 73 - A simple command line wrapper library.

Authentication and Authorization

Libraries for implementing user authentication and authorization.

  • Aura.Auth93 35 - Provides authentication functionality and session tracking using various adapters.
  • Hawk63 11 - A Hawk HTTP authentication library.
  • SocialConnect Auth - An open source social sign (OAuth1\OAuth2\OpenID\OpenIDConnect).
  • Json Web Token2k 225 - Json Tokens to authenticate and transmit information.
  • OAuth 1.0 Client157 62 - An OAuth 1.0 client library.
  • OAuth 2.0 Client2k 570 - An OAuth 2.0 client library.
  • OAuth2 Server - Another OAuth2 server implementation.
  • OAuth2 Server - An OAuth2 authentication server, resource server and client library.
  • Opauth2k 310 - A multi-provider authentication framework.
  • PHP oAuthLib1k 511 - Another OAuth library.
  • Sentinel Social - A library for social network authentication.
  • Sentinel - A framework agnostic authentication & authorisation library.
  • TwitterOAuth4k 2k - A Twitter OAuth library.
  • TwitterSDK38 2 - A fully tested Twitter SDK.

Markup

Libraries for working with markup.

  • Cebe Markdown662 140 - An fast and extensible Markdown parser.
  • Ciconia320 22 - Another Markdown parser that supports Github flavoured Markdown.
  • CommonMark PHP935 117 - A Markdown parser which supports the full CommonMark spec.
  • Decoda188 52 - A lightweight markup parser library.
  • Emoji - A library that converts unicode characters and names into emoji images.
  • HTML to Markdown469 94 - Converts HTML into Markdown.
  • HTML5 PHP459 78 - An HTML5 parser and serializer library.
  • Parsedown5k 870 - Another Markdown parser.
  • PHP Markdown3k 578 - A Markdown parser.

Strings

Libraries for parsing and manipulating strings.

  • Agent1k 143 - A PHP desktop/mobile user agent parser, based on Mobiledetect.
  • ANSI to HTML5106 19 - An ANSI to HTML5 converter library.
  • Color Jizz235 34 - A library for manipulating and converting colours.
  • Device Detector15 2 - Another library for parsing user agent strings.
  • Hoa String27 4 - Another UTF-8 string library.
  • Jieba-PHP353 104 - A PHP port of Python's jieba. Chinese text segmentation for natural language processing.
  • Mobile-Detect8k 2k - A lightweight PHP class for detecting mobile devices (including tablets).
  • Patchwork UTF-863 6 - A portable library for working with UTF-8 strings.
  • Slugify1k 186 - A library to convert strings to slugs.
  • SQL Formatter900 198 - A library for formatting SQL statements.
  • Stringy2k 179 - A string manipulation library with multibyte support.
  • Text27 3 - A text manipulation library.
  • UA Parser1k 405 - A library for parsing user agent strings.
  • URLify547 84 - A PHP port of Django's URLify.js.
  • UUID3k 248 - A library for generating UUIDs.

Numbers

Libraries for working with numbers.

  • ByteUnits45 12 - A library to parse, format and convert byte units in binary and metric systems.
  • LibPhoneNumber for PHP2k 309 - A PHP implementation of Google's phone number handling library.
  • Math35 5 - A library for working with large numbers.
  • Numbers PHP109 9 - A library for working with numbers.
  • PHP Conversion11 1 - Another library for converting between units of measure.
  • PHP Units of Measure109 37 - A library for converting between units of measure.

Filtering and Validation

Libraries for filtering and validating data.

  • Aura.Filter115 48 - Provides tools to validate and sanitize objects and arrays.
  • Cake Validation24 1 - Another validation library (CP).
  • DMS Filter35 5 - An annotation filtering library.
  • Filterus430 65 - A simple PHP filtering library.
  • ISO-codes501 67 - A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries
  • MetaYaml61 16 - A schema validation library that supports YAML, JSON and XML.
  • Respect Validation4k 888 - A simple validation library.
  • Upload - A library for handling file uploads and validation.
  • Valitron933 219 - Another validation library.
  • Volan - Another simplified validation library.

API

Libraries and web tools for developing APIs.

  • API Platform - Expose in minutes an hypermedia REST API that embraces JSON-LD, Hydra format.
  • Apigility495 177 - An API builder built with Zend Framework 2.
  • Drest86 13 - A library for exposing Doctrine entities as REST resource endpoints.
  • HAL193 46 - A Hypertext Application Language (HAL) builder library.
  • Hateoas792 124 - A HATEOAS REST web service library.
  • Negotiation417 46 - A content negotiation library.
  • Restler1k 372 - A lightweight framework to expose PHP methods as RESTful web API.
  • wsdl2phpgenerator579 219 - A tool to generate PHP classes from SOAP WSDL files.

Caching

Libraries for caching data.

  • Alternative PHP Cache (APC) - Open opcode cache for PHP.
  • APIx Cache - A thin PSR-6 cache wrapper to various caching backends emphasising cache tagging and indexing.
  • CacheTool382 37 - A tool to clear APC/opcode caches from the command line.
  • Cake Cache12 4 - A caching library (CP).
  • Doctrine Cache609 213 - A caching library.
  • Metaphore73 8 - Cache slam defense using a semaphore to prevent dogpile effect.
  • Stash837 144 - Another library for caching.
  • Zend Cache31 47 - Another caching library (ZF2).

Data Structure and Storage

Libraries that implement data structure or storage techniques.

  • Ardent621 59 - A library of data structures.
  • Cake Collection30 4 - A simple collections library (CP).
  • Collections44 15 - Collections Abstraction library for PHP.
  • Fractal2k 361 - A library for converting complex data structures to JSON output.
  • Ginq198 25 - Another PHP library based on .NET's LINQ.
  • JsonMapper274 59 - A library that maps nested JSON structures onto PHP classes.
  • Knapsack600 36 - Collection library inspired by Clojure's sequences.
  • PHP Collections264 40 - A simple collections library.
  • PINQ400 19 - A PHP library based on .NET's LINQ (Language Integrated Query).
  • Porter344 23 - Data import abstraction framework.
  • Serializer859 577 - A library for serialising and de-serialising data.
  • Totem70 4 - A library to manage and create data changesets.
  • YaLinqo276 20 - Yet Another LINQ to Objects for PHP.
  • Zend Serializer11 18 - Another library for serialising and de-serialising data (ZF2).

Notifications

Libraries for working with notification software.

  • JoliNotif800 70 - A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc)
  • Nod29 1 - A notification library (e.g., Growl).
  • Notification Pusher982 293 - A standalone library for device push notifications.
  • Notificato207 43 - A library for handling push notifications.
  • Notificator139 23 - A lightweight notification library.
  • Php-pushwoosh46 32 - A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.

Deployment

Libraries for project deployment.

  • Deployer5k 819 - A deployment tool.
  • Envoy995 171 - A tool to run SSH tasks with PHP.
  • Plum88 9 - A deployer library.
  • Pomander216 16 - A deployment tool for PHP applications.
  • Rocketeer3k 268 - A fast and easy deployer for the PHP world.

Internationalisation and Localisation

Libraries for Internationalization (I18n) and Localization (L10n).

  • Aura.Intl70 27 - Provides internationalization (I18N) tools, specifically package-oriented per-locale message translation.
  • Cake I18n13 1 - Message translation and localization for dates and numbers (CP)

Third Party APIs

Libraries for accessing third party APIs.

  • Amazon Web Service SDK3k 987 - The official PHP AWS SDK library.
  • Campaign Monitor - The official Campaign Monitor PHP library.
  • Digital Ocean129 7 - A library to interface with the Digital Ocean API.
  • Dropbox SDK230 113 - The official PHP Dropbox SDK library.
  • Github56 12 - A library to interface with the Github API.
  • Mailgun662 221 The official Mailgun PHP API.
  • PHP Github API1k 513 - Another library to interface with the Github API.
  • S3 Stream Wrapper10 1 - A stream wrapper library for Amazon S3.
  • Stripe1k 487 - The official Stripe PHP library.
  • Twilio986 479 - The official Twilio PHP REST API.
  • Twitter OAuth6 1 - A library to interface with Twitter's OAuth workflow.
  • Twitter REST18 4 - A library to interact with Twitter's REST API.

Extensions

Libraries to help build PHP extensions.

  • PHP CPP - A C++ library for developing PHP extensions.
  • Zephir2k 476 - A compiled language between PHP and C++ for developing PHP extensions.

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

  • Annotations494 136 - An annotations library (part of Doctrine).
  • BotMan2k 243 - A framework agnostic PHP library to build cross-platform chat bots.
  • Cake Utility33 7 - Utility classes such as Inflector, String, Hash, Security and Xml (CP).
  • Chief39 4 - A command bus library.
  • ClassPreloader117 20 - A library for optimising autoloading.
  • Country List3k 1k - A list of all countries with names and ISO 3166-1 codes.
  • Embera150 35 - An Oembed consumer library.
  • Essence399 42 - A library for extracting web media.
  • Flux329 23 - A regular expression building library.
  • Graphviz44 21 - A Graphviz library.
  • Hprose-PHP987 270 - A very newbility RPC Library, support 25+ languages now.
  • JSON Lint258 44 - A JSON lint utility.
  • JSONPCallbackValidator22 4 - A library for validating JSONP callbacks.
  • Jumper26 1 - A remote service executor library.
  • LadyBug132 18 - A dumper library.
  • Lambda PHP15 2 - A Lambda calculus interpreter in PHP.
  • LiteCQRS247 32 - A CQRS (Command Query Responsibility Separation) library.
  • Metrics199 32 - A simple metrics API library.
  • noCAPTCHA156 24 - Helper for Google's noCAPTCHA (reCAPTCHA).
  • Nmap70 36 - A PHP wrapper around Nmap.
  • Opengraph50 7 - An opengraph library.
  • Pagerfanta809 178 - A pagination library.
  • PHP Expression20 2 - A PHP expression language.
  • PHP PassBook187 62 - A PHP library for iOS PassBook.
  • PHP-GPIO98 29 - A library for playing with the Raspberry PI's GPIO pins.
  • PHP-ML3k 424 - A library for Machine Learning in PHP.
  • PHPCR390 43 - A PHP port of the Java Content Repository (JCR).
  • PHPStack - A TCP/IP stack proof of concept written in PHP.
  • print_o65 9 - An object graph visualizer.
  • Procrastinator48 6 - A library for running time consuming tasks.
  • Prooph Service Bus294 41 - Lightweight message bus supporting CQRS and Micro Services
  • RMT352 38 - A library for versioning and releasing software.
  • sabre/vobject8 2 - A library for parsing VCard and iCalendar objects.
  • Slimdump39 7 - An easy dumper tool for MySQL.
  • Spork610 59 - A process forking library.
  • Sslurp48 7 - A library that makes dealing with SSL suck less.
  • SuperClosure689 85 - A library that allows Closures to be serialized.
  • Symfony VarDumper - A variable dumper component (SF).
  • Underscore - A PHP port of the Underscore JS library.
  • Whoops5k 570 - A pretty error handling library.

Software

Software for creating a development environment.

PHP Installation

Tools to help install and manage PHP on your computer.

  • HomeBrew PHP3k 958 - A PHP tap for HomeBrew.
  • HomeBrew - A package manager for OSX.
  • PHP Brew3k 315 - A PHP version manager and installer.
  • PHP Build352 81 - Another PHP version installer.
  • PHP Env334 34 - Another PHP version manager.
  • PHP OSX - A PHP installer for OSX.
  • PHP Switch80 9 - Another version manager.
  • VirtPHP - A tool for creating and managing isolated PHP environments.

Development Environment

Software and tools for creating a sandboxed development environment.

  • Ansible - A radically simple orchestration framework.
  • Phansible - A web tool for building PHP development virtual machines with Ansible.
  • Protobox - Another web tool for building PHP development virtual machines.
  • PuPHPet - A web tool for building PHP development virtual machines.
  • Puppet - A server automation framework and application.
  • Vagrant - A portable development environment utility.
  • Docker - A containerization platform.

Virtual Machines

Alternative PHP virtual machines.

  • Hack - A programming language for HHVM that interoperates seamlessly with PHP.
  • HHVM16k 3k - A Virtual Machine, Runtime and JIT for PHP by Facebook.
  • HippyVM930 62 - Another PHP virtual machine.

Text Editors and IDEs

Text Editors and Integrated Development Environments (IDE) with support for PHP.

Web Applications

Web-based applications and tools.

  • 3V4L - An online PHP & HHVM shell.
  • DBV - A database version control application.
  • PHP Queue397 38 - An application for managing queueing backends.
  • MailCatcher4k 457 - A web tool for capturing and viewing emails.
  • Cachet - The open source status page system.
  • phpBeanstalkdAdmin127 23 - Monitoring and administration interface for Beanstalkd.
  • phpRedisAdmin985 296 - A simple web interface to manage Redis databases.
  • phpPgAdmin259 147 - A web-based administration tool for PostgreSQL.
  • phpMyAdmin3k 2k - A web interface for MySQL/MariaDB.
  • Adminer - Database management in a single PHP file.
  • Grav9k 1k - A modern flat-file CMS.
  • Lychee4k 528 - An easy to use and great looking photo-management-system.

Infrastructure

Infrastructure for providing PHP applications and services.

  • appserver.io - A multithreaded application server for PHP, written in PHP.
  • php-pm4k 219 - A process manager, supercharger and load balancer for PHP applications.

Resources

Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge.

PHP Websites

Useful PHP-related websites.

Other Websites

Useful websites related to web development.

PHP Books

Fantastic PHP-related books.

Other Books

Books related to general computing and web development.

PHP Videos

Fantastic PHP-related videos.

PHP Podcasts

Podcasts with a focus on PHP topics.

PHP Reading

PHP-releated reading materials.

PHP Internals Reading

Reading materials related to the PHP internals or performance.

PHP Magazines

Fantastic PHP-related magazines.