PHP

repo: ziadoz/awesome-php
category: Programming Languages related: Laravel · WordPress


Awesome PHP Awesome

A curated list of awesome PHP libraries, resources, and useful tools.

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.

Frameworks

Web development frameworks.

  • CakePHP - A rapid application development framework.
  • CodeIgniter - A powerful PHP framework with a very small footprint.
  • Ecotone - A Service Bus for PHP based on architectural principles of DDD CQRS and Event Sourcing.
  • 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.
  • Tempest - A framework that gets out of your way.
  • 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.
  • Filament PHP - A powerful open source UI framework for Laravel.
  • Inertia.js - An adapter for building single-page applications using server-side routing and controllers, without a separate API.
  • 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 - A widely used open-source e-commerce platform.
  • Moodle - An open-source learning platform.
  • OctoberCMS - A CMS built on Laravel.
  • OpenMage - Fork of EoL Magento 1 e-commerce platform.
  • Pico CMS - A lightweight flat-file CMS.
  • Silverstripe - A simple, flexible, and secure CMS.
  • Statamic - A flat-file and Git-based CMS built on Laravel.
  • Sulu - A user- and developer-friendly CMS built on the Symfony Framework.
  • TYPO3 - An enterprise level CMS.
  • WinterCMS - A community-maintained fork of OctoberCMS built on Laravel.
  • 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.
  • 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.

  • Cecil - A simple and powerful content-driven static site generator.
  • Couscous - A tool for converting Markdown documentation into websites.
  • 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.
  • Saloon - A framework for building beautiful API integrations and SDKs.
  • 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.

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.

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.

Continuous Integration

Libraries and applications for continuous integration.

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).
  • Scramble - Automatically generates OpenAPI documentation from your code without annotations.
  • 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.
  • [Roave Security Advisories](https://github.com/Roave/SecurityAdvisories) - 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.
  • 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 Validator - A library for validating and upgrading password hashes.
  • Password-Generator - PHP library to generate random 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.

Static Analysis

Libraries for performing static analysis of PHP code.

  • Dead Code Detector - A PHPStan extension for finding unused PHP code.
  • Deptrac - A static analysis tool for enforcing dependency rules between architectural layers.
  • Exakat - A static analysis engine for PHP.
  • Larastan - A PHPStan wrapper for Laravel that adds static analysis to Laravel projects.
  • Mago - A toolchain for PHP that aims to improve the developer experience.
  • 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.
  • PHPDoc Parser - Next-gen phpDoc parser with support for intersection types and generics.
  • PHP Metrics - A static metric library.
  • 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.
  • LaraDumps - A debugging tool for Laravel with a dedicated desktop application.
  • 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.
  • Trap - An extended variable dumper with a web interface and IDE plugin.
  • 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.
  • Buggregator - A debug server that aggregates var-dumps, profiling data, emails, logs and Sentry events.
  • 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.
  • PHPacker - A PHAR builder that compiles PHP apps to standalone executables.
  • 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.

  • Jobby - A PHP cron job manager without modifying crontab.
  • Robo - A PHP task runner with object-oriented configurations.

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.


truncated — full list on GitHub

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?