Awesome PHP

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 Podcasts
    • 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 – A framework comprised of individual components (SF).
  • 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.
  • 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.
  • Symfony Components – The components that make Symfony.
  • 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 Symfony components.
  • Slim – Another simple micro framework. 【ongoing】

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. 【 OK 】
  • 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.-【 OK 】
  • HTTPFul – A chainable HTTP client.->【ongoing】
  • 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.

  • (4) ongoing URL content can be converted into table data
  • Goutte – A simple Web scraper. [Ongoing] Event based data collection
  • 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. 【ongoing】
  • 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. [OK]
  • 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 – a filesystem abstraction layer. 【 OK 】
  • 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.
  • UnifiedArchive – A unified reader and writer of compressed archives.

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. 【ongoing】
  • Pimple – A tiny dependency injection container.
  • Symfony DI – A dependency injection container component (SF).

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. 【 OK 】

Testing

Libraries for testing codebases and generating test data.

  • Alice – An expressive fixture for generation library. [OK] Test generated data, dependent on Faker
  • AspectMock – A mocking framework for PHPUnit/Codeception.
  • Atoum – A simple testing library.
  • Behat – A Behaviour Driven Development (BDD) Testing framework. [OK
  • 【 定 义 】 Support multiple types of advertising creation operations
  • DBUnit – A database testing library for PHPUnit. 【 OK 】
  • Faker – A fake Data Generator library.【 OK 】
  • 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.
  • Better Reflection – AST-based reflection library that allows analysis and manipulation of code
  • 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.
  • PHPStan – A PHP Static Analysis Tool.
  • 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.
  • PHPPowerPoint – A library for working with Microsoft PowerPoint Presentations.
  • PHPWord – A library for working with Microsoft Word documents.
  • PHPSpreadsheet – A pure PHP library for reading and writing spreadsheet files (successor of PHPExcel)

Database

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

  • 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.

Migrations

Libraries to help manage database schemas and migrations.

  • Doctrine Migrations – A migration library for Doctrine.
  • Migrations – A migration management library.
  • Phinx – Another database migration library.
  • PHPMig – Another migration management library.
  • Ruckusing – Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite.

NoSQL

Libraries for working with “NoSQL” backends.

  • Monga – A MongoDB abstraction library.
  • MongoQB – A MongoDB query builder library.
  • PHPMongo – A MongoDB ORM.
  • Predis – A feature complete Redis library.

Queue

Libraries for working with event and task queues.

  • Bernard – A multibackend abstraction library.
  • BunnyPHP – A performant pure-PHP AMQP (RabbitMQ) sync and also async (ReactPHP) library.
  • Pheanstalk – A Beanstalkd client library.
  • PHP AMQP – A pure PHP AMQP library.
  • Tarantool Queue – PHP bindings for Tarantool Queue.
  • Thumper – A RabbitMQ pattern library.

Search

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

  • Elastica – A client library for ElasticSearch.
  • ElasticSearch PHP – The official client library for ElasticSearch.
  • Solarium – A client library for Solr.
  • Sphinx Search – Sphinx Search library provides SphinxQL indexing and searching features
  • SphinxQL query builder – A query library for the Sphinx search engine.

Command Line

Libraries related to the command line.

  • Boris – A tiny PHP REPL.
  • Cilex – A micro framework for building command line tools.
  • CLI Menu – A library for building CLI menus.
  • CLIFramework – A command-line framework supports zsh/bash completion generation, subcommands and option constraints. It also powers phpbrew.
  • CLImate – A library for outputting colours and special formatting.
  • Commando – Another simple command line opt parser.
  • Cron Expression – A library to calculate cron run dates.
  • GetOpt – A command line opt parser.
  • GetOptionKit – Another command line opt parser.
  • Hoa Console – Another command line library.
  • OptParse – Another command line opt parser.
  • Pecan – An event-driven, non-blocking shell.
  • PsySH – Another PHP REPL.
  • ShellWrap – A simple command line wrapper library.
  • Shunt – A library for running commands in parallel on multiple remote machines.

Authentication and Authorization

Libraries for implementing user authentication and authorization.

  • Hawk – A Hawk HTTP authentication library.
  • HybridAuth – An open source social sign on library.
  • Json Web Token – Json Tokens to authenticate and transmit information.
  • Lock – A library for implementing Access Control Lists (ACL) systems.
  • OAuth 1.0 Client – An OAuth 1.0 client library.
  • OAuth 2.0 Client – An OAuth 2.0 client library.
  • OAuth2 Server – Another OAuth2 server implementation.
  • OAuth2 Server – An OAuth2 authentication server, resource server and client library.
  • Opauth – A multi-provider authentication framework.
  • PHP oAuthLib – Another OAuth library.
  • Sentinel Social – A library for social network authentication.
  • Sentinel – A framework agnostic authentication & authorisation library.
  • TwitterOAuth – A Twitter OAuth library.
  • TwitterSDK – A fully tested Twitter SDK.

Markup

Libraries for working with markup.

  • Cebe Markdown – An fast and extensible Markdown parser.
  • Ciconia – Another Markdown parser that supports Github flavoured Markdown.
  • CommonMark PHP – A Markdown parser which supports the full CommonMark spec.
  • Decoda – A lightweight markup parser library.
  • Emoji – A library that converts unicode characters and names into emoji images.
  • HTML to Markdown – Converts HTML into Markdown.
  • HTML5 PHP – An HTML5 parser and serializer library.
  • Parsedown – Another Markdown parser.
  • PHP Markdown – A Markdown parser.

Strings

Libraries for parsing and manipulating strings.

  • Agent – A PHP desktop/mobile user agent parser, based on Mobiledetect.
  • ANSI to HTML5 – An ANSI to HTML5 converter library.
  • Color Jizz – A library for manipulating and converting colours.
  • Device Detector – Another library for parsing user agent strings.
  • Hoa String – Another UTF-8 string library.
  • Jieba-PHP – A PHP port of Python’s jieba. Chinese text segmentation for natural language processing.
  • Mobile-Detect – A lightweight PHP class for detecting mobile devices (including tablets).
  • Patchwork UTF-8 – A portable library for working with UTF-8 strings.
  • Slugify – A library to convert strings to slugs.
  • SQL Formatter – A library for formatting SQL statements.
  • Stringy – A string manipulation library with multibyte support.
  • Text – A text manipulation library.
  • UA Parser – A library for parsing user agent strings.
  • URLify – A PHP port of Django’s URLify.js.
  • UUID – A library for generating UUIDs.

Numbers

Libraries for working with numbers.

  • ByteUnits – A library to parse, format and convert byte units in binary and metric systems.
  • LibPhoneNumber for PHP – A PHP implementation of Google’s phone number handling library.
  • Math – A library for working with large numbers.
  • Numbers PHP – A library for working with numbers.
  • PHP Conversion – Another library for converting between units of measure.
  • PHP Units of Measure – A library for converting between units of measure.

Filtering and Validation

Libraries for filtering and validating data.

  • Cake Validation – Another validation library (CP).
  • DMS Filter – An annotation filtering library.
  • Filterus – A simple PHP filtering library.
  • ISO-codes – A library for validating inputs according standards from ISO, International Finance, Public Administrations, GS1, Book Industry, Phone numbers & Zipcodes for many countries
  • MetaYaml – A schema validation library that supports YAML, JSON and XML.
  • Respect Validation – A simple validation library.
  • Upload – A library for handling file uploads and validation.
  • Valitron – 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.
  • Apigility – An API builder built with Zend Framework 2.
  • Drest – A library for exposing Doctrine entities as REST resource endpoints.
  • HAL – A Hypertext Application Language (HAL) builder library.
  • Hateoas – A HATEOAS REST web service library.
  • Negotiation – A content negotiation library.
  • Restler – A lightweight framework to expose PHP methods as RESTful web API.
  • wsdl2phpgenerator – 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.
  • CacheTool – A tool to clear APC/opcode caches from the command line.
  • Cake Cache – A caching library (CP).
  • Doctrine Cache – A caching library.
  • Metaphore – Cache slam defense using a semaphore to prevent dogpile effect.
  • Stash – Another library for caching.
  • Zend Cache – Another caching library (ZF2).

Data Structure and Storage

Libraries that implement data structure or storage techniques.

  • Ardent – A library of data structures.
  • Cake Collection – A simple collections library (CP).
  • Collections – Collections Abstraction library for PHP.
  • Fractal – A library for converting complex data structures to JSON output.
  • Ginq – Another PHP library based on .NET’s LINQ.
  • JsonMapper – A library that maps nested JSON structures onto PHP classes.
  • Knapsack – Collection library inspired by Clojure’s sequences.
  • PHP Collections – A simple collections library.
  • PINQ – A PHP library based on .NET’s LINQ (Language Integrated Query).
  • Porter – Data import abstraction framework.
  • Serializer – A library for serialising and de-serialising data.
  • Totem – A library to manage and create data changesets.
  • YaLinqo – Yet Another LINQ to Objects for PHP.
  • Zend Serializer – Another library for serialising and de-serialising data (ZF2).

Notifications

Libraries for working with notification software.

  • JoliNotif – A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc)
  • Nod – A notification library (e.g., Growl).
  • Notification Pusher – A standalone library for device push notifications.
  • Notificato – A library for handling push notifications.
  • Notificator – A lightweight notification library.
  • Php-pushwoosh – A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.

