fucking-awesome-php
A curated list of amazingly awesome PHP libraries, resources and shiny things. With repository starsโญ and forks๐ด
https://github.com/correia-jpv/fucking-awesome-php
Last synced: 12 days ago
JSON representation
Source
PHP Internals Reading
Table of Contents
API
- Laminas API Tool Skeleton - An API builder built with the Laminas Framework.
- HAL - A Hypertext Application Language (HAL) builder library.
- Hateoas - A HATEOAS REST web service library.
- 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.
- Jane - An OpenApi client generator with validation support.
Architectural
- 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.
Asset Management
- 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.
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.
- Paseto - Platform-Agnostic Security Tokens.
- PHP oAuthLib - Another OAuth library.
- TwitterOAuth - A Twitter OAuth library.
Build Tools
- Box - A utility to build PHAR files.
- RMT - A library for versioning and releasing software.
- PHPacker - A PHAR builder that compiles PHP apps to standalone executables.
Caching and Locking
- 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.
Code Analysis
- Better Reflection - An AST-based reflection library that allows analysis and manipulation of code.
-
Editorconfig-Checker
- A command line utility which verifies that your files implement your
.editorconfigrules. - GrumPHP - A PHP code-quality tool.
- PHP Magic Number Detector - A library that detects magic numbers in code.
- 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.
- PHPQA - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
- Rector - A tool to upgrade and refactor code.
- UBench - A simple micro-benchmark library.
- Bladestan - A PHPStan extension for static analysis of Blade templates.
Code Quality
- 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 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.
- Laravel Pint - A coding standards fixer library for Laravel.
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.
- CLI Menu - A library for building CLI menus.
- CLIFramework - A command-line framework that 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.
Components
- Laravel Components - The Laravel Framework components.
Configuration
-
PHP Dotenv
- Parse and load environment variables from
.envfiles. -
Symfony Dotenv
- Parse and load environment variables from
.envfiles. - Toml - A TOML parser and encoder with AST access and error recovery.
Content Management Systems (CMS)
- CraftCMS - A flexible, user-friendly CMS for creating custom digital experiences on the web and beyond.
- Grav - A modern flat-file CMS.
- Magento - A widely used open-source e-commerce platform.
- WordPress - A blogging platform and CMS.
- OpenMage - Fork of EoL Magento 1 e-commerce platform.
Continuous Integration
- Setup PHP - A GitHub Action for PHP.
Database
- 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.
- Laravel Eloquent - A simple ORM.
- ProxyManager - A set of utilities to generate proxy objects for data mappers.
- Slimdump - An easy dumper tool for MySQL.
- Spot2 - A MySQL datamapper ORM.
Data Structure and Storage
- CakePHP Collection - A simple collections library.
- Fractal - A library for converting complex data structures to JSON output.
- JsonMapper - A library that maps nested JSON structures onto PHP classes.
-
JSON Machine
- Provides iteration over huge JSONs using simple
foreach. - msgpack.php - A pure PHP implementation of the ๐ MessagePack serialization format.
- 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.
Date and Time
- 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.
- Business Time - A Carbon extension for handling business hours and working days.
- PHP RRule - A library for working with recurring dates and times based on the iCalendar RRule spec.
Debugging and Profiling
- 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.
- 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.
- LaraDumps - A debugging tool for Laravel with a dedicated desktop application.
- Trap - An extended variable dumper with a web interface and IDE plugin.
Dependency Injection
- 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.
- Pimple - A tiny dependency injection container.
- Symfony DI - A dependency injection container component.
Dependency Management
- Composer Installers - A multi-framework Composer library installer.
- Pie - The official PHP installer for extensions.
- Pickle - A PHP extension installer.
Dependency Management Extras
-
Composer Merge Plugin
- A composer plugin to merge several
composer.jsonfiles. -
Composer Normalize
- A plugin for normalizing
composer.jsonfiles. - 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.
- Satis - A static Composer repository generator.
Deployment
Development Environment
- DDEV - A local web development environment system for PHP.
- 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.
- Takeout - A Docker-based development-only dependency manager.
- Solo - A terminal application to manage processes for a Laravel application.
Documentation
- APIGen - Another API documentation generator.
- daux.io - A documentation generator that uses Markdown files.
- zircote/swagger-php - Generate OpenAPI documentation for your RESTful API.
- Scramble - Automatically generates OpenAPI documentation from your code without annotations.
E-commerce
- 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.
- Shopsys Framework - An open source e-commerce platform for in-house development teams.
- CssToInlineStyles - A library to inline CSS in email templates.
- Email Reply Parser - An email reply parser library.
- Fetch - An IMAP library.
- Mautic - Email marketing automation.
- PHPMailer - Another mailer solution.
- Stampie - A library for email services such as ๐ SendGrid, ๐ PostMark, ๐ MailGun and ๐ MailChimp.
- Symfony Mailer - A powerful library for creating and sending emails.
- ddeboer/imap - Object-oriented, fully tested PHP IMAP library.
Event
- 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.
- 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.
Extensions
- Zephir - A compiled language between PHP and C++ for developing PHP extensions.
Files
- CSV - A CSV data manipulation library.
- Flysystem - Abstraction for local and remote filesystems.
- Gaufrette - A filesystem abstraction layer.
- UnifiedArchive - A unified reader and writer of compressed archives.
- Parquet - PHP implementation of Parquet file format.
- PHP FFmpeg - A wrapper for the ๐ FFmpeg video library.
Filtering, Sanitizing and Validation
- LibPhoneNumber for PHP - A PHP implementation of Google's phone number handling library.
- 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.
- Valitron - Another validation library.
- Valinor - A library for mapping to strongly typed value objects.
- Volan - Another simplified validation library.
Framework Extras
- CakePHP CRUD - A Rapid Application Development (RAD) plugin for CakePHP.
- LaravelS - An out-of-the-box adapter between Laravel/Lumen and Swoole.