A Comprehensive Collection of PHP Resources Curated by Overseas Programmers

A PHP resource list started and maintained by ziadoz on Github, covering: libraries, frameworks, templates, security, code analysis, logging, third-party libraries, configuration tools, web tools, books, e-books, classic blog posts and much more.


Dependency Management Libraries for dependency and package management

Other Dependency Management

Other related dependency management

  • Satis:A static Composer repository generator
  • Composition:A library for checking the Composer environment at runtime
  • Version:A semantic version parsing and comparison library
  • NameSpacer - A library that converts underscores to namespaces
  • Patch Installer - A library that installs patches using Composer
  • Composer Checker - A tool that validates Composer configuration

Frameworks

Web development frameworks

  • Symfony2 - A framework built from standalone components
  • Zend Framework 2 - Another framework built from standalone components
  • Laravel 4 - Another PHP framework
  • Aura PHP - A framework of standalone components
  • Yii2 - Another PHP framework
  • Nette - Another framework built from individual components
  • PPI Framework 2 - An interoperability framework
  • Phalcon - A framework implemented through a C extension

Other Frameworks

Other web development frameworks

  • Symfony CMF - A content management framework for building custom CMSs
  • Knp RAD Bundle - A rapid application development (RAD) bundle for Symfony 2

Framework Components

Standalone components from web development frameworks

Micro Frameworks

Micro frameworks and routers

  • Silex - A micro framework built on Symfony2 components
  • Slim - Another simple micro framework
  • Bullet PHP - A micro framework for building REST APIs
  • Fast Route - A fast routing library
  • Pux - Another fast routing library

Other Micro Frameworks

Other related micro frameworks and routers

Templating

Libraries and tools for templating and lexing

  • Twig - A comprehensive template language
  • Twig Cache Extension - A template fragment caching library for Twig
  • Mustache - A PHP implementation of the Mustache template language
  • Phly Mustache - Another PHP implementation of the Mustache template language
  • MtHaml - A PHP implementation of the HAML template language
  • PHPTAL - A PHP implementation of the TAL template language
  • Plates - A native PHP templating library
  • Lex - A lightweight template parser

Static Site Generators

Pre-processing tools that generate the content of web pages.

  • Sculpin - A tool that converts Markdown and Twig into static HTML
  • Phrozn - Another tool that converts Textile, Markdown and Twig into HTML

HTTP

Libraries for HTTP and website scraping

  • Guzzle - A comprehensive HTTP client
  • Buzz - Another HTTP client
  • Requests - A simple HTTP library
  • HTTPFul - A chained HTTP library
  • Goutte - A simple web scraper
  • PHP VCR - A library for recording and replaying HTTP requests

URL

Libraries for parsing URLs

Email

Libraries for sending and parsing email

Files

Libraries for file handling and MIME type detection

  • Gaufrette - A filesystem abstraction layer
  • Flysystem - Another filesystem abstraction layer
  • Canal - A library for detecting 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 - A resource tracking library
  • PHP File Locator - A library for locating files in large projects
  • PHP FFmpeg - A library that wraps FFmpeg for video.
  • CSV - A CSV data manipulation library

Streams

Libraries for working with streams

  • Streamer - An object-oriented stream wrapping library

Dependency Injection

Libraries that implement the dependency injection design pattern

  • Pimple - A small dependency injection container
  • Auryn - Another dependency injection container
  • Orno Di - Another scalable dependency injection container
  • PHP DI - A dependency injection implementation that uses annotations
  • Acclimate - A common interface for dependency injection containers and service locators

Imagery

Libraries for manipulating images

Testing

Libraries for testing code and generating test data

  • PHPUnit - A unit testing framework
  • DBUnit - A database testing library for PHPUnit
  • ParaTest - A parallel testing library for PHPUnit
  • PHPSpec - A unit testing library based on specification-by-example design
  • Codeception - A full-stack testing framework
  • AspectMock - A mocking framework for PHPUnit/Codeception.
  • Atoum - A simple testing library
  • Mockery - A mock object library for testing
  • Phake - Another mock object library for testing
  • Prophecy - A highly opinionated mocking framework
  • Faker - A fake data generation library
  • Samsui - Another fake data generation library
  • Alice - An expressive fixture generation library
  • Behat - A behaviour-driven development (BDD) testing framework
  • Pho - A behaviour-driven development testing framework
  • Mink - Web acceptance testing
  • HTTP Mock - A library for mocking HTTP requests in unit tests
  • VFS Stream - A virtual filesystem stream wrapper for testing
  • VFS - Another virtual filesystem for testing
  • Locust - A modern load testing library written in Python

