Collect and organize some commonly used PHP libraries, resources and techniques. To quickly find what you need in your job ...
Learning Resources
References to PHP-related community, blogs, websites, articles, books, videos and other resources
Dependency Management (Dependency Management)
Packages and frameworks for dependency management
- Composer/packagist-A package and dependency manager.
- Composer Installers-A multi-frame Composer Library Installer
- pickle-php Extension Installer
- Melody-a tool to build one file Composer scripts.
Framework (Frameworks)
Web Development Framework
- Symfony2-Framework consisting of independent components (SP2)
- Zend Framework 2-also a framework consisting of independent components (ZF2)
- Laravel 5-Simple and elegant PHP Web development Framework (L5)
- Aura PHP-Framework for standalone components
- Yii2-A high-performance PHP framework for developing large Web applications
- Nette-A framework that is also composed of independent components
- PPI Framework 2-An interactive framework
- CakePHP-An efficient application development framework (CP)
- Phalcon-A framework as a C extension
- YAF-The framework of the C extension of the bird brother
Component (components)
- Aura Components-a PHP5.4 package
- Hoa Project-A collection of PHP components
Micro-FRAME (frameworks)
Mini-frames and routing
- Silex-Miniature framework based on SYMPHONY2 components
- Silex Skeleton-Project Framework for Silex
- Silex Web Profiler-Web Debugging Toolbar for Silex
- Slim-Another simple mini-frame
- Slim Skeleton-Frame for Slim
- Slim View-slim Custom View Set
- Slim Middleware-slim Custom Middleware Collection
- Slimmvc-skeleton-slim based on the implementation of MVC and some components
- Bullet PHP-a mini-framework for building rest APIs
- Lumen-Laravel-based mini-frame
- Proton-a miniature PHP framework
- Blink-a WEB micro high-performance framework for building a "long running" service
Routing (routers)
- Fast route-an efficient routing library
- Route-a routing library based on Fast route
- Pux-Another efficient routing library
- Klein-A flexible routing library
- Macaw-A simple PHP router, super thin, fast and very sexy.
Template engine (templating)
Libraries and tools for templates and lexical analysis
- Twig-A comprehensive template language
- Twig Cache Extension-Template fragment caching library for Twig
- mustache-php implementation of the Mustache template language
- phly Mustache-another PHP implementation of the Mustache template language
- mthaml-php implementation of the Haml template language
- phptal-php implementation of the Tal template language
- Plates-An original PHP template Library
- Lex-A lightweight template parser
Static station generator (statically site generators)
Preprocessing Tools for building Web page content
- Sculpin-Tools to convert markdown and twig to static HTML
- PHROZN-another tool for converting textile, markdown, and twig to HTML
HTTP
Libraries for HTTP and crawl sites
- Guzzle-a full HTTP client
- Buzz-Another HTTP client
- Requests-a simple HTTP library
- Httpful-a chained HTTP client
- Goutte-a simple web crawler
- PHP VCR-a library for recording and replaying HTTP requests
Middleware (Middlewares)
Middleware for building the application's class library
Url
The library that resolves the URL
- Purl-a URL action library
- PHP Domain Parser-a local suffix parser
- Uri-A Simple URL action library
Email (email)
A library for sending and parsing email
- Swiftmailer-a solution for a mail program
- Phpmailer-Solution for another mail program
- Fetch-an IMAP library
- Email Reply Parser-a message Reply parser library
- Stampie-a library of mail services, such as SendGrid, postmark, Mailgun, and Mandrill
- Csstoinlinestyles-an inline CSS library in the mail template
- Email Validator-A small mailbox verification library
File Operations (Files)
About file handling and MIME type checking
- Gaufrette-an abstraction layer for a file stream
- Flysystem-The abstraction layer of another file stream
- Canal-a library to check the Internet media type
- Apache MIME Types-a library that parses Apache MIME types
- Ferret-a MIME detection library
- Hoa MIME-another MIME detection library
- Lurker-A Resource tracking library
- PHP file Locator-a library that locates files in a large project
- PHP FFmpeg-a library for FFmpeg video packaging
- CSV-a CSV data manipulation library
Flow (Stream)
The library that processes the stream
- Streamer-A simple object-oriented flow wrapper library
Dependency Injection (Dependency injection)
Implementing a library that relies on injection design patterns
- Pimple-a small dependency injection container
- Auryn-Another small dependency injection container
- Container-Another flexible dependency injection container
- PHP DI-A dependency injection implemented using annotations
- acclimate-generic interface for Dependency injection containers and service locators
- Symfony DI-A Dependency Injection component (SF2)
Image (Imagery)
Library for working with images
- Imagine-an image processing library
- PHP Image Workshop-another image processing library
- Intervention image-also a picture processing library
- GIF frame Extractor-a library for extracting animated frame information from GIF
- GIF Creator-Create a library of GIF animations from multiple pictures
- Image with text-the library in which the text is embedded in the image
- Color Extractor-a library that extracts colors from an image
- Glide-An on-demand picture processing library
- Image Optimizer-a library of optimized pictures
- Phpthumb-Thumbnail processing library
Test (testing)
Test the code base and the library that generated the test data
- PHPUnit-a unit test framework
- Code Test Library for Dbunit-phpunit
- Parallel Test library for Paratest-phpunit
- PHPSPEC-Unit Test library according to specifications
- Codeception-a full stack test framework
- Aspectmock-phpunit/codeception's Simulation framework
- Atoum-a simple test library
- Mockery-a library of mock objects for testing
- Phake-another mock object library for testing
- Prophecy-A powerful simulation framework
- Faker-a pseudo data generation library
- Samsui-another pseudo data generation library
- Alice-a library for generating complex data
- Behat-A test framework for behavior-driven development (BDD)
- Pho-Another test framework for behavioral-driven development
- Mink-web Acceptance Test
- HTTP mock-a library that simulates an HTTP request in a unit test
- VFS Stream-A virtual file system for testing flow wrapper
- VFS-Another virtual file system for testing
- Locust-a modern load test library developed by Python
- Peridot-an event-driven test framework
Continuous integration (continuous integration)
Libraries and applications for continuous integration
- Travis CI-A platform for continuous integration
- SEMAPHORECI-a continuous integration platform for open source programs and private projects
- PHPCI-an open source continuous integration platform for PHP
- Sismo-a continuous test server library
- Continuous integration platform supported by jenkins-php
- jolici-php development of continuous integration client supported by Docker
Document (documentation)
Build a library of project documents
- Sami-an API document generator
- Apigen-Another API document generator
- PHP documentor 2-Document builder
- Phpdox-Document Generator for a PHP project (not just API documentation)
Safety (Security)
Used to generate secure random numbers, encrypt data, scan holes, token libraries
- HTML purifier-a standard HTML filter
- Randomlib-Libraries that generate random numbers and random strings
- True Random-a library that uses www.random.org to generate random numbers
- Securitymultitool-A PHP security library
- Phpseclib-A pure PHP secure communications Library
- Tcrypto-A simple key-value encryption repository
- PHP IDS-A structured PHP security layer
- PHP SSH-Object-oriented SSH wrapper library
- Iniscan-a tool to scan php INI file security
- Sensiolabs Security Check-a web tool that checks composer dependencies based on safety recommendations
- Zed-Integrated Penetration testing tool for Web applications
- PHP-JWT (JSON Web token)-JSON Network Token Library
- Jose-json Signed and encrypted libraries
Password (Passwords)
Libraries and tools for handling and storing passwords
- Password Compat-a compatible library for the new PHP5.5 password feature
- Phpass-A portable password hash frame
- PHP Password Lib-a library for generating and validating passwords
- Password Policy-A password rule library for PHP and JavaScript
- Password Validator-Library to validate and upgrade password hashes
- zxcvbn php-a PHP display password strength estimation library based on Zxcvbn JS
- Genphrase-a library that generates secure random passwords
Code Analysis
Tools for analyzing, parsing, and manipulating code libraries
- PHP Parser-PHP parser written by PHP
- phpphp-a PHP-implemented PHP virtual machine
- Sandbox environment for phpsandbox-php
- Dissect-a collection of tools for lexical and syntactic analysis
- PHP Mess Detector-a library that scans code bugs, sub-good codes, and unused parameters
- PHP Code Sniffer-a library that detects standard violations of PHP, CSS, and JS code
- PHPCPD-a library that detects copy and paste code
- PHP Analyser-A library that parses errors in PHP code
- PHP CS Fixer-a standard library of code
- PHP Manipulator-Libraries for parsing and modifying PHP source code
- PHP Metrics-A static measurement library
- PHP refactoring Browser-a command-line tool for refactoring PHP code
- UBench-A simple, small benchmark library
- Athletic-A label-based benchmark Library
- Mondrian-Code analysis tool using graph theory
- Scrutinizer-web tool for checking PHP code
- Phploc-a quick tool to evaluate PHP project size
- Phpcheckstyle-a tool to help comply with specific code rules
- Phpdependencyanalysis-a tool for creating customizable dependency graphs
- Code Climate-Automated Code review
- PHP error-Used to convert standard PHP errors, primarily for debugging in the development process
Structure (architectural)
A library of design patterns, programming specifications, and how code is organized
- PHP option-a library of type PHP options
- Ruler-A simple stateless engine that generates environmental rules
- Finite-a simple PHP finite state machine
- Compose-a library of feature combinations
- Monad PHP-a simple Monad library
- Patchwork-a library of functions that redefine a user
- Galapagos-Language Conversion evolution
- Design Patterns PHP-an example library for designing patterns implemented with PHP
- Functional PHP-a functional programming library
- Lib Accessor-a library for simplified access
- Iter-a library that uses generators to provide an iterative primitive
Debugging and performance (debugging and Profiling)
Libraries and tools for debugging code
- XDebug-a PHP Debug and analysis tool
- PHP Debug Bar-a debug toolbar
- PHP Console-web Debug Console
- Barbushin PHP Console-a Web Debugging control tool that uses Google Chrome
- Phpdbg-An interactive PHP debugger
- Tracy-A simple error detection, log, and time measurement library
- Z-ray-a tool for debugging and performance analysis
- Xhprof-facebook Open-Source PHP performance evaluation Tool
- Blackfire.io-A low-overhead code Profiler
- Kint-a tool for debugging and performance analysis
Build tool (Build tools)
Project building and automation tools
- Go-A simple PHP build tool
- Bob-A simple project automation tool
- Phake-a PHP clone library
- Box-the tool used to build the Phar file
- Phing-Build a system based on Apache Ant's PHP project
Task Runners
Libraries that automatically run tasks
- Task-A pure PHP task runner based on Grunt and gulp
- Robo-Object-oriented PHP task runner
- Bldr-PHP task runner built on Symfony components
Navigation (Navigation)
Tools for building the navigation structure
- Knpmenu-a menu library
- Cartographer-a site Map generation library
Resource Management (Asset Management)
Tools for managing, compressing, and minimizing site resources
- Assetic-A resource-managed pipeline Library
- Pipe-Another resource-managed pipeline Library
- Munee-A resource-optimized library
- Jshrink-a JavaScript compression library
- Puli-a library that detects the absolute path of a resource
Geo-positioning (geolocation)
Libraries using latitude-encoded addresses
- GeoCoder-a geo-coded library
- Geotools-a repository related to a geoprocessing tool
- Phpgeo-A simple geo-Library
- GeoJSON-An implementation of a GeoJSON
Dates and times (date and time)
The library that processes the date and time
- Carbon-A simple date-time API extension
- Expressivedate-Another Date time API extension
- Calendr-A calendar-managed library
Events (Event)
Libraries for event-driven or non-blocking event loops
- React-an event-driven, non-blocking I/O Library
- rx.php-a response extension library
- Ratchet-a Web socket font
- Hoa WebSocket-another web socket font
- Elephant.io-another web socket font
- Hoa EventSource-an event source Library
- Evenement-an event dispatch library
- Event-event package for your app and/or domain.
- Cake Event-A class library of events scheduling
- Broadway-an event source and CQRS Library
Log (Logging)
Libraries for generating and processing log files
- Monolog-A comprehensive log class library
- Klogger-an easy-to-use PSR-3 log class
- Analog-a chance closure of the mini-log package
E-commerce (E-commerce)
Libraries and applications for payment and construction of online ecommerce stores
- Omnipay-A framework for multi-gateway payment processing
- Payum-an abstract library for payment
- Sylius-An open source e-Business Solution
- Thelia-Another open source e-Business Solution
- The Fowler money pattern implemented by money-php
- Sebastian Money-a library for dealing with currency values
- Swap-a library of exchange rates
Pdf
Libraries and software for working with PDF files
- Snappy-a PDF and image generation Library
- Wkhtmltopdf-a tool to convert HTML to PDF
- Phppdf-a library that transforms XML into PDFs and pictures
Office
Processing libraries for various documents in the Office suite
- Phpword-Library for working with Word documents
- Phpexcel-Library for working with Excel documents
- Phppowerpoint-Library for processing ppt slides
- Excelant-Library for manipulating Excel documents
Databases (database)
Database interaction Library Using object-relational mapping (ORM) or data-mapping technology
- Doctrine-A complete Dbal and ORM
- Doctrine Extensions-An extended collection of Doctrine behavior
- Propel-A fast ORM, migration and querying library
- Eloquent-laravel 5 ORM (L5)
- Baum-a nested collection of eloquent
- Spot2-mysql ORM Mapper
- Redbean-A lightweight, easy-to-configure ORM
- Pomm-An object model manager for PostgreSQL
- Proxymanager-Tool collection for data map generation proxy objects
- Cake ORM-Object Relational Mapper with Data mapping mode (CP)
- Medoo-a lightweight, accelerated development ORM
Migration (migrations)
Libraries for managing database schemas and migrations
- Phpmig-a Migration management library
- Phinx-a Database Migration management library
- Migrations-another Migration management library
- Doctrine Migrations-Migration Library for Doctrine
Non-relational database (NoSQL)
Dealing with a NoSQL backend library
- MONGOQB-a MongoDB query building library
- Monga-an abstract library of MongoDB
- Predis-A fully functional Redis library
Queuing (queue)
Libraries for handling events and task queues
- Pheanstalk-a BEANSTALKD client library
- PHP amqp-A pure PHP AMQP library
- Thumper-a library of RABBITMQ patterns
- Bernard-a multi-backend abstract library
- Php-resque-Redis-based Message Queuing
- Gearman-Mission distribution system
Searching (search)
Indexing and executing query-related libraries and software in your data
- ElasticSearch PHP-The official client library for ElasticSearch.
- Elastica-Another Elasticsearch client library
- The SOLARIUM-SOLR client library.
- Query library for SPHINXQL query Builder-sphinx search engine
Command line
Building a library of command-line tools
- Symfony/console-symfony command-line work components
- Boris-a miniature PHP REPL
- Psysh-Another PHP REPL
- Pecan-an event-driven, non-blocking shell
- GETOPT-a command line selection parser
- Optparse-another command line selection parser
- Commando-A simple command-line selection parser
- Getoptionkit-also a command line selection parser
- Cron Expression-A library that calculates the cron run date
- Shellwrap-A simple command-line wrapper library
- Hoa Console-another command line library
- Shunt-a command-line library that runs in parallel on multiple remote machines
- Cilex-Small framework for building command-line tools
- CLImate-a library of output colors and special formats
- Webmozart Console
Authentication (authentication and Authorization)
Libraries that implement the authentication mode
- Sentinel-A framework for authentication and authorization
- Sentinel Social-a library for social network authentication
- Opauth-Provides OAuth authentication support and provides a unified standard access method
- OAuth2 Server-A OAuth2 authentication server, resource server, and client library
- OAuth2 server-Implementation of a OAUTH2 server
- PHP Oauthlib-another OAuth library
- Twitteroauth-a Twitter OAuth library
- TWITTERSDK-A fully tested Twitter SDK
- Hawk-a Hawk HTTP authentication library
- Hybridauth-an open-source social login Library
- Lock-an Access Control Lists (ACL) system library.
- OAuth 1.0 Client-an OAuth 1.0 clients library.
- OAuth 2.0 Client-an OAuth 2.0 clients library.
- Sentry-Authentication and authorization system
- Evaoauth-Unified interface for OAuth login PHP class Library
Mark (Markup)
Library for working with tags
- Decoda-A Lightweight Tag parsing library
- PHP Markdown-markdown Parser
- Commonmark PHP-A markdown parser that supports Commonmark spec.
- Parsedown-a markdown Parser
- Ciconia-a GitHub-style markdown Parser
- Cebe Markdown-A fast, extensible Markdown Parser
- HTML5 PHP-a HTML5 parsed and serialized library
- Emoji-A simple class library for handling Emoji
String (Strings)
Libraries that parse and manipulate strings
- ANSI to HTML5-a library that converts ANSI to HTML5
- Patchwork UTF-8-Portable library for handling UTF-8 format strings
- Hoa string-Another string library in UTF-8 format
- Stringy-A multi-byte supported string manipulation library
- Color Jizz-a library for processing and converting colors
- UUID-a library that generates UUIDs
- Slugify-A library that converts a string to a slug format
- Urlify-a Django urlify.js PHP port
- Text-a textual processing library
- SQL Formatter-A library for formatting SQL statements
- UA Parser-A library that parses the UA (User Agent) string
- Device Detector-another library that resolves the UA (User Agent) string
- Mobile-detect-a lightweight library for detecting mobile devices (including desktop devices)
- Browser-Detecting the user's browser environment
Number (Numbers)
Library for working with numbers
- Numbers PHP-A library that handles numbers
- Math-a library that handles larger numbers
- Byteunits-a library that parses, formats, and converts byte units in a binary and measurement system
- PHP Units of Measure-a library of conversion between units of measurement
- PHP Conversion-Another library for measuring conversions between units
- Libphonenumber for php-php Google phone processing system library
- hashids.php-Used to generate a unique string of integers (e.g., to hide real IDs by encrypting and decrypting IDs)
Filtering and verification (Filtering Ang Validation)
Libraries for filtering and validating data
- Filterus-A simple PHP filter library
- Respect Validation-A simple validation library
- Valitron-Another data validation library
- Cake Validation-another data validation library
- Php-readability-Content analysis algorithms
- Upload-a library that handles file uploads and validations
- DMS Filter-A label-based filter Library
- Metayaml-A schema validation library that supports YAML, JSON, and XML
- Iso-codes-Validating different ISO and zip coded libraries
Rest and APIs
Libraries and web frameworks for developing restful APIs
- Apigility-an API builder built using Zend Framework2
- Hateoas-a Hateoas rest Web service Library
- Hal-A Hypertext Application language (HAL) build Library
- Negotiation-a Content negotiation library
- Drest-a library that presents doctrine entities as rest resource nodes
- Restler-A lightweight framework that presents the PHP method as a RESTful web API
- Fractal-[Best practices] Unified processing of data returns
Cache (Caching)
Library of cached data
- Alternative PHP cache (APC)-open source opcode caching for PHP
- Doctrine Cache-a caching library.
- Zend caches-another cache library
- Cake Cache-a library for caching
- Stash-Another cache library
- Cachetool-a command-line tool that clears the Apc/opcode cache
- phpfastcache-php Cache Library
Data structure and storage (Structure and Storage)
Libraries that implement data structures and storage technologies
- Ardent-a library of data structures
- PHP Collections-A simple collection library
- Serializer-a library for serializing and deserializing data
- Zend Serializer-Another library for serializing and deserializing data
- PHP Object Storage-a library for object storage
- Fractal-a library that transforms complex data structures into JSON output
- Totem-a library that manages and creates data modification sets
- pinq-php real-time LINQ Library
- Jsonmapper-a library that maps an inline JSON structure to a PHP class
- Cake Collection-A simple collection library
Notice (Notifications)
about the Notification library
- Nod-a notification library
- Notificato-a library that handles push messages
- Notification Pusher-Standalone library for device push notifications
- Notificator-a Lightweight notification library
Deployment (Deployment)
Libraries for Project deployment
- Pomander-a deployment tool for a PHP application
- Fast and simple deployer for rocketeer-php
- Envoy-Tools to run SSH tasks using PHP
- Plum-a deployment library
- Deployer-A deployment tool
Internationalization and localization (internationalisation and localisation)
Libraries for internationalization (i18n) and localization (L10N)
- Aura Intl
- Cake i18n-Translating and localizing messages
Third-party APIs (third parties APIs)
Libraries accessing third-party APIs
Extension (Extensions)
Libraries to help build PHP extensions
- Zephir-A compiled language between PHP and C + + for developing PHP extensions
- PHP CPP-A C + + library for developing PHP extensions
Others (Miscellaneous)
Useful class libraries and tools that do not belong to the above categories
- Pinyin-a library of Chinese characters to pinyin
- Pinyin-a library of Chinese characters to pinyin
- class.upload.php-File Upload processing class
- Php-paginator-Pagination Processing class
- PHP implementation of Underscore.php-underscore.js
- Flexihash-Consistent Hash Library
- Eden-A PHP rapid development class library that contains many components for automatic loading, event-driven, document systems, caching, templates, internationalization, databases, Web services, payment gateways, mounts, and cloud service technologies.
- Html-parser-html Parsing Tools
- Phpcrawl-php's reptile frame