Deployment

Libraries for project deployment.

  • Deployer – A deployment tool.
  • Envoy – A tool to run SSH tasks with PHP.
  • Plum – A deployer library.
  • Pomander – A deployment tool for PHP applications.
  • Rocketeer – A fast and easy deployer for the PHP world.

Internationalisation and Localisation

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

  • Aura Intl
  • Cake I18n – Message translation and localization for dates and numbers (CP)

Third Party APIs

Libraries for accessing third party APIs.

  • Amazon Web Service SDK – The official PHP AWS SDK library.
  • Campaign Monitor – The official Campaign Monitor PHP library.
  • Digital Ocean – A library to interface with the Digital Ocean API.
  • Dropbox SDK – The official PHP Dropbox SDK library.
  • Github – A library to interface with the Github API.
  • Mailgun The official Mailgun PHP API.
  • PHP Github API – Another library to interface with the Github API.
  • S3 Stream Wrapper – A stream wrapper library for Amazon S3.
  • Stripe – The official Stripe PHP library.
  • Twilio – The official Twilio PHP REST API.
  • Twitter OAuth – A library to interface with Twitter’s OAuth workflow.
  • Twitter REST – 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.
  • Zephir – A compiled language between PHP and C++ for developing PHP extensions.

Miscellaneous

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

  • Annotations – An annotations library (part of Doctrine).
  • Cake Utility – Utility classes such as Inflector, String, Hash, Security and Xml (CP).
  • Chief – A command bus library.
  • ClassPreloader – A library for optimising autoloading.
  • Country List – A list of all countries with names and ISO 3166-1 codes.
  • Embera – An Oembed consumer library.
  • Essence – A library for extracting web media.
  • Flux – A regular expression building library.
  • Graphviz – A Graphviz library.
  • Hprose-PHP – A very newbility RPC Library, support 25+ languages now.
  • JSON Lint – A JSON lint utility.
  • JSONPCallbackValidator – A library for validating JSONP callbacks.
  • Jumper – A remote service executor library.
  • LadyBug – A dumper library.
  • Lambda PHP – A Lambda calculus interpreter in PHP.
  • LiteCQRS – A CQRS (Command Query Responsibility Separation) library.
  • Metrics – A simple metrics API library.
  • noCAPTCHA – Helper for Google’s noCAPTCHA (reCAPTCHA).
  • Nmap – A PHP wrapper around Nmap.
  • Opengraph – An opengraph library.
  • Pagerfanta – A pagination library.
  • PHP Expression – A PHP expression language.
  • PHP PassBook – A PHP library for iOS PassBook.
  • PHP-GPIO – A library for playing with the Raspberry PI’s GPIO pins.
  • PHP-ML – A library for Machine Learning in PHP.
  • PHPCR – A PHP port of the Java Content Repository (JCR).
  • PHPStack – A TCP/IP stack proof of concept written in PHP.
  • print_o – An object graph visualizer.
  • Procrastinator – A library for running time consuming tasks.
  • Prooph Service Bus – Lightweight message bus supporting CQRS and Micro Services
  • RMT – A library for versioning and releasing software.
  • sabre/vobject – A library for parsing VCard and iCalendar objects.
  • Slimdump – An easy dumper tool for MySQL.
  • Spork – A process forking library.
  • Sslurp – A library that makes dealing with SSL suck less.
  • SuperClosure – A library that allows Closures to be serialized.
  • Symfony VarDumper – A variable dumper component (SF).
  • Underscore – A PHP port of the Underscore JS library.
  • Whoops – 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 PHP – A PHP tap for HomeBrew.
  • HomeBrew – A package manager for OSX.
  • PHP Brew – A PHP version manager and installer.
  • PHP Build – Another PHP version installer.
  • PHP Env – Another PHP version manager.
  • PHP OSX – A PHP installer for OSX.
  • PHP Switch – 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.
  • HHVM – A Virtual Machine, Runtime and JIT for PHP by Facebook.
  • HippyVM – Another PHP virtual machine.