Continuous Integration

Libraries and applications for continuous integration

  • Travis CI - A continuous integration platform
  • PHPCI - An open source continuous integration platform for PHP
  • Sismo - A continuous testing service library
  • Jenkins A continuous integration platform with PHP support
  • JoliCi - A continuous integration client written in PHP and powered by Docker

Documentation

Libraries for generating project documentation

  • Sami - An API documentation generator
  • APIGen - Another API documentation generator
  • PHP Documentor 2 - An API documentation generator
  • phpDox - A documentation generator for PHP projects (not limited to API documentation)

Security

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

  • HTML Purifier - A standards-compliant HTML filter
  • RandomLib - A library for generating random numbers and strings
  • True Random - A library that generates random numbers using www.random.org
  • SecurityMultiTool - A PHP security library
  • PHPSecLib - A pure PHP secure communications library
  • TCrypto - A simple key-value encrypted storage library
  • PHP IDS - A structured PHP security layer
  • PHP SSH - An experimental object-oriented SSH wrapper library
  • IniScan - A library that scans PHP INI files for security
  • SensioLabs Security Check - A web tool that provides security advisories for Composer dependencies
  • Zed - An integrated web application penetration testing tool

Passwords

Libraries and tools for handling and storing passwords

  • Password Compat - A compatibility library for the new PHP 5.5 password functions
  • phpass - A portable password hashing framework
  • PHP Password Lib - A library for generating and validating passwords
  • Password Policy - A password policy library for PHP and JavaScript
  • Password Validator - A library for validating and upgrading password hashes
  • Zxcvbn PHP - A realistic PHP password strength estimation library based on Zxcvbn JS

Code Analysis

Libraries and tools for analysing, parsing and manipulating codebases

  • PHP Parser - A PHP parser written in PHP
  • PHPPHP - A PHP virtual machine implemented in PHP
  • PHPSandbox - A PHP sandbox environment
  • Dissect - A collection of tools for lexical and grammatical analysis
  • PHP Mess Detector - A library that scans for code defects, suboptimal code, unused parameters and more.
  • PHP Code Sniffer - A library that detects violations of PHP, CSS and JS coding standards
  • PHPCPD - A library that detects copy and paste code
  • PHP Analyser - A library for analysing PHP code to find defects and errors
  • PHP CS Fixer - A coding standard library
  • PHP Manipulator - A library for analysing and modifying PHP source code
  • PHP Metrics - A static measurement library
  • PHP Refactoring Browser - A command-line suite of tools for refactoring PHP code
  • UBench - A simple micro benchmark library
  • Athletic - An annotation-based benchmarking library
  • Mondrian - A code analysis tool that uses graph theory
  • Scrutinizer - A web tool that reviews PHP code
  • PHPLOC - A tool for quickly measuring the size of a PHP project
  • xHprof - Another PHP profiling tool
  • PHPCheckstyle - A tool that helps you follow specific coding conventions.

Debugging

Libraries and tools for debugging code

  • xDebug - A tool for debugging and profiling PHP
  • PHP Debug Bar - A debugging toolbar
  • PHP Console - A web debugging console
  • Barbushin PHP Console - Another web debugging console that uses Google Chrome
  • PHPDBG - An interactive PHP debugger
  • Tracy - A simple library for error detection, logging and time measurement

Build Tools

Project build and automation tools

  • Go - A simple PHP build tool
  • Bob - A simple project automation tool
  • Phake - A PHP clone library
  • Box - A tool for building PHAR files
  • Phing - A PHP project build system inspired by Apache Ant

Task Runners

Libraries for automatically running tasks

  • Task - A pure PHP task runner inspired by Grunt and Gulp
  • Robo - A PHP task runner with object-oriented configuration
  • Bldr - A PHP task runner built on the Symfony components

Tools for building navigation structures

Asset Management

Tools for managing, compressing and minifying website assets

  • Assetic - An asset management pipeline library
  • Pipe - Another asset management pipeline library
  • Munee - An asset optimisation library
  • JShrink - A JavaScript minification library
  • Puli - A library for detecting the absolute paths of assets

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

Date and Time

Libraries for working with dates and times

  • Carbon - A simple date and time API extension
  • ExpressiveDate - Another date and time API extension
  • CalendR - A calendar management library

Event

Libraries for time-driven or non-blocking event loop implementations

Logging

Libraries for generating and handling log files

  • Monolog - A comprehensive logging tool
  • KLogger - An easy-to-use PSR-3 compliant logging class

E-commerce

