Merge pull request #1 from ziadoz/master

merge from master
This commit is contained in:
amlun 2016-01-26 11:54:02 +08:00
commit 6d873bd4f7
3 changed files with 222 additions and 111 deletions

50
CODE-OF-CONDUCT.md Normal file
View File

@ -0,0 +1,50 @@
# Contributor Code of Conduct
As contributors and maintainers of this project, and in the interest of
fostering an open and welcoming community, we pledge to respect all people who
contribute through reporting issues, posting feature requests, updating
documentation, submitting pull requests or patches, and other activities.
We are committed to making participation in this project a harassment-free
experience for everyone, regardless of level of experience, gender, gender
identity and expression, sexual orientation, disability, personal appearance,
body size, race, ethnicity, age, religion, or nationality.
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* Public or private harassment
* Publishing other's private information, such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
By adopting this Code of Conduct, project maintainers commit themselves to
fairly and consistently applying these principles to every aspect of managing
this project. Project maintainers who do not follow or enforce the Code of
Conduct may be permanently removed from the project team.
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting a project maintainer at [INSERT EMAIL ADDRESS]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. Maintainers are
obligated to maintain confidentiality with regard to the reporter of an
incident.
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.3.0, available at
[http://contributor-covenant.org/version/1/3/0/][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/3/0/

View File

@ -1,14 +1,24 @@
# Contribution Guidelines
Please ensure your pull request adheres to the following guidelines:
Unfortunately, not every library, tool or framework can be considered for inclusion. The aim of Awesome PHP is to be a concise list of noteworthy and interesting software written in modern PHP. Therefore, suggested software should:
a) Be widely recommended regardless of personal opinion
b) Well known or discussed within the PHP community
c) Be unique in its approach or function
d) Fill a niche gap in the market
Self-promotion is frowned upon, so please consider seriously whether your project meets the criteria before opening a pull request, otherwise it may be closed without being reviewed.
Also, please ensure your pull request adheres to the following guidelines:
* Software that is PHP 5.5+, Composer-installable, PSR compliant, united tested and well documented is preferred.
* Please search previous suggestions before making a new one, as yours may be a duplicate.
* Libraries that are PHP 5.3+, Composer-installable, PSR compliant, tested and documented are preferred.
* Enter a meaningful pull request description.
* Please make an individual commit for each suggestion in a pull request.
* Put a link to each library in your pull request ticket, so they're easier to look at.
* Put a link to each library in your pull request ticket so it's easier to review.
* Use the following format for libraries: \[LIBRARY\]\(LINK\) - DESCRIPTION.
* Prefix duplicate library names with their vendor or namespace followed by a space: Foo\Bar would be Foo Bar.
* New categories, or improvements to the existing categorisation are welcome.
* Keep descriptions short and simple.
* New categories, or improvements to the existing categorisation, are always welcome.
* Please keep descriptions short, simple and unbiased. No buzzwords or marketing jargon.
* End all descriptions with a full stop/period.
* Check your spelling and grammar.
* Make sure your text editor is set to remove trailing whitespace.

263
README.md
View File

