1
0
mirror of https://github.com/namibia/awesome-php.git synced 2024-12-21 15:09:04 +00:00
Go to file
2024-12-03 15:47:45 +00:00
.github/workflows Update awesomebot.yml (#1320) 2024-12-03 15:47:45 +00:00
.editorconfig Updates from fork so far. (#1242) 2024-01-04 17:48:07 +01:00
CODE-OF-CONDUCT.md Update CODE-OF-CONDUCT.md 2024-01-10 20:29:19 +00:00
COLLABORATING.md Update COLLABORATING.md 2024-01-10 20:28:38 +00:00
CONTRIBUTING.md Tweak contribution guidelines (#1304) 2024-09-02 08:43:09 +01:00
LICENSE.md Make license file markdown 2014-10-18 13:58:02 -06:00
README.md typo 2024-11-18 13:30:00 +00:00

Awesome PHP Awesome

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

Contributing and Collaborating

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

Table of Contents

Composer Repositories

Composer Repositories.

Dependency Management

Libraries for dependency and package management.

  • Composer Installers - A multi-framework Composer library installer.
  • Composer - A package and dependency manager.
  • Pie - The official PHP installer for extensions.
  • Phive - A PHAR manager.
  • 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 Merge Plugin - A composer plugin to merge several composer.json files.
  • Composer Normalize - A plugin for normalizing composer.json files.
  • Composer Patches - A plugin for Composer to apply patches.
  • Composer Prefer Lowest Validator - A plugin to check if minimum dependencies can be installed and tested.
  • 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.
  • Repman - A private PHP package repository manager and Packagist proxy.
  • Satis - A static Composer repository generator.
  • Tooly - A library to manage PHAR files in a project using Composer.
  • Toran Proxy - A Composer proxy for speed and reliability. (⚠️ Toran Proxy is being phased out.)

Frameworks

Web development frameworks.

  • CakePHP - A rapid application development framework.
  • CodeIgniter - A powerful PHP framework with a very small footprint.
  • 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 - An out-of-the-box adapter between Laravel/Lumen and Swoole.
  • Livewire - Powerful, dynamic, front-end UIs without leaving PHP.

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 e-commerce platform.
  • Moodle - An open-source learning platform.
  • Pico CMS - A stupidly simple, blazing fast, flat file CMS.
  • Statamic - Build beautiful, easy-to-manage websites.
  • Sulu - A user and developer friendly focused CMS and Platform based on the Symfony Framework.
  • 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.
  • Mezzio - A micro-framework by Laminas.
  • Minicli - Minimalist, dependency-free framework for building CLI-centric PHP applications.
  • 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.
  • 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.

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 and detecting crawlers.

  • Chrome PHP - Instrument headless Chrome/Chromium instances from PHP.
  • CrawlerDetect - A PHP class for detecting bots/crawlers/spiders via the user agent.
  • DiDOM - A super-fast HTML scrapper and parser.
  • Embed - An information extractor from any web service or page.
  • PHP Spider - A configurable and extensible PHP web spider.
  • Symfony Panther - A browser testing and web crawling library for PHP and Symfony.

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.
  • Parquet - PHP implementation of Parquet file format

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.
  • 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.
  • 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.
  • Nette Tester - A productive and enjoyable parallel unit testing framework.
  • ParaTest - A parallel testing library for PHPUnit.
  • Pest - A testing framework with a focus on simplicity.
  • Phake - Another mock object library for testing.
  • 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.
  • PHPUnit Polyfills - Simplifies running PHPUnit tests on multiple PHPUnit versions.
  • 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 continuous 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 that uses Markdown files.
  • phpDocumentor - A documentation generator.
  • phpDox - A documentation generator for PHP projects (that is not limited to API documentation).
  • zircote/swagger-php - Generate OpenAPI documentation for your RESTful API.

Security

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

  • AntiXSS - A library that tries to preventing Cross-Site Scripting (XSS) attacks by blacklisting.
  • Halite - A simple library for encryption using libsodium.
  • Optimus - Id obfuscation based on Knuth's multiplicative hashing method.
  • OWASP - Explore the world of cyber security.
  • PHPGGC - A library of PHP unserializable payloads along with a tool to generate them.
  • PHP Encryption - Secure PHP Encryption Library.
  • PHPSecLib - A pure PHP secure communications library.
  • random_compat - PHP 5.x support for random_bytes() and random_int()
  • Roave Security Advisories - This package ensures that your application doesn't have installed dependencies with known security vulnerabilities.
  • Secure Headers - A package that adds security related headers to HTTP response.
  • 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.
  • 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 and can auto-fix PHP, CSS and JS coding standard violations.
  • PHP CS Fixer - A coding standards fixer library.
  • PHP CS Fixer Configurator - A web application to help configure PHP CS Fixer rule sets.
  • 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.
  • Laravel Pint - A coding standards fixer library for Laravel.

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 customizable dependency graphs.
  • PHPDoc Parser - Next-gen phpDoc parser with support for intersection types and generics
  • 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.
  • IterTools PHP - A library that provides functionality for working with iterable entities (similar to itertools library in Python).
  • 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.
  • 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.
  • 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.

Error Tracking and Monitoring Services

Self-hosted or cloud-based application performance monitoring & error tracking tools

  • Blackfire - A low-overhead code profiler.
  • BugSnag - Error and Real User Monitoring.
  • Honeybadger - Error Tracking & Application Monitoring for Developers.
  • Rollbar - Error Logging & Tracking Service for Software Teams.
  • Sentry - Application Performance Monitoring & Error Tracking Software.
  • Tideways - Monitoring and profiling tool.

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 - A 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.
  • Fast CGI Client - A client to make synchronous/asynchronous requests through php-fpm socket.
  • FrankenPHP - A modern PHP app server written in Go.
  • 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.
  • Shopsys Framework - An open source e-commerce platform for in-house development teams.
  • 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.

  • Browsershot - Convert HTML to an image, PDF or string.
  • Dompdf - A HTML to PDF converter.
  • Gotenberg - A PHP client for interacting with Gotenberg.
  • Snappy - A PDF and image generation library.
  • TCPDF - An open source PHP class for generating PDF documents.

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).
  • OpenSpout - A community driven fork of box/spout, a PHP library to 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.

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.
  • 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 colors 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 colors.
  • Device Detector - Another library for parsing user agent strings.
  • Hyphenation - Text-Hyphenation based on the TeX-hyphenation Algorithm
  • 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, Sanitizing and Validation

Libraries for filtering, sanitizing 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.
  • HTML Purifier - A standards compliant HTML filter.
  • ISO-codes - A library for validating inputs according to 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.
  • Symfony HTML Sanitizer - An HTML sanitizer library.
  • Upload - A library for handling file uploads and validation.
  • Valitron - Another validation library.
  • Valinor - A library for mapping to strongly typed value objects.
  • Volan - Another simplified validation library.

API

Libraries and web tools for developing APIs.

  • API Platform - Expose in minutes a 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.
  • PackageGenerator - Package Generator generates a PHP SDK from any WSDL.

Caching and Locking

Libraries for caching data and acquiring locks.

  • APIx Cache - A thin PSR-6 cache wrapper to various caching backends emphasizing 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 serializing and de-serializing 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.

LLMs

Libraries for working with Large Language Models.

  • Instructor for PHP - Structured data outputs with LLMs, in PHP.
  • LLPhant - A comprehensive PHP Generative AI Framework using OpenAI GPT 4. Inspired by Langchain.
  • OpenAI Client - OpenAI PHP is a supercharged community-maintained PHP API client that allows you to interact with OpenAI API.
  • OpenAI Client for Laravel - OpenAI PHP for Laravel is a supercharged PHP API client that allows you to interact with OpenAI API.
  • PHP Mistral AI SDK - A powerful and easy-to-use PHP SDK for the Mistral AI API, allowing seamless integration of advanced AI-powered features into your PHP projects.

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 chatbots.
  • ClassPreloader - A library for optimizing autoloading.
  • Ganesha - A PHP implementation of Circuit Breaker pattern.
  • Hprose-PHP - A cross-language RPC.
  • Laravel Serializable Closure - A library that allows Closures to be serialized.
  • noCAPTCHA - Helper for Google's noCAPTCHA (reCAPTCHA).
  • Pagerfanta - A pagination library.
  • Safe - All PHP functions, rewritten to throw exceptions instead of returning false.

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.
  • DDEV - a local web development environment system for PHP.
  • Docker - A containerization platform.
  • Docker PHP Extension Installer - Easily install PHP extensions in Docker containers.
  • Docksal - Unified, Docker 🐳 powered web development environments for macOS, Windows, and Linux.
  • Expose - An open-source PHP tunneling service.
  • Lando - Push-button development environments.
  • Laravel Homestead - A local development environment for Laravel.
  • Laravel Herd - A one click PHP development environment for macOS and Windows.
  • Laradock - A full PHP development environment based on Docker.
  • PHPMon - A macOS menu bar app for managing PHP installations (works with Laravel Valet).
  • 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 Conferences

PHP conferences.

  • Laracon EU - Laracon EU is a 2-day event for people who are interested in learning Laravel and related technologies, or who want to share their knowledge with others.
  • PHP[TEK] - The longest-running web developer conference in the United States that has a focus on the PHP programming language.
  • PHP UK Conference - A collection of videos from the PHP UK Conference.

PHP Podcasts

Podcasts with a focus on PHP topics.

  • Laravel News Podcast - The Laravel News Podcast brings you all the latest news and events related to the Laravel PHP Framework.
  • Mostly Technical - Hosted by Ian Landsman and Aaron Francis, Mostly Technical is a lively discussion on Laravel, business, and an eclectic mix of related topics.
  • No Compromises - Two seasoned salty programming veterans talk best practices based on years of working with Laravel SaaS teams.
  • North Meets South Web Podcast - Jacob Bennett and Michael Dyrynda conquer a 14.5 hour time difference to talk about life as web developers.
  • Over Engineered - A podcast in mini-series where we explore unimportant programming questions in extreme detail.
  • PHP Internals News - A podcast about PHP internals.
  • PHP Town Hall - A casual PHP podcast by Ben Edmunds and Phil Sturgeon.
  • php[podcast] episodes from php[architect] - The official podcast of php[architect] the industry's leading tech magazine and publisher focused on PHP and web development.
  • PHPUgly - The ramblings of a few overworked PHP Developers.
  • The Laracasts Snippet - The Laracasts snippet, each episode, offers a single thought on some aspect of web development.
  • The Laravel Podcast - Laravel and PHP development news and discussion.
  • The PHP Roundtable - The PHP Roundtable is a casual gathering of developers discussing topics that PHP nerds care about.
  • Voices of the ElePHPant - Interviews with the people who make the PHP community special.

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.