PHP: list of best awesome PHP libraries

PHP: list of best awesome PHP libraries

A curated list of amazingly awesome PHP libraries, resources and shiny things

by Janeth Kent Date: 27-04-2014 php library framework

It is an exciting time to be a PHP developer. There are lots of useful libraries released every day, and with the help of Composer and Github, they are easy to discover and use. Here is a complete list of the coolest that We’ve come across.

Package Management

Libraries for package and dependency management.

Package Management Related

Libraries related to package management.

  • Satis - A static Composer repository generator.
  • Composition - A library to check your Composer environment at runtime.
  • Poser - A Composer class aliasing library.
  • Version - A parsing and comparison library for semantic versioning.
  • NameSpacer - A library to convert from underscores to namespaces.
  • Patch Installer - A library to install patches using Composer.

Frameworks

Web development frameworks.

  • Symfony2 - A framework comprised of individual components.
  • Knp RAD Bundle - A Rapid Application Development (RAD) bundle for Symfony 2.
  • Zend Framework 2 - Another framework comprised of individual components.
  • Laravel 4 - A simple PHP framework.
  • Lithium - Another framework of components.
  • Aura PHP - A framework of independent components.
  • Phalcon - A framework implemented as a C extension.

Framework Components

Web development frameworks' standalone components.

Micro Frameworks

Micro frameworks and routers.

Content Management Systems

Modern content management systems.

  • Bolt - A simple CMS built with Silex and Twig.

Templating

Libraries and tools for templating and lexing.

  • Twig - A comprehensive templating language.
  • Twig Cache Extension - A template fragment cache library for Twig.
  • Mustache - A PHP implementation of the Mustache template language.
  • Phly Mustache - Another PHP implementation of the Mustache template language.
  • MtHaml - A PHP implementation of the HAML template language.
  • Plates - A native PHP templating library.
  • Lex - A lightweight template parser.

Static Site Generators

Tools for pre-processing content to generate web pages.

  • Sculpin - A tool that converts Markdown and Twig into static HTML.
  • Phrozn - Another tool that converts Textile, Markdown and Twig into HTML.

HTTP

Libraries for working with HTTP and scraping websites.

  • Guzzle - A HTTP client.
  • Buzz - Another HTTP client.
  • Requests - A simple HTTP library.
  • Goutte - A simple web scraper.
  • PHP VCR - A library for recording and replaying HTTP requests.

URL

Libraries for parsing URLs.

Email

Libraries for sending and parsing email.

Files

Libraries for file manipulation and MIME type detection.

Streams

Libraries for working with streams.

  • Streamer - A simple object-orientated stream wrapper library.

Dependency Injection

Libraries that implement the dependency injection design pattern.

  • Pimple - A tiny dependency injection container.
  • Auryn - Another dependency injection container.
  • Orno Di - Another flexible dependency injection container.
  • PHP DI - A dependency injection implementation using annotations.
  • Acclimate - A common interface to dependency injection containers and service locators.

Imagery

Libraries for manipulating images.

Testing

Libraries for testing codebases and generating test data.

  • PHPUnit - A unit testing framework.
  • DBUnit - A database testing library for PHPUnit.
  • ParaTest - A parallel testing library for PHPUnit.
  • PHPSpec - A design by specification unit testing library.
  • Codeception - A full stack testing framework.
  • Atoum - A simple testing library.
  • Mockery - A mock object library for testing.
  • Phake - Another mock object library for testing.
  • Parody - Yet another mock object library for testing.
  • Sismo - A continuous testing server library.
  • Faker - A fake data generator library.
  • Samsui - Another fake data generator library.
  • Alice - An expressive fixture generation library.
  • Behat - A behaviour driven development (BDD) testing framework.
  • Pho - Another behaviour driven development testing framework.
  • Mink - Web acceptance testing.
  • HTTP Mock - A library for mocking HTTP requests in unit tests.
  • VFS Stream - A virtual filesystem stream wrapper for testing.
  • Locust - A modern load test library written in Python.
  • Travis CI - A continuous integration platform.
  • PHPCI - An open source continuous integration platform for PHP.

Documentation

Libraries for generating project documentation.

  • Sami - An API documentation generator.
  • APIGen - Another API documentation generator.
  • PHP Documentor 2 - A documentation generator.

Security