@ -2,79 +2,81 @@
A curated list of amazingly awesome PHP libraries, resources and shiny things.
## Contributing
Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md) for details.
Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONTRIBUTING.md) and [CODE-OF-CONDUCT](https://github.com/ziadoz/awesome-php/blob/master/CODE-OF-CONDUCT.md) for details.
## Table of Contents
- [Awesome PHP](#awesome-php)
- [Dependency Management](#dependency-management)
- [Dependency Management Extras](#dependency-management-extras)
- [Frameworks](#frameworks)
- [Framework Extras](#framework-extras)
- [Components](#components)
- [Micro Frameworks](#micro-frameworks)
- [Micro Framework Extras](#micro-framework-extras)
- [Dependency Management](#dependency-management)
- [Dependency Management Extras](#dependency-management-extras)
- [Frameworks](#frameworks)
- [Framework Extras](#framework-extras)
- [Components](#components)
- [Micro Frameworks](#micro-frameworks)
- [Micro Framework Extras](#micro-framework-extras)
- [Routers](#routers)
- [Templating](#templating)
- [Static Site Generators](#static-site-generators)
- [HTTP](#http)
- [Middlewares](#middlewares)
- [URL](#url)
- [Email](#email)
- [Files](#files)
- [Streams](#streams)
- [Dependency Injection](#dependency-injection)
- [Imagery](#imagery)
- [Testing](#testing)
- [Continuous Integration](#continuous-integration)
- [Documentation](#documentation)
- [Security](#security)
- [Passwords](#passwords)
- [Code Analysis](#code-analysis)
- [Debugging](#debugging)
- [Build Tools](#build-tools)
- [Task Runners](#task-runners)
- [Navigation](#navigation)
- [Asset Management](#asset-management)
- [Geolocation](#geolocation)
- [Date and Time](#date-and-time)
- [Event](#event)
- [Logging](#logging)
- [E-commerce](#e-commerce)
- [PDF](#pdf)
- [Office](#office)
- [Database](#database)
- [Migrations](#migrations)
- [NoSQL](#nosql)
- [Queue](#queue)
- [Search](#search)
- [Command Line](#command-line)
- [Authentication and Authorization](#authentication-and-authorization)
- [Markup](#markup)
- [Strings](#strings)
- [Numbers](#numbers)
- [Filtering and Validation](#filtering-and-validation)
- [REST and API](#rest-and-api)
- [Caching](#caching)
- [Data Structure and Storage](#data-structure-and-storage)
- [Notifications](#notifications)
- [Deployment](#deployment)
- [Internationalisation and Localisation](#internationalisation-and-localisation)
- [Third Party APIs](#third-party-apis)
- [Extensions](#extensions)
- [Miscellaneous](#miscellaneous)
- [Templating](#templating)
- [Static Site Generators](#static-site-generators)
- [HTTP](#http)
- [Middlewares](#middlewares)
- [URL](#url)
- [Email](#email)
- [Files](#files)
- [Streams](#streams)
- [Dependency Injection](#dependency-injection)
- [Imagery](#imagery)
- [Testing](#testing)
- [Continuous Integration](#continuous-integration)
- [Documentation](#documentation)
- [Security](#security)
- [Passwords](#passwords)
- [Code Analysis](#code-analysis)
- [Architectural](#architectural)
- [Debugging and Profiling](#debugging-and-profiling)
- [Build Tools](#build-tools)
- [Task Runners](#task-runners)
- [Navigation](#navigation)
- [Asset Management](#asset-management)
- [Geolocation](#geolocation)
- [Date and Time](#date-and-time)
- [Event](#event)
- [Logging](#logging)
- [E-commerce](#e-commerce)
- [PDF](#pdf)
- [Office](#office)
- [Database](#database)
- [Migrations](#migrations)
- [NoSQL](#nosql)
- [Queue](#queue)
- [Search](#search)
- [Command Line](#command-line)
- [Authentication and Authorization](#authentication-and-authorization)
- [Markup](#markup)
- [Strings](#strings)
- [Numbers](#numbers)
- [Filtering and Validation](#filtering-and-validation)
- [API](#api)
- [Caching](#caching)
- [Data Structure and Storage](#data-structure-and-storage)
- [Notifications](#notifications)
- [Deployment](#deployment)
- [Internationalisation and Localisation](#internationalisation-and-localisation)
- [Third Party APIs](#third-party-apis)
- [Extensions](#extensions)
- [Miscellaneous](#miscellaneous)
- [Software](#software)
- [PHP Installation](#php-installation)
- [Development Environment](#development-environment)
- [Virtual Machines](#virtual-machines)
- [Integrated Development Environment](#integrated-development-environment)
- [Web Applications](#web-applications)
- [PHP Installation](#php-installation)
- [Development Environment](#development-environment)
- [Virtual Machines](#virtual-machines)
- [Integrated Development Environment](#integrated-development-environment)
- [Web Applications](#web-applications)
- [Infrastructure](#infrastructure)
- [Resources](#resources)
- [PHP Websites](#php-websites)
- [Other Websites](#other-websites)
- [PHP Books](#php-books)
- [PHP Videos](#php-videos)
- [PHP Reading](#php-reading)
- [PHP Internals Reading](#php-internals-reading)
- [PHP Websites](#php-websites)
- [Other Websites](#other-websites)
- [PHP Books](#php-books)
- [PHP Videos](#php-videos)
- [PHP Reading](#php-reading)
- [PHP Internals Reading](#php-internals-reading)
- [Contributing](#contributing)
## Dependency Management
@ -83,6 +85,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Composer](http://getcomposer.org/)/[Packagist](http://packagist.org/) - A package and dependency manager.
* [Composer Installers](https://github.com/composer/installers) - A multi framework Composer library installer.
* [Pickle](https://github.com/FriendsOfPHP/pickle) - A PHP extension installer.
* [Melody](http://melody.sensiolabs.org/) - A tool to build one file Composer scripts.
## Dependency Management Extras
*Extras related to dependency management.*
@ -98,14 +101,14 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
## Frameworks
*Web development frameworks.*
* [Symfony2](http://symfony.com/) - A framework comprised of individual components.
* [Zend Framework 2](http://framework.zend.com) - Another framework comprised of individual components.
* [Laravel 5](http://laravel.com/) - Another PHP framework.
* [Symfony 2](http://symfony.com/) - A framework comprised of individual components (SF2).
* [Zend Framework 2](http://framework.zend.com) - Another framework comprised of individual components (ZF2).
* [Laravel 5](http://laravel.com/) - Another PHP framework (L5).
* [Aura PHP](http://auraphp.com/) - A framework of independent components.
* [Yii2](https://github.com/yiisoft/yii2/) - Another PHP framework.
* [Nette](http://nette.org) - Another framework comprised of individual components.
* [PPI Framework 2](http://www.ppi.io) - An interoperability framework.
* [CakePHP](http://cakephp.org/) - A rapid application development framework.
* [CakePHP](http://cakephp.org/) - A rapid application development framework (CP).
* [Phalcon](http://phalconphp.com/en/) - A framework implemented as a C extension.
## Framework Extras
@ -113,13 +116,15 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Symfony CMF](https://github.com/symfony-cmf/symfony-cmf) - A Content Management Framework to create custom CMS.
* [Knp RAD Bundle](http://rad.knplabs.com/) - A Rapid Application Development (RAD) bundle for Symfony 2.
* [CakePHP CRUD](https://github.com/friendsofcake/crud) - A Rapid Application Development (RAD) plugin for CakePHP.
## Components
*Standalone component from web development frameworks and development groups.*
*Standalone components from web development frameworks and development groups.*
* [Symfony2 Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony2.
* [Zend Framework 2 Components](https://packages.zendframework.com/) - The components that make ZF2.
* [Symfony2 Components](http://symfony.com/doc/master/components/index.html) - The components that make Symfony 2.
* [Zend Framework 2 Components](https://packages.zendframework.com/) - The components that make Zend Framework.
* [Aura Components](http://auraphp.github.com/) - A package of PHP 5.4 components.
* [CakePHP Plugins](http://plugins.cakephp.org/) - A directory of CakePHP plugins.
* [Hoa Project](http://hoa-project.net/En/) - Another package of PHP components.
* [League of Extraordinary Packages](https://thephpleague.com/) - A PHP package development group.
@ -129,6 +134,8 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Silex](http://silex.sensiolabs.org/) - A micro framework built around Symfony2 components.
* [Slim](http://www.slimframework.com/) - Another simple micro framework.
* [Bullet PHP](http://bulletphp.com/) - A micro framework for building REST APIs.
* [Lumen](http://lumen.laravel.com) - A micro-framework by Laravel.
* [Proton](https://github.com/alexbilbie/Proton) - A StackPHP compatible micro framework
## Micro Framework Extras
*Extras related to micro frameworks and routers.*
@ -184,8 +191,8 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
*Libraries for parsing URLs.*
* [Purl](https://github.com/jwage/purl) - A URL manipulation library.
* [Uri](https://github.com/thephpleague/uri) - Another URL manipulation library.
* [PHP Domain Parser](https://github.com/jeremykendall/php-domain-parser) - A domain suffix parser library.
* [Url](https://github.com/thephpleague/url) - A simple URL manipulation library.
## Email
*Libraries for sending and parsing email.*
@ -196,6 +203,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Email Reply Parser](https://github.com/willdurand/EmailReplyParser) - An email reply parser library.
* [Stampie](https://github.com/henrikbjorn/Stampie) - A library for email services such as [SendGrid](http://sendgrid.com), [PostMark](http://postmarkapp.com), [MailGun](http://www.mailgun.com) and [Mandrill](http://www.mandrill.com).
* [CssToInlineStyles](https://github.com/tijsverkoyen/CssToInlineStyles) - A library to inline CSS in email templates.
* [Email Validator](https://github.com/nojacko/email-validator) - A small email address validation library.
## Files
*Libraries for file manipulation and MIME type detection.*
@ -222,8 +230,9 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Pimple](http://pimple.sensiolabs.org/) - A tiny dependency injection container.
* [Auryn](https://github.com/rdlowrey/Auryn) - Another dependency injection container.
* [Container](https://github.com/thephpleague/container) - Another flexible dependency injection container.
* [PHP DI](http://mnapoli.github.com/PHP-DI/) - A dependency injection implementation using annotations.
* [PHP-DI](http://php-di.org/) - A dependency injection container that supports autowiring.
* [Acclimate](https://github.com/jeremeamia/acclimate) - A common interface to dependency injection containers and service locators.
* [Symfony DI](https://github.com/symfony/DependencyInjection) - A dependency injection container component (SF2).
## Imagery
*Libraries for manipulating images.*
@ -236,6 +245,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Image With Text](https://github.com/nmcteam/image-with-text) - A library for embedding text into images.
* [Color Extractor](https://github.com/php-loep/color-extractor) - A library for extracting colours from images.
* [Glide](https://github.com/thephpleague/glide) - An on-demand image manipulation library.
* [Image Optimizer](https://github.com/psliwa/image-optimizer) - A library for optimizing images.
## Testing
*Libraries for testing codebases and generating test data.*
@ -266,9 +276,10 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
*Libraries and applications for continuous integration.*
* [Travis CI](https://travis-ci.org/) - A continuous integration platform.
* [SemaphoreCI](https://semaphoreapp.com/) - A continuous integration platform for open source and private projects.
* [PHPCI](http://www.phptesting.org/) - An open source continuous integration platform for PHP.
* [Sismo](http://sismo.sensiolabs.org/) - A continuous testing server library.
* [Jenkins](http://jenkins-ci.org/) A continous integration platform with [PHP support](http://jenkins-php.org/index.html).
* [Jenkins](http://jenkins-ci.org/) - A continous integration platform with [PHP support](http://jenkins-php.org/index.html).
* [JoliCi](https://github.com/jolicode/JoliCi) - A continuous integration client written in PHP and powered by Docker.
## Documentation
@ -303,6 +314,7 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Password Policy](https://github.com/ircmaxell/password-policy) - A password policy library for PHP and JavaScript.
* [Password Validator](https://github.com/jeremykendall/password-validator) - A library for validating and upgrading password hashes.
* [Zxcvbn PHP](https://github.com/bjeavons/zxcvbn-php) - A realistic PHP password strength estimate library based on Zxcvbn JS.
* [GenPhrase](https://github.com/timoh6/GenPhrase) - A library for generating secure random passphrases.
## Code Analysis
*Libraries and tools for analysing, parsing and manipulating codebases.*
@ -324,11 +336,27 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Mondrian](https://github.com/Trismegiste/Mondrian) - A code analysis tool using Graph Theory.
* [Scrutinizer](https://scrutinizer-ci.com/) - A web tool to scrutinise PHP code.
* [PHPLOC](https://github.com/sebastianbergmann/phploc) - A tool for quickly measuring the size of a PHP project.
* [xHprof](https://github.com/phacility/xhprof) - Another profiling tool for PHP.
* [PHPCheckstyle](https://github.com/jbrooksuk/phpcheckstyle) - A tool to help adhere to certain coding conventions.
* [PhpDependencyAnalysis](https://github.com/mamuz/PhpDependencyAnalysis) - A tool to create customisable dependency graphs.
* [Code Climate](http://codeclimate.com) - An automated code review.
## Debugging
*Libraries and tools for debugging code.*
## Architectural
*Libraries related to design patterns, programming approaches and ways to organize code.*
* [PHP Option](https://github.com/schmittjoh/php-option) - An option type library.
* [Ruler](https://github.com/bobthecow/Ruler) - A simple stateless production rules engine.
* [Finite](http://yohan.giarel.li/Finite) - A simple PHP finite state machine.
* [Compose](https://github.com/igorw/compose) - A function composition library.
* [Monad PHP](https://github.com/ircmaxell/monad-php) - A simple Monad library.
* [Patchwork](http://antecedent.github.io/patchwork/) - A library for redefining userland functions.
* [Galapagos](https://github.com/endel/galapagos) - Evolutionary language transformation.
* [Design Patterns PHP](https://github.com/domnikl/DesignPatternsPHP) - A repository of software patterns implemented in PHP.
* [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library.
* [Lib Accessor](https://github.com/phine/lib-accessor) - A library for simplifying accessors.
* [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators.
## Debugging and Profiling
*Libraries and tools for debugging and profiling code.*
* [xDebug](https://github.com/xdebug/xdebug) - A debug and profile tool for PHP.
* [PHP Debug Bar](http://phpdebugbar.com/) - A debugging toolbar.
@ -337,6 +365,9 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [PHPDBG](http://phpdbg.com/) - An interactive PHP debugger.
* [Tracy](https://github.com/nette/tracy) - A simple error detection, logging and time measuring library.
* [Z-Ray](http://www.zend.com/en/products/server/z-ray) - A debug and profile tool for Zend Server.
* [XHProf](https://github.com/phacility/xhprof) - A profiling tool originally developed by Facebook.
* [Blackfire.io](http://blackfire.io) - A low-overhead code profiler.
* [Kint](https://github.com/raveren/kint) - A debugging and profiling tool.
## Build Tools
*Project build and automation tools.*
@ -390,9 +421,11 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Rx.PHP](https://github.com/asm89/Rx.PHP) - A reactive extension library.
* [Ratchet](https://github.com/cboden/Ratchet) - A web socket library.
* [Hoa WebSocket](https://github.com/hoaproject/Websocket) - Another web socket library.
* [Elephant.io](https://github.com/Wisembly/Elephant.io) - Yet another web socket library.
* [Hoa EventSource](https://github.com/hoaproject/Eventsource) - An event source library.
* [Evenement](https://github.com/igorw/evenement) - An event dispatcher library.
* [Event](https://github.com/thephpleague/event) - An event library with a focus on domain events.
* [Cake Event](https://github.com/cakephp/event) - An event dispatcher library (CP).
* [Broadway](https://github.com/qandidate-labs/broadway) - An event source and CQRS library.
## Logging
@ -400,11 +433,12 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Monolog](https://github.com/Seldaek/monolog) - A comprehensive logger.
* [KLogger](https://github.com/katzgrau/KLogger) - An easy-to-use PSR-3 compliant logging class.
* [Analog](https://github.com/jbroadway/analog) - A closure-based micro logging package.
## E-commerce
*Libraries and applications for taking payments and building online e-commerce stores.*
* [OmniPay](https://github.com/adrianmacneil/omnipay) - A framework agnostic multi-gateway payment processing library.
* [OmniPay](https://github.com/thephpleague/omnipay) - A framework agnostic multi-gateway payment processing library.
* [Payum](https://github.com/payum/payum) - A payment abstraction library.
* [Sylius](http://www.sylius.org/) - An open source e-commerce solution.
* [Thelia](http://thelia.net/v2/) - Another open source e-commerce solution.
@ -417,13 +451,14 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Snappy](https://github.com/KnpLabs/snappy) - A PDF and image generation library.
* [WKHTMLToPDF](https://github.com/antialize/wkhtmltopdf) - A tool to convert HTML to PDF.
* [PHPPdf](https://github.com/psliwa/PHPPdf) - A library for generating PDFs and images from XML.
## Office
*Libraries for working with office suite documents.*
* [PHPWord](https://github.com/PHPOffice/PHPWord) - A library for working with Microsoft Word documents.
* [PHPExcel](https://github.com/PHPOffice/PHPExcel) - A library for working with Microsoft Excel documents.
* [PHPPowerPoint](https://github.com/PHPOffice/PHPPowerPoint) - A library for working with Microsoft Word documents.
* [PHPPowerPoint](https://github.com/PHPOffice/PHPPowerPoint) - A library for working with Microsoft PowerPoint Presentations.
* [ExcelAnt](https://github.com/Wisembly/ExcelAnt) - A library for manipulating Microsoft Excel documents.
## Database
@ -432,12 +467,13 @@ Please see [CONTRIBUTING](https://github.com/ziadoz/awesome-php/blob/master/CONT
* [Doctrine](http://www.doctrine-project.org/) - A comprehensive DBAL and ORM.
* [Doctrine Extensions](https://github.com/l3pp4rd/DoctrineExtensions) - A collection of Doctrine behavioural extensions.
* [Propel](http://www.propelorm.org/) - A fast ORM, migration library and query builder.
* [Eloquent](https://github.com/illuminate/database) - The Laravel 4 ORM.
* [Eloquent](https://github.com/illuminate/database) - A simple ORM (L5).
* [Baum](https://github.com/etrepat/baum) - A nested set implementation for Eloquent.
* [Spot2](https://github.com/vlucas/spot2) - A MySQL datamapper ORM.
* [RedBean](http://redbeanphp.com/) - A lightweight, configuration-less ORM.
* [Pomm](https://github.com/chanmix51/Pomm) - An Object Model Manager for PostgreSQL.
* [ProxyManager](https://github.com/Ocramius/ProxyManager) - A set of utilities to generate proxy objects for data mappers.
* [Cake ORM](https://github.com/cakephp/orm) - Object-Relational Mapper, implemented using the DataMapper pattern (CP).
## Migrations
Libraries to help manage database schemas and migrations.
@ -471,7 +507,7 @@ Libraries to help manage database schemas and migrations.
* [SphinxQL query builder](http://foolcode.github.io/SphinxQL-Query-Builder/) - A query library for the [Sphinx](http://sphinxsearch.com/) search engine.
## Command Line
*Libraries for building command line utilities.*
*Libraries related to the command line.*
* [Boris](https://github.com/d11wtq/boris) - A tiny PHP REPL.
* [PsySH](https://github.com/bobthecow/psysh) - Another PHP REPL.
@ -490,8 +526,8 @@ Libraries to help manage database schemas and migrations.
## Authentication and Authorization
*Libraries for implementing user authentication and authorization.*
* [Sentry](https://github.com/cartalyst/sentry) - A framework agnostic authentication & authorisation library.
* [Sentry Social](http://docs.cartalyst.com/sentry-social-2/introduction) - A library for social network authentication.
* [Sentinel](https://cartalyst.com/manual/sentinel/2.0) - A framework agnostic authentication & authorisation library.
* [Sentinel Social](https://cartalyst.com/manual/sentinel-social/2.0) - A library for social network authentication.
* [Opauth](https://github.com/opauth/opauth) - A multi-provider authentication framework.
* [OAuth2 Server](http://oauth2.thephpleague.com/) - An OAuth2 authentication server, resource server and client library.
* [OAuth2 Server](http://bshaffer.github.io/oauth2-server-php-docs/) - Another OAuth2 server implementation.
@ -509,12 +545,12 @@ Libraries to help manage database schemas and migrations.
* [Decoda](http://milesj.me/code/php/decoda) - A lightweight markup parser library.
* [PHP Markdown](https://github.com/michelf/php-markdown) - A Markdown parser.
* [CommonMark PHP](https://github.com/thephpleague/commonmark) - A Markdown parser which supports the full [CommonMark spec](https://jgm.github.io/stmd/spec.html).
* [Dflydev Markdown](https://github.com/dflydev/dflydev-markdown) - Another Markdown parser.
* [CommonMark PHP](https://github.com/thephpleague/commonmark) - A Markdown parser which supports the full [CommonMark spec](http://spec.commonmark.org/).
* [Parsedown](https://github.com/erusev/parsedown) - Another Markdown parser.
* [Ciconia](https://github.com/kzykhys/Ciconia) - Another Markdown parser that supports Github flavoured Markdown.
* [Cebe Markdown](https://github.com/cebe/markdown) - An fast and extensible Markdown parser.
* [HTML5 PHP](https://github.com/Masterminds/html5-php) - An HTML5 parser and serializer library.
* [Emoji](https://github.com/heyupdate/Emoji) - A library that converts unicode characters and names into emoji images.
## Strings
*Libraries for parsing and manipulating strings.*
@ -530,6 +566,8 @@ Libraries to help manage database schemas and migrations.
* [Text](https://github.com/kzykhys/Text) - A text manipulation library.
* [SQL Formatter](https://github.com/jdorn/sql-formatter/) - A library for formatting SQL statements.
* [UA Parser](https://github.com/tobie/ua-parser/tree/master/php) - A library for parsing user agent strings.
* [Device Detector](https://github.com/piwik/device-detector) - Another library for parsing user agent strings.
* [Mobile-Detect](https://github.com/serbanghita/Mobile-Detect) - A lightweight PHP class for detecting mobile devices (including tablets).
## Numbers
*Libraries for working with numbers.*
@ -545,15 +583,16 @@ Libraries to help manage database schemas and migrations.
*Libraries for filtering and validating data.*
* [Filterus](https://github.com/ircmaxell/filterus) - A simple PHP filtering library.
* [Respect Validate](https://github.com/Respect/Validation) - A simple validation library.
* [Respect Validation](https://github.com/Respect/Validation) - A simple validation library.
* [Valitron](https://github.com/vlucas/valitron) - Another validation library.
* [Cake Validation](https://github.com/cakephp/validation) - Another validation library (CP).
* [Upload](https://github.com/codeguy/Upload) - A library for handling file uploads and validation.
* [DMS Filter](https://github.com/rdohms/DMS-Filter) - An annotation filtering library.
* [MetaYaml](https://github.com/romaricdrigon/MetaYaml) - A schema validation library that supports YAML, JSON and XML.
* [ISO-codes](https://github.com/ronanguilloux/IsoCodes) - A library for validating various ISO and ZIP codes (IBAN, SWIFT/BIC, BBAN, VAT, SSN, UKNIN).
## REST and API
*Libraries and web tools for developing REST-ful APIs.*
## API
*Libraries and web tools for developing APIs.*
* [Apigility](https://github.com/zfcampus/zf-apigility-skeleton) - An API builder built with Zend Framework 2.
* [Hateoas](https://github.com/willdurand/Hateoas) - A HATEOAS REST web service library.
@ -561,13 +600,17 @@ Libraries to help manage database schemas and migrations.
* [Negotiation](https://github.com/willdurand/Negotiation) - A content negotiation library.
* [Drest](https://github.com/leedavis81/drest) - A library for exposing Doctrine entities as REST resource endpoints.
* [Restler](https://github.com/Luracast/Restler) - A lightweight framework to expose PHP methods as RESTful web API.
* [wsdl2phpgenerator](https://github.com/wsdl2phpgenerator/wsdl2phpgenerator) - A tool to generate PHP classes from SOAP WSDL files.
## Caching
*Libraries for caching data.*
* [Alternative PHP Cache (APC)](http://www.php.net/manual/en/book.apc.php) - Open opcode cache for PHP.
* [Cache](https://github.com/doctrine/cache) - A caching library (part of Doctrine).
* [Doctrine Cache](https://github.com/doctrine/cache) - A caching library.
* [Zend Cache](https://github.com/zendframework/zend-cache) - Another caching library (ZF2).
* [Cake Cache](https://github.com/cakephp/cache) - A caching library (CP).
* [Stash](https://github.com/tedivm/Stash) - Another library for caching.
* [CacheTool](https://github.com/gordalina/cachetool) - A tool to clear APC/opcode caches from the command line.
## Data Structure and Storage
*Libraries that implement data structure or storage techniques.*
@ -575,11 +618,13 @@ Libraries to help manage database schemas and migrations.
* [Ardent](https://github.com/morrisonlevi/Ardent) - A library of data structures.
* [PHP Collections](https://github.com/schmittjoh/php-collection) - A simple collections library.
* [Serializer](https://github.com/schmittjoh/serializer) - A library for serialising and de-serialising data.
* [Zend Serializer](https://github.com/zendframework/zend-serializer) - Another library for serialising and de-serialising data (ZF2).
* [PHP Object Storage](https://github.com/herrera-io/php-object-storage) - A library for object storage.
* [Fractal](https://github.com/php-loep/fractal) - A library for converting complex data structures to JSON output.
* [Totem](http://github.com/Wisembly/Totem) - A library to manage and create data changesets.
* [PINQ](https://github.com/TimeToogo/Pinq) - A real Linq library for PHP.
* [JsonMapper](https://github.com/netresearch/jsonmapper) - A library that maps nested JSON structures onto PHP classes.
* [Cake Collection](https://github.com/cakephp/collection) - A simple collections library (CP).
## Notifications
*Libraries for working with notification software.*
@ -602,6 +647,7 @@ Libraries to help manage database schemas and migrations.
*Libraries for Internationalization (I18n) and Localization (L10n).*
* [Aura Intl](https://github.com/auraphp/Aura.Intl)
* [Cake I18n](https://github.com/cakephp/i18n) - Message translation and localization for dates and numbers (CP)
## Third Party APIs
*Libraries for accessing third party APIs.*
@ -632,18 +678,16 @@ Libraries to help manage database schemas and migrations.
* [JSON Lint](https://github.com/Seldaek/jsonlint) - A JSON lint utility.
* [JSONPCallbackValidator](https://github.com/willdurand/JsonpCallbackValidator) - A library for validating JSONP callbacks.
* [Pagerfanta](https://github.com/whiteoctober/Pagerfanta) - A pagination library.
* [Ruler](https://github.com/bobthecow/Ruler) - A simple stateless production rules engine.
* [LiteCQRS](https://github.com/beberlei/litecqrs-php) - A CQRS (Command Query Responsibility Separation) library.
* [Chief](https://github.com/adamnicholson/Chief) - A command bus library.
* [Sslurp](https://github.com/EvanDotPro/Sslurp) - A library that makes dealing with SSL suck less.
* [PHP Option](https://github.com/schmittjoh/php-option) An option type library.
* [Metrics](https://github.com/beberlei/metrics) - A simple metrics API library.
* [Sabre VObject](https://github.com/evert/sabre-vobject) - A library for parsing VCard and iCalendar objects.
* [Annotations](https://github.com/doctrine/annotations) - An annotations library (part of Doctrine).
* [Whoops](https://github.com/filp/whoops) - A pretty error handling library.
* [Finite](http://yohan.giarel.li/Finite) - A simple PHP finite state machine.
* [LadyBug](https://github.com/raulfraile/Ladybug) - A dumper library.
* [Symfony VarDumper](http://symfony.com/doc/current/components/var_dumper/introduction.html) - A variable dumper component (SF2).
* [Procrastinator](https://github.com/lstrojny/Procrastinator) - A library for running time consuming tasks.
* [Compose](https://github.com/igorw/compose) - A function composition library.
* [SuperClosure](https://github.com/jeremeamia/super_closure) - A library that allows Closures to be serialized.
* [Jumper](https://github.com/kakawait/Jumper) - A remote service executor library.
* [Underscore](http://anahkiasen.github.io/underscore-php/) - A PHP port of the Underscore JS library.
@ -655,25 +699,19 @@ Libraries to help manage database schemas and migrations.
* [Essence](https://github.com/felixgirault/essence) - A library for extracting web media.
* [Embera](https://github.com/mpratt/Embera) - An Oembed consumer library.
* [Graphviz](https://github.com/alexandresalome/graphviz) - A Graphviz library.
* [Monad PHP](https://github.com/ircmaxell/monad-php) - A simple Monad library.
* [Flux](https://github.com/selvinortiz/flux) - A regular expression building library.
* [Patchwork](http://antecedent.github.io/patchwork/) - A library for redefining userland functions.
* [Galapagos](https://github.com/igorw/galapagos) - Evolutionary language transformation.
* [Design Patterns PHP](https://github.com/domnikl/DesignPatternsPHP) - A repository of software patterns implemented in PHP.
* [PHPCR](https://github.com/phpcr/phpcr) - A PHP port of the Java Content Repository (JCR).
* [Functional PHP](https://github.com/lstrojny/functional-php) - A functional programming library.
* [ClassPreloader](https://github.com/mtdowling/ClassPreloader) - A library for optimising autoloading.
* [Lib Country](https://github.com/phine/lib-country) - A library for country and subdivision data.
* [Lib Accessor](https://github.com/phine/lib-accessor) - A library for simplifying accessors.
* [PHPStack](http://dunkels.com/adam/phpstack/) - A TCP/IP stack proof of concept written in PHP.
* [Nmap](https://github.com/willdurand/nmap) - A PHP wrapper around [Nmap](http://nmap.org/).
* [Code Mover](https://github.com/dantleech/code-mover) - A library for moving code.
* [Iter](https://github.com/nikic/iter) - A library that provides iteration primitives using generators.
* [Lambda PHP](https://github.com/igorw/lambda-php) - A Lambda calculus interpreter in PHP.
* [Country List](https://github.com/umpirsky/country-list) - A list of all countries with names and ISO 3166-1 codes.
* [PHP-GPIO](https://github.com/ronanguilloux/php-gpio) - A library for playing with the Raspberry PI's GPIO pins.
* [print_o](https://github.com/koriym/print_o) - An object graph visualizer.
* [Alias](https://github.com/fuelphp/alias) - A class aliasing library.
* [Cake Utility](https://github.com/cakephp/utility) - Utility classes such as Inflector, String, Hash, Security and Xml (CP).
# Software
*Software for creating a development environment.*
@ -717,11 +755,17 @@ Libraries to help manage database schemas and migrations.
## Web Applications
*Web-based applications and tools.*
* [3V4L](http://3v4l.org/) - An online PHP shell.
* [3V4L](http://3v4l.org/) - An online PHP & HHVM shell.
* [DBV](http://dbv.vizuina.com/) - A database version control application.
* [PHP Queue](https://github.com/CoderKungfu/php-queue) - An application for managing queueing backends.
* [Composer as a Service](http://composer.borreli.com/) - A tool for downloading Composer packages as a zip file.
* [Composer as a Service](https://composer.borreli.com/) - A tool for downloading Composer packages as a zip file.
* [MailCatcher](https://github.com/sj26/mailcatcher) - A web tool for capturing and viewing emails.
* [Cachet](https://github.com/cachethq/cachet) - The open source status page system.
## Infrastructure
*Infrastructure for providing PHP applications and services.*
* [appserver.io](http://appserver.io/) - A multithreaded application server for PHP, written in PHP.
# Resources
Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge.
@ -771,8 +815,9 @@ Various resources, such as books, websites and articles, for improving your PHP
* [The Tangled Web — Securing Web Applications](http://www.amazon.ca/The-Tangled-Web-Securing-Applications/dp/1593273886) - A book about securing web applications by Michal Zalewski.
* [Elasticsearch: The Definitive Guide](http://www.elasticsearch.org/guide/) - A guide to working with Elasticsearch by Clinton Gormley and Zachary Tong.
* [Eloquent JavaScript](http://eloquentjavascript.net/) - A book about JavaScript programming by Marijn Haverbeke.
* [Vagrant Cookbook](https://leanpub.com/vagrantcookbook) A book about creating Vagrant environments by Erika Heidi.
* [Vagrant Cookbook](https://leanpub.com/vagrantcookbook) - A book about creating Vagrant environments by Erika Heidi.
* [Pro Git](http://git-scm.com/book/en/v2) - A book about Git by Scott Chacon and Ben Straub.
* [Head First Design Patterns](http://www.headfirstlabs.com/books/hfdp/) - A book that expains software design patterns.
## PHP Videos
*Fantastic PHP-related videos.*
@ -780,6 +825,7 @@ Various resources, such as books, websites and articles, for improving your PHP
* [Taking PHP Seriously](http://www.infoq.com/presentations/php-history) - A talk outlining PHP's strengths by Keith Adams of Facebook.
* [PHP Town Hall](http://phptownhall.com/) - A casual PHP podcast by Ben Edmunds and Phil Sturgeon.
* [Programming with Anthony](http://www.youtube.com/playlist?list=PLM-218uGSX3DQ3KsB5NJnuOqPqc5CW2kW) - A video series by Anthony Ferrara.
* [PHP UK Conference](https://www.youtube.com/user/phpukconference/videos) - A collection of videos from the PHP UK Conference.
## PHP Reading
*PHP-releated reading materials.*
@ -817,3 +863,8 @@ Various resources, such as books, websites and articles, for improving your PHP
* [PHP Evaluation Order](https://gist.github.com/nikic/6699370) - An article about evaluation order in PHP.
* PHP Source Code for Developers: [1](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers.html) [2](http://nikic.github.com/2012/03/16/Understanding-PHPs-internal-function-definitions.html) [3](http://blog.ircmaxell.com/2012/03/phps-source-code-for-php-developers_21.html) [4](http://nikic.github.com/2012/03/28/Understanding-PHPs-internal-array-implementation.html) - A series about the PHP source code.
* Collecting Garbage: [1](http://www.php.net/manual/en/features.gc.refcounting-basics.php) [2](http://www.php.net/manual/en/features.gc.collecting-cycles.php) [3](http://www.php.net/manual/en/features.gc.performance-considerations.php) - A series about the PHP garbage collection internals.
## PHP Magazines
*Fantastic PHP-related magazines.*
* [php[architect]](http://www.phparch.com/magazine/) - A monthly magazine dedicated to PHP.