Libraries and applications for handling payments and building online e-commerce stores

  • OmniPay - A framework-agnostic multi-gateway payment processing library
  • Payum - A payment abstraction library
  • Sylius - An open source e-commerce solution
  • Thelia - Another open source e-commerce solution
  • Money - A PHP implementation of the Fowler money pattern
  • Sebastian Money - Another library for working with monetary values
  • Swap - An exchange rate library

PDF

Libraries and software for working with PDF files

  • Snappy - A PDF and image generation library
  • WKHTMLToPDF - A tool that converts HTML to PDF

Database

Libraries for database interaction using object-relational mapping (ORM) or data mapping techniques

  • Doctrine - A comprehensive DBAL and ORM
  • Doctrine Extensions - A collection of Doctrine behavioural extensions
  • Propel - A fast ORM, migration library and query builder
  • Eloquent - The Laravel 4 ORM
  • Baum - A nested set implementation for Eloquent
  • Spot2 - A MySQL ORM mapper
  • RedBean - A lightweight, low-configuration ORM
  • Pomm - A PostgreSQL object model manager
  • ProxyManager - A set of tools for generating proxy objects for data mappers

Migrations

Libraries that help manage database schemas and migrations

NoSQL

Libraries for working with NoSQL backends

  • MongoQB - A MongoDB query building library
  • Monga - A MongoDB abstraction library
  • Predis - A fully featured Redis library

Queue

Libraries for working with event 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

Libraries and software for indexing and performing queries on data

Command Line

Libraries for building command-line tools

  • Boris - A tiny PHP REPL
  • PsySH - Another tiny PHP REPL
  • Pecan - An event-driven and non-blocking kernel
  • GetOpt - A command-line option parser
  • OptParse - Another command-line option parser
  • Commando - Another simple command-line option parser
  • GetOptionKit - Another command-line option parser
  • Cron Expression - A library for calculating cron run dates
  • ShellWrap - A simple command-line wrapping library
  • Hoa Console - Another command-line library
  • Shunt - A library for running commands in parallel on multiple remote machines
  • Cilex - A micro framework for building command-line tools

Authentication

Libraries that implement authentication

  • Sentry - A combined authentication and authorisation framework library
  • Sentry Social - A social network authentication library
  • Opauth - A multi-channel authentication framework
  • OAuth2 - An OAuth2 authentication service, resource server and client library
  • OAuth2 Server - Another 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

Markup

Libraries for working with markup

Strings

Libraries for parsing and manipulating strings

  • ANSI to HTML5 - A library that converts ANSI to HTML5
  • Patchwork UTF-8 - A portable library for working with UTF-8 strings
  • Hoa String - Another UTF-8 string library
  • Stringy - A multibyte-aware string manipulation library
  • Color Jizz - A library for manipulating and converting colors
  • UUID - A library for generating UUIDs
  • Slugify - A library that converts strings to slugs
  • Urlify - A PHP port of Django’s URLify.js
  • Text - A text manipulation library
  • SQL Formatter - A library for formatting SQL statements
  • UA Parser - A library for parsing user agent strings

Numbers

Libraries for working with numbers

  • Numbers PHP - A library for working with numbers
  • Math - A library for working with large numbers
  • ByteUnits - A library for parsing, formatting and converting byte units in binary and metric systems
  • PHP Units of Measure - A library for converting units of measure
  • PHP Conversion - Another library for converting units of measure
  • LibPhoneNumber for PHP - A PHP implementation of Google’s phone number handling library

Filtering and Validation

Libraries for filtering and validating data

  • Filterus - A simple PHP filtering library
  • Respect Validate - A simple validation library
  • Valitron - Another validation library
  • Upload - A library for handling and validating file uploads
  • DMS Filter - An annotation filtering library
  • MetaYaml - A schema validation library that supports YAML, JSON and XML
  • ISO-codes - A library that validates various ISO and ZIP codes (IBAN, SWIFT/BIC, BBAN, VAT, SSN, UKNIN)

REST and API

Libraries and web tools for developing RESTful APIs

  • Apigility - An API builder built on Zend Framework 2
  • Hateoas - A HATEOAS REST web service library
  • HAL - A Hypertext Application Language (HAL) building library
  • Negotiation - A content negotiation library
  • Drest - A library that exposes Doctrine entities as REST resource nodes
  • Restler - A lightweight framework that exposes PHP methods as RESTful web APIs

Caching

Libraries for caching data

Data Structures and Storage

Libraries that implement data structures and storage techniques

  • Ardent - A data structure library
  • PHP Collections - A simple collections library
  • Serializer - A library for serialising and deserialising data
  • PHP Object Storage - An object storage library
  • Fractal - A library that converts complex data structures into JSON output
  • Totem - A library for managing and creating data exchange sets
  • PINQ - A real-time LINQ library for PHP
  • JsonMapper - A library that maps nested JSON structures to PHP classes