Libraries for generating secure random numbers, encrypting data and scanning for vulnerabilities.

  • HTML Purifier - A standards compliant HTML filter.
  • RandomLib - A library for generating random numbers and strings.
  • True Random - A library that generates random numbers using www.random.org.
  • SecurityMultiTool - A PHP security library.
  • Password Compat - A compatibility library for the new PHP 5.5 password functions.
  • PHPAss - A portable password hashing framework.
  • PHP Password Lib - A library for generating and validating passwords.
  • Password Policy - A password policy library for PHP and JavaScript.
  • Password Validator - A library for validating and upgrading password hashes.
  • PHPSecLib - A pure PHP secure communications library.
  • TCrypto - A simple encrypted key-value storage library.
  • PHP IDS - A structured PHP security layer.
  • PHP SSH - An experimental object orientated SSH wrapper library.
  • IniScan - A tool that scans PHP INI files for security.
  • SensioLabs Security Check - A web tool to check your Composer dependecies for security advisories.
  • Zed - An integrated penetration testing tool for web applications.

Code Analysis

Libraries and tools for analysing, parsing and manipulation codebases.

Build Tools

Project build and automation tools.

  • Go - A simple PHP build tool.
  • Bob - A simple project automation tool.
  • Phake - A rake PHP clone library.
  • Box - A utility to build PHAR files.
  • Phing - A PHP project build system inspired by Apache Ant.

Asset Management

Tools for managing, compressing and minifying website assets.

  • Assetic - An asset manager pipeline library.
  • Pipe - Another asset manager pipeline library.
  • Munee - An asset optimiser library.
  • JShrink - A JavaScript minifier library.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

Date and Time

Libraries for working with dates and times.

Event

Libraries that are event-driven or implement non-blocking event loops.

Logging

Libraries for generating and working with log files.

  • Monolog - A comprehensive logger.

E-commerce

Libraries and applications for taking payments and building online e-commerce stores.

  • OmniPay - A framework agnostic multi-gateway payment processing library.
  • Payum - A payment abstraction library.
  • Sylius - An open source e-commerce solution.
  • Thelia - Another open source e-commerce solution.
  • Money - A PHP implementation of Fowler's money pattern.

PDF

Libraries and software for working with PDF files.

  • Snappy - A PDF and image generation library.
  • WKHTMLToPDF - A tool to convert HTML to PDF.

ORM and Datamapping

Libraries that implement object-relational mapping or datamapping techniques.

NoSQL

Libraries for working with "NoSQL" backends.

  • MongoQB - A MongoDB query builder library.
  • Monga - A MongoDB abstraction library.
  • Predis - A feature complete Redis library.

Queue

Libraries for working with event and task queues.

  • Pheanstalk - A Beanstalkd client library.
  • PHP AMQP - A pure PHP AMQP library.
  • Thumper - A RabbitMQ pattern library.
  • Bernard - A multibackend abstraction library.

Search

Libraries and software for indexing and performing search queries on data.

Command Line

Libraries for building command line utilities.

  • Boris - A tiny PHP REPL.
  • PsySH - Another PHP REPL.
  • GetOpt - A command line opt parser.
  • OptParse - Another command line opt parser.
  • Commando - Another simple command line opt parser.
  • GetOptionKit - Another command line opt parser.
  • Cron Expression - A library to calculate cron run dates.
  • ShellWrap - A simple command line wrapper library.
  • Hoa Console - Another command line library.
  • Shunt - A library for running commands in parallel on multiple remote machines.

Authentication

Libraries for implementing authentications schemes.

  • Sentry - A framework agnostic authentication & authorisation library.
  • Sentry Social - A library for social network authentication.
  • OPAuth - A multi-provider authentication framework.
  • OAuth2 - An OAuth2 authentication server, resource server and client library.
  • PHP oAuthLib - Another OAuth library.
  • TwitterOAuth - A Twitter OAuth library.
  • TwitterSDK - A fully tested Twitter SDK.
  • Hawk - A Hawk HTTP authentication library.

Markup

Libraries for working with markup.

Text and Numbers

