awesome-php/README.md
Sebastian Utbult 767efa612b
Update README.md
Added bramus/router to the list of routers.
2023-12-19 12:56:09 +01:00

65 KiB

Awesome PHP

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.

Dependency Management Extras

Extras related to dependency management.

  • Composed - A library to parse your project's Composer environment at runtime.
  • Composer Merge Plugin - A composer plugin to merge several composer.json files.
  • Composer Normalize - A plugin for normalising composer.json files.
  • Composer Patches - A plugin for Composer to apply patches.
  • Composer Require Checker - CLI tool to analyze composer dependencies and verify that no unknown symbols are used in the sources of a package.
  • Composer Unused - A CLI Tool to scan for unused composer packages.
  • Prestissimo - A composer plugin which enables parallel install process.
  • Repman - A private PHP package repository manager and Packagist proxy.
  • 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.

  • CakePHP - A rapid application development framework.
  • Laminas - A framework comprised of individual components (previously Zend Framework).
  • Laravel - A web application framework with expressive, elegant syntax.
  • Nette - A web framework comprised of mature components.
  • Phalcon - A framework implemented as a C extension.
  • Spiral - A high performance PHP/Go framework.
  • Symfony - A set of reusable components and a web framework.
  • Yii2 - A fast, secure, and efficient web framework.

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.
  • LaravelS - Glue for using Swoole in Laravel or Lumen.
  • Symfony CMF - A Content Management Framework to create custom CMS.
  • Livewire - A full-stack framework for Laravel that takes the pain out of building dynamic UIs.

Content Management Systems (CMS)

Tools for managing digital content.

  • Backdrop - A CMS targeting small-to-medium sized business and non-profits (a fork of Drupal).
  • Concrete5 - A CMS targeting users with a minimum of technical skills.
  • CraftCMS - A flexible, user-friendly CMS for creating custom digital experiences on the web and beyond.
  • Drupal - An enterprise level CMS.
  • Grav - A modern flat-file CMS.
  • Joomla - Another leading CMS.
  • Kirby - A flat-file CMS that adapts to any project.
  • Magento - The most popular ecommerce platform.
  • Moodle - An open-source learning platform.
  • Pico CMS - A stupidly simple, blazing fast, flat file CMS.
  • Statamic - Build beautiful, easy to manage websites.
  • WordPress - A blogging platform and CMS.

Components

Standalone components from web development frameworks and development groups.

Micro Frameworks

Micro frameworks and routers.

  • Laravel-Zero - A micro-framework for console applications.
  • Lumen - A micro-framework by Laravel.
  • Mezzio - A micro-framework by Laminas.
  • Radar - An Action-Domain-Responder implementation for PHP.
  • Silly - A micro-framework for CLI applications.
  • Slim - Another simple micro framework.

Micro Framework Extras

Extras related to micro frameworks and routers.

Routers

Libraries for handling application routing.

  • Aura.Router - A full-featured routing library.
  • Router - Simple PHP router.
  • 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.

  • Latte - The safest and truly intuitive templates for PHP.
  • MtHaml - A PHP implementation of the HAML template language.
  • Mustache - A 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.

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.
  • Jigsaw - Simple static sites with Laravel's Blade.
  • 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.
  • HTTPlug - An HTTP client abstraction without binding to a specific implementation.
  • Nyholm PSR-7 - A super lightweight PSR-7 implementation. Very strict and very fast.
  • 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.
  • Symfony HTTP Client - A component to fetch HTTP resources synchronously or asynchronously.
  • Laminas Diactoros - PSR-7 HTTP Message implementation.

Scraping

Libraries for scraping websites.

  • Chrome PHP - Instrument headless Chrome/Chromium instances from PHP.
  • DiDOM - A super fast HTML scrapper and parser.
  • Embed - An information extractor from any web service or page.
  • Goutte - A simple web scraper.
  • Symfony Panther - A browser testing and web crawling library for PHP and Symfony.
  • PHP Spider - A configurable and extensible PHP web spider.

Middlewares

Libraries for building application using middlewares.

URL

Libraries for parsing URLs.

  • PHP Domain Parser - A domain suffix parser library.
  • Purl - A URL manipulation library.
  • sabre/uri - A functional URI manipulation library.
  • Uri - Another URL manipulation library.

Email

Libraries for sending and parsing email.

Files

Libraries for file manipulation and MIME type detection.

  • CSV - A CSV data manipulation library.
  • Flysystem - Abstraction for local and remote filesystems.
  • Gaufrette - A filesystem abstraction layer.
  • PHP FFmpeg - A wrapper for the FFmpeg video library.
  • UnifiedArchive - A unified reader and writer of compressed archives.

Streams

Libraries for working with streams.

  • ByteStream - An asynchronous stream abstraction.
  • Streamer - A simple object-orientated stream wrapper library.