Notifications

Libraries for working with notification software

  • Nod - A notification library (Growl and others)
  • Notificato - A library for handling push notifications
  • Notification Pusher - A standalone library for device push notifications
  • Notificator - A lightweight notification library

Deployment

Project deployment libraries

  • Pomander - A PHP application deployment tool
  • Rocketeer - A fast and simple deployer for the PHP world
  • Envoy - A tool for running SSH tasks using PHP
  • Plum - A deployment library

Internationalisation and Localisation

Internationalisation (I18n) and localisation (L10n)

Third Party APIs

Libraries for accessing third-party APIs

Extensions

Libraries that 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

Miscellaneous

Useful libraries and tools that don’t fit into the categories above

  • Spork - A library for handling forking
  • JSON Lint - A JSON lint tool
  • JSONPCallbackValidator - A library for validating JSONP callbacks
  • Pagerfanta - A pagination library
  • Ruler - A simple stateless production rules engine.
  • LiteCQRS - A CQRS (Command Query Responsibility Segregation) library
  • Sslurp - A library that makes working with SSL less painful
  • PHP Option An optional type library
  • Metrics - A simple metrics API library
  • Sabre VObject - A library for parsing VCard and iCalendar objects
  • Annotations - An annotations library (part of Doctrine)
  • Whoops - A nice error handling library
  • Finite - A simple PHP finite state machine
  • LadyBug - A dumper library
  • Procrastinator - A library for running time-consuming tasks
  • Compose - A function composition library
  • SuperClosure - A library that allows closures to be serialised
  • Jumper - A remote service execution library
  • Underscore - A PHP implementation of the Underscore JS library
  • PHP PassBook - An iOS PassBook PHP library
  • PHP Expression - A PHP expression language
  • RMT - A library for versioning and releasing software
  • Wise - A configuration manager
  • Opengraph - An open graph library
  • Essence - A library for extracting web media
  • Embera - An Oembed consumer library
  • Graphviz - A graph library
  • Monad PHP A simple Monad library
  • Flux - A regular expression building library
  • Patchwork - A library for redefining user functions
  • Galapagos - Language transformation evolution
  • Design Patterns PHP - A repository of design patterns implemented in PHP
  • PHPCR - A PHP implementation of the Java Content Repository (JCR)
  • Functional PHP - A functional programming library
  • ClassPreloader - A library for optimising autoloading
  • Lib Country - A library of country and region data
  • Lib Accessor - A library that simplifies access
  • PHPStack - A TCP/IP stack concept written in PHP
  • Nmap - An Nmap PHP wrapper
  • Code Mover - A library for moving code
  • Iter - A library that provides iteration primitives using generators
  • Lambda PHP - A lambda calculus interpreter in PHP
  • Country List - A list of all countries with their names and ISO 3166-1 codes
  • PHP-GPIO - A library for the GPIO pins of the Raspberry PI
  • print_o - An object graph visualiser
  • Alias - A class alias library

Software

Software for creating a development environment

PHP Installation

Tools that help you install and manage PHP on your computer

  • HomeBrew - An OSX package manager
  • HomeBrew PHP - A PHP tap for HomeBrew
  • PHP OSX - A PHP installer for OSX
  • PHP Brew - A PHP version manager and installer
  • PHP Env - Another PHP version manager
  • PHP Switch - Another PHP version manager
  • PHP Build - Another PHP version installer
  • VirtPHP - A tool for creating and managing isolated PHP environments

Development Environment

Software and tools for creating sandboxed development environments

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

Virtual Machines

Related PHP virtual machines

  • HipHop PHP - A PHP virtual machine, runtime and JIT from Facebook
  • HippyVM - Another PHP virtual machine
  • Hack - A programming language that HHVM works with seamlessly

IDE

Integrated development environments that support PHP

Web Applications

Web-based applications and tools

  • 3V4L An online PHP shell
  • DBV - A database version control application
  • PHP Queue - An application for managing backend queues
  • Composer as a Service - A tool for downloading Composer packages as a zip file
  • MailCatcher - A web tool for catching and viewing email

Resources

All kinds of resources to improve your PHP development skills and knowledge, such as books, websites and articles

PHP Websites

Useful PHP-related websites

Other Websites

Useful web development-related websites

PHP Books

Excellent PHP-related books

Other Books

Books related to computing and web development in general

PHP Videos

Excellent PHP-related videos

PHP Reading

PHP-related reading material

PHP Internals Reading

Reading material about the internals or performance of PHP