awesome-php
A curated list of amazingly awesome PHP libraries, resources and shiny things.
https://github.com/ziadoz/awesome-php
Last synced: 8 days ago
JSON representation
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.
- API Platform - Expose in minutes a hypermedia REST API that embraces JSON-LD, Hydra format.
Architectural
- Design Patterns PHP - A repository of software patterns implemented in PHP.
- 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.
- Finite - A simple PHP finite state machine.
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
- OAuth2 Server - An OAuth2 authentication server, resource server and client library.
- 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.
- Paseto - Platform-Agnostic Security Tokens.
- PHP oAuthLib - Another OAuth library.
- TwitterOAuth - A Twitter OAuth library.
Build Tools
- Phing - A PHP project build system inspired by Apache Ant.
- 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
- Scrutinizer - A web tool to scrutinise PHP code.
- PHP AST Viewer - A tool for viewing the Abstract Syntax Tree of PHP code.
- 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.
- Code Climate - An automated code review.
- Bladestan - A PHPStan extension for static analysis of Blade templates.
Code Quality
- 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.
- PHP CodeSniffer - A library that detects and can auto-fix PHP, CSS and JS coding standard violations.
- PHP CS Fixer Configurator - A web application to help configure PHP CS Fixer rule sets.
- CaptainHook - An easy-to-use and flexible Git hook library.
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
- Aura - Independent components, fully decoupled from each other and from any framework.
- CakePHP Plugins - A directory of CakePHP plugins.
- Laravel Components - The Laravel Framework components.
- League of Extraordinary Packages - A PHP package development group.
- Spatie Open Source - A collection of open-source PHP and Laravel packages.
- Laminas Components - The components that make the Laminas Framework.
- Symfony Packages - Decoupled libraries for PHP applications.
Composer Repositories
- Firegento - Magento Module Composer Repository.
- Packagist - The PHP Package Repository.
- Private Packagist - Composer package archive as a service for PHP.
- WordPress Packagist - Manage your plugins with Composer.
- Packalyst - The Laravel package repository.
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)
- Concrete5 - A CMS targeting users with a minimum of technical skills.
- Joomla - Another leading CMS.
- Kirby - A flat-file CMS that adapts to any project.
- Moodle - An open-source learning platform.
- Pico CMS - A lightweight flat-file CMS.
- Statamic - A flat-file and Git-based CMS built on Laravel.
- Sulu - A user- and developer-friendly CMS built on the Symfony Framework.
- 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.
- Drupal - An enterprise level CMS.
- OpenMage - Fork of EoL Magento 1 e-commerce platform.
- Backdrop - A CMS targeting small-to-medium-sized business and non-profits (a fork of Drupal).
- TYPO3 - An enterprise level CMS.
- Silverstripe - A simple, flexible, and secure CMS.
- OctoberCMS - A CMS built on Laravel.
- WinterCMS - A community-maintained fork of OctoberCMS built on Laravel.
Continuous Integration
- GitLab CI - A continuous integration platform.
- Jenkins - A continuous integration platform with PHP support.
- Setup PHP - A GitHub Action for PHP.
- SemaphoreCI - A continuous integration platform for open-source and private projects.
- CircleCI - A continuous integration platform.
- Travis CI - A continuous integration platform.
Database
- Doctrine - A comprehensive DBAL and ORM.
- RedBean - A lightweight, configuration-less ORM.
- 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
- 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.
- CalendR - A calendar management library.
- 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
- APM - Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
- Z-Ray - A debug and profile tool for Zend Server.
- 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.
- PHP Debug Bar - A debugging toolbar.
- 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
- PHP-DI - A dependency injection container that supports autowiring.
- 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.
- Symfony DI - A dependency injection container component.
- Pimple - A tiny dependency injection container.
Dependency Management
- Composer - A package and dependency manager.
- Phive - A PHAR manager.
- Composer Installers - A multi-framework Composer library installer.
- Pickle - A PHP extension installer.
- Pie - The official PHP installer for extensions.
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.
- Repman - A private PHP package repository manager and Packagist proxy.
Deployment
Development Environment
- Docker - A containerization platform.
- Lando - Push-button development environments.
- Laravel Homestead - A local development environment for Laravel.
- 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.
- Takeout - A Docker-based development-only dependency manager.
- PHPMon - A macOS menu bar app for managing PHP installations (works with Laravel Valet).
- Ansible - A radically simple orchestration framework.
- Expose - An open-source PHP tunneling service.
- Laravel Herd - A one click PHP development environment for macOS and Windows.
- Puppet - A server automation framework and application.
- Laradock - A full PHP development environment based on Docker.
- Vagrant - A portable development environment utility.
- 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.
- phpDocumentor - A documentation generator.
- Scramble - Automatically generates OpenAPI documentation from your code without annotations.