Dependency Injection

Libraries that implement the dependency injection design pattern.

  • Aura.Di - 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.
  • Auryn - A recursive dependency injector.
  • Container - Another flexible dependency injection container.
  • Disco - 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 DI - A dependency injection container component.

Imagery

Libraries for manipulating images.

Testing

Libraries for testing codebases and generating test data.

  • Alice - An expressive fixture generation library.
  • AspectMock - A mocking framework for PHPUnit/Codeception.
  • Atoum - A simple testing library.
  • Behat - A behaviour driven development (BDD) testing framework.
  • Codeception - A full stack testing framework.
  • Faker - A fake data generator library.
  • Foundry - A fixture factory generation library for Doctrine.
  • HTTP Mock - A library for mocking HTTP requests in unit tests.
  • Infection - An AST-based PHP Mutation testing framework.
  • 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.
  • Pest - A testing framework with a focus on simplicity.
  • 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()).
  • PHP MySQL Engine - A MySQL engine written in pure PHP.
  • 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.
  • VFS Stream - A virtual filesystem stream wrapper 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 continuous 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.
  • Travis CI - A continuous integration platform.
  • Setup PHP - A GitHub Action for PHP.

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

Security

Libraries for generating secure random numbers, encrypting data and scanning and testing 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.
  • PHPGGC - A library of PHP unserializable payloads along with a tool to generate them.
  • PHP Encryption - Secure PHP Encryption Library.
  • PHP SSH - An experimental object orientated SSH wrapper library.
  • PHPSecLib - A pure PHP secure communications library.
  • random_compat - PHP 5.x support for random_bytes() and random_int()
  • RandomLib - A library for generating random numbers and strings.
  • Symfony Security Monitoring - A web tool to check your Composer dependencies for security advisories, previously known as "SensioLabs Security Check".
  • SQLMap - An automatic SQL injection and database takeover tool.
  • TCrypto - A simple encrypted key-value storage library.
  • VAddy - A continuous security testing platform for web applications.
  • Zap - 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.

Code Quality

Libraries for managing code quality, formatting and linting.

  • CaptainHook - An easy-to-use and flexible Git hook library.
  • PHP CodeSniffer - A library that detects PHP, CSS and JS coding standard violations.
  • PHP CS Fixer - A coding standards fixer library.
  • PHP Mess Detector - A library that scans code for bugs, sub-optimal code, unused parameters and more.
  • PHPCheckstyle - A tool to help adhere to certain coding conventions.
  • PHPCPD - A library that detects copied and pasted code.

Static Analysis

Libraries for performing static analysis of PHP code.

  • Exakat - A static analysis engine for PHP.
  • Deptrac - A static code analysis tool that helps to enforce rules for dependencies between software layers.
  • Mondrian - A code analysis tool using Graph Theory.
  • phan - A static analyzer based on PHP 7+ and the php-ast extension.
  • PHP Architecture Tester - Easy to use architecture testing tool for PHP.
  • PHPCompatibility - A PHP compatibility checker for PHP CodeSniffer.
  • PhpDependencyAnalysis - A tool to create customisable dependency graphs.
  • PHP Metrics - A static metric library.
  • PHP Migration - A static analyzer for PHP version migration.
  • PHPStan - A PHP Static Analysis Tool.
  • Psalm - A static analysis tool for finding errors in PHP applications.

Architectural

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

  • Design Patterns PHP - A repository of software patterns implemented in PHP.
  • Finite - A simple PHP finite state machine.
  • Functional PHP - A functional programming library.
  • Iter - A library that provides iteration primitives using generators.
  • Patchwork - A library for redefining userland functions.
  • Pipeline - A pipeline pattern implementation.
  • Porter - Data import abstraction library for consuming Web APIs and other data sources.
  • RulerZ - A powerful rule engine and implementation of the Specification pattern.

Debugging and Profiling

Libraries and tools for debugging errors 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.
  • Metrics - A simple metrics API library.
  • PCOV - A self contained code coverage compatible driver.
  • PHP Console - A web debugging console.
  • PHP Debug Bar - A debugging toolbar.
  • PHPBench - A benchmarking Framework.
  • PHPSpy - A low-overhead sampling profiler.
  • Symfony VarDumper - A variable dumper component.
  • Tideways.io - Monitoring and profiling tool.
  • Tracy - A simple error detection, logging and time measuring library.
  • Whoops - A pretty error handling 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.

  • Box - A utility to build PHAR files.
  • Construct - A PHP project/micro-package generator.
  • Phing - A PHP project build system inspired by Apache Ant.
  • RMT - A library for versioning and releasing software.

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.

  • KnpMenu - A menu library.
  • Menu - A flexible menu library with a fluent interface.

Asset Management