Integrated Development Environment

Integrated Development Environments with support for PHP.

  • Eclipse for PHP Developers – A PHP IDE based on the Eclipse platform.
  • Netbeans – An IDE with support for PHP and HTML5.
  • PhpStorm – A commercial PHP IDE.

Web Applications

Web-based applications and tools.

  • 3V4L – An online PHP & HHVM shell.
  • DBV – A database version control application.
  • PHP Queue – An application for managing queueing backends.
  • MailCatcher – A web tool for capturing and viewing emails.
  • Cachet – The open source status page system.
  • phpBeanstalkdAdmin – Monitoring and administration interface for Beanstalkd.
  • phpRedisAdmin – A simple web interface to manage Redis databases.
  • phpPgAdmin – A web-based administration tool for PostgreSQL.
  • phpMyAdmin – A web interface for MySQL/MariaDB.
  • Adminer – Database management in a single PHP file.
  • Grav – A modern flat-file CMS.

Infrastructure

Infrastructure for providing PHP applications and services.

  • appserver.io – A multithreaded application server for PHP, written in PHP.
  • php-pm – 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.

  • Nomad PHP – A online PHP learning resource.
  • PHP Best Practices – A PHP best practice guide.
  • PHP FIG – The PHP Framework Interoperability Group.
  • PHP Mentoring – Peer to peer PHP mentorship organization.
  • PHP School – Open Source Learning for PHP.
  • PHP Security – A guide to PHP security.
  • PHP The Right Way – A PHP best practice quick reference guide.
  • PHP UG – A website to help people locate their nearest PHP user group (UG).
  • PHP Versions – Lists which versions of PHP are available on several popular web hosts.
  • PHP Weekly – A weekly PHP newsletter.
  • PHPTrends – An overview of fastest growing PHP libraries.
  • Securing PHP – A newsletter about PHP security and library recommendations.
  • Seven PHP – A website that interviews members of the PHP community.