Libraries for parsing and manipulating text and numbers.

  • ANSI to HTML5 - An ANSI to HTML5 convertor library.
  • Patchwork UTF-8 - A portable library for working with UTF-8 strings.
  • Hoa String - Another UTF-8 string library.
  • Stringy - A string manipulation library with multibyte support.
  • Numbers PHP - A library for working with numbers.
  • Math - A library for working with large numbers.
  • Color Jizz - A library for manipulating and converting colours.
  • UUID - A library for generating UUIDs.
  • Slugify - A library to convert strings to slugs.
  • Urlify - A PHP port of Django's URLify.js.
  • Text - A text manipulation library.
  • PHP Units of Measure - A library for converting between units of measure.
  • PHP Conversion - Another library for converting between units of measure.
  • SQL Formatter - A library for formatting SQL statements.
  • Byte - A simple byte conversion library.
  • UA Parser - A library for parsing user agent strings.
  • LibPhoneNumber for PHP - A PHP implementation of Google's phone number handling library.

Filtering and Validation

Libraries for filtering and validating data.

  • Filterus - A simple PHP filtering library.
  • Respect Validate - A simple validation library.
  • Valitron - Another validation library.
  • Upload - A library for handling file uploads and validation.
  • DMS Filter - An annotation filtering library.
  • MetaYaml - A schema validation library that supports YAML, JSON and XML.

REST and API

Libraries and web tools for developing REST-ful APIs.

  • Apigility - An API builder built with Zend Framework 2.
  • Hateoas - A HATEOAS REST web service library.
  • HAL - A Hypertext Application Language (HAL) builder library.
  • Negotiation - A content negotiation library.

Caching

Libraries for caching data.

  • Cache - A caching library (part of Doctrine).
  • Stash - Another library for caching.

Data Structure and Storage

Libraries that implement data structure or storage techniques.

Notifications

Libraries for working with notification software.

  • Nod - A notification library (e.g., Growl).
  • Notificato - A library for handling push notifications.
  • Notification Pusher - A standalone library for device push notifications.
  • Notificator - A lightweight notification library.

Deployment

  • Pomander - A deployment tool for PHP applications.
  • Rocketeer - A fast and easy deployer for the PHP world.

Third Party APIs

Libraries for accessing third party APIs.

Miscellaneous

Useful libraries or tools that don't fit in the categories above.

  • Spork - A process forking library.
  • JSON Lint - A JSON lint utility.
  • JSONPCallbackValidator - A library for validating JSONP callbacks.
  • KnpMenu - A menu library.
  • Pagerfanta - A pagination library.
  • Ruler - A simple stateless production rules engine.
  • LiteCQRS - A CQRS (Command Query Responsibility Separation) library.
  • Sslurp - A library that makes dealing with SSL suck less.
  • PHP Option An option type library.
  • Metrics - A simple metrics API library.
  • Sabre VObject - A library for parsing VCard and iCalendar objects.
  • Annotations - An annotations library (part of Doctrine).
  • Whoops - A pretty error handling library.
  • Finite - A simple PHP finite state machine.
  • LadyBug - A dumper library.
  • Plum - A deployer library.
  • Procrastinator - A library for running time consuming tasks.
  • Compose - A function composition library.
  • SuperClosure - A library that allows Closures to be serialized.
  • Jumper - A remote service executor library.
  • Underscore - A PHP port of the Underscore JS library.
  • PHP PassBook - A PHP library for iOS PassBook.
  • PHP Expression - A PHP expression language.
  • RMT - A library for versioning and releasing software.
  • Wise - A configuration manager.
  • Opengraph - An opengraph library.
  • Essence - A library for extracting web media.
  • Embera - An Oembed consumer library.
  • Graphviz - A Graphviz library.
  • Monad PHP - A simple Monad library.
  • Flux - A regular expression building library.
  • Patchwork - A library for redefining userland functions.
  • Galapagos - Evolutionary language transformation.
  • Design Patterns PHP - A repository of software patterns implemented in PHP.
  • PHPCR - A PHP port of the Java Content Repository (JCR).
  • Functional PHP - A functional programming library.
  • ClassPreloader - A library for optimising autoloading.
  • Lib Country - A library for country and subdivision data.
  • Lib Accessor - A library for simplifying accessors.
  • PHPStack - A TCP/IP stack proof of concept written in PHP.
  • Nmap - A PHP wrapper around Nmap.
  • Code Mover - A library for moving code.
  • Iter - A library that provides iteration primatives using generators.
  • Lambda PHP - A Lambda calculus interpreter in PHP.
  • Country List - A list of all countries with names and ISO 3166-1 codes.
  • PHP-GPIO - A library for playing with the Raspberry PI's GPIO pins.