Tools for managing, compressing and minifying website assets.

  • JShrink - A JavaScript minifier library.
  • Laravel Mix - An elegant wrapper around Webpack for the 80% use case.
  • Symfony Asset - Manages URL generation and versioning of web assets.
  • Symfony Encore - A simple but powerful API for processing and compiling assets built around Webpack.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

  • Country List - A list of all countries with names and ISO 3166-1 codes.
  • 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.
  • Moment.php - Moment.js inspired PHP DateTime handler with i18n support.
  • Yasumi - An library to help you calculate the dates and names of holidays.

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.
  • CakePHP Event - An event dispatcher library.
  • Elephant.io - Yet another web socket library.
  • Evenement - An event dispatcher library.
  • Event - An event library with a focus on domain events.
  • Pawl - An asynchronous web socket client.
  • Prooph Event Store - An event source component to persist event messages
  • PHP Defer - Golang's defer statement for PHP.
  • Ratchet - A web socket library.
  • ReactPHP - An event driven non-blocking I/O library.
  • RxPHP - A reactive extension library.
  • Swoole - An event-driven asynchronous and concurrent networking communication framework with high performance for PHP written in C.
  • Workerman - An event driven non-blocking I/O library.

Logging

Libraries for generating and working with log files.

  • 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.
  • Brick\Money - A money library for PHP, with support for contexts, cash roundings, currency conversion.
  • 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.

  • 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).
  • Spout - Read and write spreadsheet files (CSV, XLSX and ODS), in a fast and scalable way .

Database

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

  • Atlas.Orm - A data mapper implementation for your persistence model in PHP.
  • Aura.Sql - Provides an extension to the native PDO along with a profiler and connection locator.
  • Aura.SqlQuery - Independent query builders for MySQL, PostgreSQL, SQLite, and Microsoft SQL Server.
  • Baum - A nested set implementation for Eloquent.
  • CakePHP ORM - Object-Relational Mapper, implemented using the DataMapper pattern.
  • Cycle ORM - PHP DataMapper, ORM.
  • Doctrine Extensions - A collection of Doctrine behavioural extensions.
  • Doctrine - A comprehensive DBAL and ORM.
  • Laravel Eloquent - A simple ORM.
  • Pomm - An Object Model Manager for PostgreSQL.
  • ProxyManager - A set of utilities to generate proxy objects for data mappers.
  • RedBean - A lightweight, configuration-less ORM.
  • Slimdump - An easy dumper tool for MySQL.
  • 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.

  • 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.
  • Enqueue - A message queue packages for PHP that supports RabbitMQ, AMQP, STOMP, Amazon SQS, Redis and Doctrine transports.

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

Command Line

Libraries related to the command line.

  • Aura.Cli - 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.
  • 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.
  • PsySH - Another PHP REPL.
  • ShellWrap - A simple command line wrapper library.

Authentication and Authorization

Libraries for implementing user authentication and authorization.

  • Aura.Auth - Provides authentication functionality and session tracking using various adapters.
  • SocialConnect Auth - An open source social sign (OAuth1\OAuth2\OpenID\OpenIDConnect).
  • Json Web Token - Json Tokens to authenticate and transmit information.
  • 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.
  • Paseto - Platform-Agnostic Security Tokens.
  • 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.

Markup and CSS

*Libraries for working with markup and CSS formats.

JSON

Libraries for working with JSON.

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.
  • 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.
  • Portable ASCII - A library to convert strings to ascii.
  • Portable UTF-8 - A string manipulation library with UTF-8 safe replacement methods.
  • Slugify - A library to convert strings to slugs.
  • SQL Formatter - A library for formatting SQL statements.
  • Stringy - A string manipulation library with multibyte support.
  • 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.

  • Brick\Math - A library providing large number support: BigInteger, BigDecimal and BigRational.
  • ByteUnits - A library to parse, format and convert byte units in binary and metric systems.
  • DecimalObject - A value object to handle decimals/floats easily and more precisely.
  • IP - An immutable value object for working with IPv4 and IPv6 addresses.
  • LibPhoneNumber for PHP - A PHP implementation of Google's phone number handling library.
  • PHP Conversion - Another library for converting between units of measure.
  • PHP Units of Measure - A library for converting between units of measure.
  • MathPHP - A math library for PHP.

Filtering and Validation

Libraries for filtering and validating data.

  • Assert - A validation library with a rich set of assertions. Supports assertion chaining and lazy assertions.
  • Aura.Filter - Provides tools to validate and sanitize objects and arrays.
  • CakePHP Validation - Another validation 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.
  • JSON Schema - A JSON Schema validation library.
  • 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.
  • Laminas API Tool Skeleton - An API builder built with the Laminas Framework.
  • 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.
  • Jane - An OpenApi client generator with validation support.
  • 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 and Locking

