awesome-php/awesome-php.md
Jamie York 7d02d01c0b
2013-06-18 15:19:14 -07:00

27 KiB
Raw Blame History

Awesome PHP

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

Composer

  • 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

  • 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.

Framework Components

Micro Frameworks

  • Silex - A micro framework built around Symfony2 components.
  • Silex Skeleton - A skeleton for Silex.
  • Stack - A library of stackable middleware for Silex/Symfony.
  • Slim - Another simple micro framework.
  • Slim Skeleton - A skeleton for Slim.
  • Slim Extras - A collection of extras for Slim.
  • Bullet PHP - A mico framework for building REST APIs.
  • Klein - A fast routing library.

Templating

  • 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.
  • Lex - A lightweight template parser.

HTTP

URL

Email

File

  • Gaufrette - A filesystem abstraction layer.
  • Canal - A library to determine internet media types.
  • Apache MIME Types - A library that parses Apache MIME types.
  • Ferret - A MIME detection library.
  • Lurker - A resource tracking library.

Dependency Injection

  • Pimple - A tiny dependency injection container.
  • Auryn - Another dependency injection container.
  • Di - Another flexible dependency injection container.
  • PHP DI - A dependency injection implementation using annotations.

Imagery

Testing

  • PHPUnit - A unit testing framework.
  • 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.
  • Alice - An expressive fixture generation library.
  • Behat - A Behaviour Driven Development framework.
  • Mink - Web acceptance testing.
  • HTTP Mock - A library for mocking HTTP requests in unit tests.

Documentation

Security

  • HTML Purifier - A standards compliant HTML filter.
  • RandomLib - A library for generating random numbers and strings.
  • 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.
  • 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.

Code Analysis

  • PHP Parser - A PHP parser written in PHP.
  • Dissect - A set of tools for lexical and syntactical analysis.
  • PHP Mess Detector - A library that scans code for bugs, sub-optimal code, unused parameters and more.
  • PHP Code Sniffer - A library that detects PHP, CSS and JS coding standard violations.
  • PHPCPD - A library that detects copied and pasted code.
  • PHP Analyser - A library for analysing PHP code to find bugs and errors.
  • PHP CS Fixer - A coding standard fixer library.
  • PHP Manipulator - A library for analysing and modifying PHP Source Code.
  • PHP Refactoring Browser - A command line utility for refactoring PHP code.
  • UBench - A simple micro benchmark library.

Build 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.

Asset Management

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

Geolocation

Date and Time

Event

  • React - An event driven non-blocking I/O library.
  • Ratchet - A web socket library.
  • Evenement - An event dispatcher library.
  • FuelPHP Event - Another event dispatcher library.

Logging

  • Monolog - A comprehensive logger.

Payment

  • OmniPay - A framework agnostic multi-gateway payment processing library.
  • Payum - A payment abstraction library.

PDF

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

ORM and Datamapping

NoSQL

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

Queue

Command Line

  • Boris - A tiny PHP REPL.
  • GetOpt - A command line opt parser.
  • OptParse - Another command line opt parser.
  • Commando - Another simple command line opt parser.
  • Elf - A collection of helpers for the Symfony Console component.
  • Amend - A Symfony Console helper and command set for updating and upgrading applications.
  • Cron Expression - A library to calculate cron run dates.
  • ShellWrap - A simple command line wrapper library.

Authentication

  • Sentry - A framework agnostic authentication & authorisation library.
  • Sentry Social - A library for social network authentication.
  • OPAuth - A multi-provider authentication framework.

OAuth

  • OAuth2 - An OAuth2 authentication server, resource server and client library.
  • PHP oAuthLib - Another OAuth library.
  • TwitterOAuth - A Twitter OAuth library.

Markup

Text and Numbers

  • ANSI to HTML5 - An ANSI to HTML5 convertor library.
  • Patchwork UTF-8 - A portable library for working with UTF-8 strings.
  • 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.

Filtering and Validation

  • 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.

REST and API

  • Hateoas - A HATEOAS REST web service library.
  • HAL - A Hypertext Application Language (HAL) builder library.
  • Negotiation - A content negotiation library.

Caching

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

Data Structure

Notifications

  • Nod - A notification library (e.g. Growl).
  • Notificato - A library for handling push notifications.
  • Notification Pusher - A standalone library for device push notifications.
  • Bernard - A structured message library for queues.

Miscellaneous

  • Spork - A process forking library.
  • JSON Lint - A JSON lint utility.
  • KnpMenu - A menu library.
  • Pagerfanta - A pagination library.
  • Ruler - A simple stateless production rules engine.
  • Serializer - A library for serialising and de-serialising data.
  • LiteCQRS - A CQRS (Command Query Responsibility Separation) library.
  • S3 Stream Wrapper - A stream wrapper library for Amazon S3.
  • Wisdom - A library for loading config data.
  • Sslurp - A library that makes dealing with SSL suck less.
  • Streamer - A simple object-orientated stream wrapper library.
  • 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).
  • PHP File Locator - A library for locating files in large projects.
  • Elastica - A client library for Elastic Search.
  • 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.

Official APIs

Utilities

  • HomeBrew - A package manager for OSX.
  • HomeBrew PHP - A PHP tap for HomeBrew.
  • PHP OSX - A PHP installer for OSX.
  • Vagrant - A portable development environment utility.
  • PuPHPet - A web tool for building PHP development virtual machines.
  • 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.
  • PHP Queue - An application for managing queueing backends.
  • PHPPHP - A PHP VM implementation in PHP.
  • PHPSandbox - A PHP sandbox environment.
  • PHPStack - A TCP/IP stack proof of concept written in PHP.
  • SensioLabs Security Check - A web tool to check your Composer dependecies for security advisories.
  • Scrutinizer - A web tool to scrutinise PHP code.
  • Zed - An integrated penetration testing tool for web applications.
  • DBV - A database version control application.
  • Travis CI - A continuous integration platform.
  • Locust - A modern load test library written in Python.
  • Country List - A list of all countries with names and ISO 3166-1 codes.

Resources

E-Books

Reading