Other Websites

Useful websites related to web development.

  • Atlassian Git Tutorials – A series of Git tutorials.
  • Hg Init – A series of Mercurial tutorials.
  • Semantic Versioning – A website explaining semantic versioning.
  • Servers for Hackers – A newsletter about server management.
  • The Open Web Application Security Project (OWASP) – An open software security community.
  • WebSec IO – A web security community resource.

PHP Books

Fantastic PHP-related books.

  • Functional Programming in PHP – This book will show you how to leverage these new PHP5.3+ features by understanding functional programming principles
  • Grumpy PHPUnit – A book about unit testing with PHPUnit by Chris Hartjes.
  • Mastering Object-Orientated PHP – A book about object-orientated PHP by Brandon Savage.
  • Modern PHP New Features and Good Practices – A book about new PHP features and best practices by Josh Lockhart.
  • Modernising Legacy Applications in PHP – A book about modernising legacy PHP applications by Paul M. Jones.
  • PHP 7 Upgrade Guide – An ebook covering all of the features and changes in PHP 7 by Colin O’Dell.
  • PHP Pandas – A book about learning to write PHP by Dayle Rees.
  • Scaling PHP Applications – An ebook about scaling PHP applications by Steve Corona.
  • Securing PHP: Core Concepts – A book about common security terms and practices for PHP by Chris Cornutt.
  • Signaling PHP – A book about catching PCNTL signals in CLI scripts by Cal Evans.
  • The Grumpy Programmer’s Guide to Building Testable PHP Applications – A book about building testing PHP applications by Chris Hartjes.
  • XML Parsing with PHP – This book covers parsing and validating XML documents, leveraging XPath expressions, and working with namespaces as well as how to create and modify XML files programmatically.
  • Domain-Driven Design in PHP – Real examples written in PHP showcasing DDD Architectural Styles.

