PHP Tweaks

More Coming Soon!

Here are some awesome PHP resources, courtesy of ziadoz's GitHub Page:

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

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

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

  • PSR-7 Middlewares - Inspiring collection of handy middlewares.
  • Relay - A PHP 5.5 PSR-7 middleware dispatcher.
  • Stack - A library of stackable middleware for Symfony.
  • Laminas Stratigility - Middleware for PHP built on top of PSR-7.

URL

Libraries for parsing URLs.

  • PHP Domain Parser - A domain suffix parser library.
  • Purl - A URL manipulation library.
  • 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.
  • Hoa Mime - Another MIME detection library.
  • PHP FFmpeg - A wrapper for the FFmpeg video library.
  • UnifiedArchive - A unified reader and writer of compressed archives.

Streams

Libraries for working with streams.

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

  • Better Reflection - AST-based reflection library that allows analysis and manipulation of code
  • Code Climate - An automated code review.
  • GrumPHP - A PHP code-quality tool.
  • PHP Parser - A PHP parser written in PHP.
  • PHP Semantic Versioning Checker - A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
  • Phpactor - PHP completion, refactoring and introspection tool.
  • PHPLOC - A tool for quickly measuring the size of a PHP project.
  • PHPQA - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
  • Qafoo Quality Analyzer - A tool to visualize metrics and source code.
  • Rector - A tool to upgrade and refactor code.
  • Scrutinizer - A web tool to scrutinise PHP code.
  • UBench - A simple micro benchmark library.

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.
  • Ruler - A simple stateless production rules engine.
  • RulerZ - A powerful rule engine and implementation of the Specification pattern.

Debugging and Profiling

Libraries and tools for debugging 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.
  • Hoa EventSource - An event source library.
  • Hoa WebSocket - Another web socket library.
  • 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.

Search

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.
  • Hoa Console - Another command line library.
  • 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.
  • Hoa String - Another UTF-8 string library.
  • Jieba-PHP - A PHP port of Python's jieba. Chinese text segmentation for natural language processing.
  • Mobile-Detect - A lightweight PHP class for detecting mobile devices (including tablets).
  • Patchwork UTF-8 - A portable library for working with UTF-8 strings.
  • 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: BigIntegerBigDecimal 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.
Integrately - Integrate Your Apps In 1 Click