Development Software

Software for creating a development environment.

  • HomeBrew - A package manager for OSX.
  • HomeBrew PHP - A PHP tap for HomeBrew.
  • PHP OSX - A PHP installer for OSX.
  • HipHop PHP - A Virtual Machine, Runtime and JIT for PHP by Facebook.
  • Vagrant - A portable development environment utility.
  • Ansible - A radically simple orchestration framework.
  • Puppet - A server automation framework and application.
  • Chef - A systems integration framework.
  • SaltStack - An infrastructure management tool.
  • PHP Brew - A PHP version manager and installer.
  • PHP Env - Another PHP version manager.
  • PHP Switch - Another version manager.
  • PHP Build - Another PHP version installer.
  • CodeKit - A general web development tool.
  • HTTPie - A command line alternative to cURL written in Python.
  • Backup - A server backup tool written in Ruby.

Web Tools

Web-based tools.

  • PuPHPet - A web tool for building PHP development virtual machines.
  • Protobox - Another web tool for building PHP development virtual machines.
  • 3V4L - An online PHP shell.
  • DBV - A database version control application.
  • PHP Queue - An application for managing queueing backends.
  • Composer as a Service - A tool for downloading Composer packages as a zip file.
  • MailCatcher - A web tool for capturing and viewing emails.

Resources

Various resources, such as books, websites and articles, for improving your PHP development skills and knowledge.

Websites

Useful web and PHP-related websites and newsletters.

Books

Fantastic books and e-books.

Web Reading

General web-development-related reading materials.

PHP Reading

PHP-releated reading materials.

PHP Internals Reading

Reading materials related to the PHP internals or performance.

 
by Janeth Kent Date: 27-04-2014 php library framework hits : 25192  
 
Janeth Kent

Janeth Kent

Licenciada en Bellas Artes y programadora por pasión. Cuando tengo un rato retoco fotos, edito vídeos y diseño cosas. El resto del tiempo escribo en MA-NO WEB DESIGN AND DEVELOPMENT.

 
 
 

Related Posts

Examine the 10 key PHP functions I use frequently

PHP never ceases to surprise me with its built-in capabilities. These are a few of the functions I find most fascinating.   1. Levenshtein This function uses the Levenshtein algorithm to calculate the…

How to Track Flight Status in real-time using the Flight Tracker API

The Flight Tracker API provides developers with the ability to access real-time flight status, which is extremely useful for integrating historical tracking or live queries of air traffic into your…

What is a JWT token and how does it work?

JWT tokens are a standard used to create application access tokens, enabling user authentication in web applications. Specifically, it follows the RFC 7519 standard. What is a JWT token A JWT token…

PHP - The Singleton Pattern

The Singleton Pattern is one of the GoF (Gang of Four) Patterns. This particular pattern provides a method for limiting the number of instances of an object to just one.…

How to Send Email from an HTML Contact Form

In today’s article we will write about how to make a working form that upon hitting that submit button will be functional and send the email (to you as a…

The State of PHP 8: new features and changes

PHP 8.0 has been released last November 26: let's discover together the main innovations that the new version introduces in this language. PHP is one of the most popular programming languages…

HTTP Cookies: how they work and how to use them

Today we are going to write about the way to store data in a browser, why websites use cookies and how they work in detail. Continue reading to find out how…

The most popular Array Sorting Algorithms In PHP

There are many ways to sort an array in PHP, the easiest being to use the sort() function built into PHP. This sort function is quick but has it's limitations,…

MySQL 8.0 is now fully supported in PHP 7.4

MySQL and PHP is a love story that started long time ago. However the love story with MySQL 8.0 was a bit slower to start… but don’t worry it rules…

How to Generate Static Sites with JavaScript Static Sites Generators

Static websites and so-called JAMstack have become pretty popular recently. And with 2020 on the horizon, this trend doesn't seem to be stopping. Why? Why is old-school HTML + CSS…

A roadmap to becoming a web developer in 2019

There are plenty of tutorials online, which won't cost you a cent. If you are sufficiently self-driven and interested, you have no difficulty training yourself. The point to learn coding…

10 PHP code snippets to work with dates

Here we have some set of Useful PHP Snippets, which are useful for PHP Developers. In this tutorial we'll show you the 10 PHP date snippets you can use on…

Clicky