Other Books

Books related to general computing and web development.

  • Elasticsearch: The Definitive Guide – A guide to working with Elasticsearch by Clinton Gormley and Zachary Tong.
  • Eloquent JavaScript – A book about JavaScript programming by Marijn Haverbeke.
  • Head First Design Patterns – A book that expains software design patterns.
  • Pro Git – A book about Git by Scott Chacon and Ben Straub.
  • The Linux Command Line – A book about the Linux command line by William Shotts.
  • The Tangled Web — Securing Web Applications – A book about Securing Web Applications by Michal Zalewski.
  • Understanding Computation – A book about computation theory by Tom Stuart.
  • Vagrant Cookbook – A book about creating Vagrant environments by Erika Heidi.

PHP Videos

Fantastic PHP-related videos.

  • Nomad PHP Lightning Talks – 10 to 15 minute Lightning Talks by PHP community members.
  • PHP UK Conference – A collection of videos from the PHP UK Conference.
  • Programming with Anthony – A video series by Anthony Ferrara.
  • Taking PHP Seriously – A talk outlining PHP’s strengths by Keith Adams of Facebook.

PHP Podcasts

Podcasts with a main focus on PHP topics

  • PHP Town Hall – A casual PHP podcast by Ben Edmunds and Phil Sturgeon.
  • Voices of the ElePHPant Interviews with the people that make the PHP community special.
  • PHP Roundtable – The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about.

PHP Reading

PHP-releated reading materials.

  • Composer Primer – A Composer primer.
  • Composer Stability Flags – An article about Composer stability flags.
  • Composer Versioning – An article about Composer versioning.
  • Create Your Own PHP Framework – A series of articles on how to make your own PHP framework by Fabien Potencier.
  • Don’t Worry About BREACH – An article about the BREACH hack and CSRF tokens.
  • On PHP 5.3, Lambda Functions and Closures – An article about lambda functions and closures.
  • PHP Is Much Better Than You Think – An article about the PHP language and ecosystem.
  • PHP Package Checklist – A checklist for successful PHP package development.
  • PHP Sucks! But I Like It! – An article about the pros and cons of PHP.
  • Preventing CSRF Attacks – An article on preventing CSRF attacks.
  • Seven Ways to Screw Up BCrypt – An article about correct BCrypt implementation.
  • Use Env – An article about using the unix environment helper.

PHP Internals Reading

Reading materials related to the PHP internals or performance.

  • Disproving the Single Quotes Myth – An article about performance of single and double quoted strings.
  • How Big Are PHP Arrays (And Values) Really? – An article about array internals.
  • How Foreach Works – A detailed StackOverflow answer about foreach.
  • How Long is a Piece of String – An article about string internals.
  • PHP Evaluation Order – An article about evaluation order in PHP.
  • PHP Internals Book – An online book about PHP internals, written by three core developers.
  • PHP RFCs – The home of PHP RFCs (Request for Comments).
  • Print vs Echo, Which One is Faster? – An article about print and echo performance.
  • The PHP Ternary Operator. Fast or Not? – An article ternary performance.
  • Understanding OpCodes – An article about opcodes.
  • When Does Foreach Copy? – An article about the internals of foreach.
  • Why Objects (Usually) Use Less Memory Than Arrays – An article about object and array internals.
  • You’re Being Lied To – An article about internal ZVALs.
  • Collecting Garbage: 1 2 3 – A series about the PHP garbage collection internals.
  • PHP Source Code for Developers: 1 2 3 4 – A series about the PHP source code.

PHP Magazines

Fantastic PHP-related magazines.

  • php[architect] – A monthly magazine dedicated to PHP.