Libraries for caching data and acquiring locks.

  • 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.
  • CakePHP Cache - A caching library.
  • Doctrine Cache - A caching library.
  • Metaphore - Cache slam defense using a semaphore to prevent dogpile effect.
  • Stash - Another library for caching.
  • Laminas Cache - Another caching library.
  • Lock - A lock library to provide exclusive execution.

Data Structure and Storage

Libraries that implement data structure or storage techniques.

  • CakePHP Collection - A simple collections library.
  • 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.
  • JSON Machine - Provides iteration over huge JSONs using simple foreach
  • Knapsack - Collection library inspired by Clojure's sequences.
  • msgpack.php - A pure PHP implementation of the MessagePack serialization format.
  • PINQ - A PHP library based on .NET's LINQ (Language Integrated Query).
  • Serializer - A library for serialising and de-serialising data.
  • YaLinqo - Yet Another LINQ to Objects for PHP.
  • Laminas Serializer - Another library for serialising and de-serialising data.

Notifications

Libraries for working with notification software.

  • JoliNotif - A cross-platform library for desktop notification (support for Growl, notify-send, toaster, etc)
  • 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.
  • Rocketeer - A fast and easy deployer for the PHP world.

Internationalisation and Localisation

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

  • Aura.Intl - Provides internationalization (I18N) tools, specifically package-oriented per-locale message translation.
  • CakePHP I18n - Message translation and localization for dates and numbers.

Serverless

Libraries and tools to help build serverless web applications.

  • Bref - Serverless PHP on AWS Lambda.
  • OpenWhisk - An open-source serverless cloud platform.
  • Serverless Framework - An open-source framework for building serverless applications.
  • Laravel Vapor - A serverless deployment platform for Laravel, powered by AWS.

Configuration

Libraries and tools for configuration.

Third Party APIs

Libraries for accessing third party APIs.

  • Amazon Web Service SDK - The official PHP AWS SDK library.
  • AsyncAWS - An unofficial asynchronous PHP AWS SDK.
  • Campaign Monitor - The official Campaign Monitor PHP library.
  • Github - A library to interface with the Github API.
  • Mailgun The official Mailgun PHP API.
  • Square - The official Square PHP SDK for payments and other Square APIs.
  • Stripe - The official Stripe PHP library.
  • Twilio - The official Twilio PHP 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 utilities that don't fit into the categories above.

  • Annotations - An annotation library (part of Doctrine).
  • BotMan - A framework agnostic PHP library to build cross-platform chat bots.
  • ClassPreloader - A library for optimising autoloading.
  • Hprose-PHP - A cross-language RPC.
  • noCAPTCHA - Helper for Google's noCAPTCHA (reCAPTCHA).
  • Pagerfanta - A pagination library.
  • Safe - All PHP functions, rewritten to throw exceptions instead of returning false.
  • SuperClosure - A library that allows Closures to be serialized.

Software

Software for creating a development environment.

PHP Installation

Tools to help install and manage PHP on your computer.

Development Environment

Software and tools for creating and sharing a development environment.

  • Ansible - A radically simple orchestration framework.
  • Docker - A containerization platform.
  • Docker PHP Extension Installer - Easily install PHP extensions in Docker containers.
  • Expose - An open source PHP tunneling service.
  • Lando - Push-button development environments.
  • Laravel Homestead - A local development environment for Laravel.
  • Laradock - A full PHP development environment based on Docker.
  • Puppet - A server automation framework and application.
  • Takeout - A Docker-based development-only dependency manager.
  • Vagrant - A portable development environment utility.

Virtual Machines

Alternative PHP virtual machines.

  • Hack - A programming language for HHVM.
  • HHVM - A Virtual Machine, Runtime and JIT for PHP by Facebook.
  • PeachPie - PHP compiler and runtime for .NET and .NET Core.

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.
  • Adminer - Database management in a single PHP file.
  • Cachet - The open source status page system.
  • DBV - A database version control application.
  • Lychee - An easy to use and great looking photo-management-system.
  • MailCatcher - A web tool for capturing and viewing emails.
  • phpMyAdmin - A web interface for MySQL/MariaDB.
  • PHP Queue - An application for managing queueing backends.
  • phpRedisAdmin - A simple web interface to manage Redis databases.
  • PHPSandbox - An online IDE for PHP in the browser.

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.
  • RoadRunner - High-performance PHP application server, load-balancer and process manager.

Resources

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

PHP Websites

Useful PHP-related websites.

PHP Books

Fantastic PHP-related books.

PHP Videos

Fantastic PHP-related videos.

PHP Podcasts

Podcasts with a focus on PHP topics.

PHP Newsletters

PHP-related news directly to your inbox.

PHP Reading

PHP-related reading materials.

PHP Internals Reading

Reading materials related to the PHP internals or performance.