如果不能正常显示,请查看原文 , 或返回

GitHub

Awesome PHP Build Status

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

Contributing

Please see CONTRIBUTING and CODE-OF-CONDUCT for details.

Table of Contents

Dependency Management

Libraries for dependency and package management.

Dependency Management Extras

Extras related to dependency management.

  • Composed - A library to parse your project's Composer environment at runtime.
  • Composer Checker - A tool to validate Composer configurations.
  • Composer Merge Plugin - A composer plugin to merge several composer.json files.
  • Composition - A library to check your Composer environment at runtime.
  • NameSpacer - A library to convert from underscores to namespaces.
  • Patch Installer - A library to install patches using Composer.
  • Prestissimo - A composer plugin which enables parallel install process.
  • Satis - A static Composer repository generator.
  • Toran Proxy - A static Composer repository and proxy.

Frameworks

Web development frameworks.

  • Aura PHP - A framework of independent components.
  • CakePHP - A rapid application development framework (CP).
  • Laravel 5 - Another PHP framework (L5).
  • Nette - Another framework comprised of individual components.
  • Phalcon - A framework implemented as a C extension.
  • PPI Framework 2 - An interoperability framework.
  • Symfony 2 - A framework comprised of individual components (SF2).
  • Yii2 - Another PHP framework.
  • Zend Framework 2 - Another framework comprised of individual components (ZF2).
  • Radar - An Action-Domain-Responder implementation for PHP.
  • Ice - Another simple and fast PHP framework delivered as C-extension.

Framework Extras

Extras related to web development frameworks.

  • CakePHP CRUD - A Rapid Application Development (RAD) plugin for CakePHP.
  • Knp RAD Bundle - A Rapid Application Development (RAD) bundle for Symfony 2.
  • Symfony CMF - A Content Management Framework to create custom CMS.

Components

Standalone components from web development frameworks and development groups.

Micro Frameworks

Micro frameworks and routers.

  • Bullet PHP - A micro framework for building REST APIs.
  • Lumen - A micro-framework by Laravel.
  • Proton - A StackPHP compatible micro framework
  • Silex - A micro framework built around Symfony2 components.
  • Slim - Another simple micro framework.

Micro Framework Extras

Extras related to micro frameworks and routers.

Routers

Libraries for handling application routing.

  • Fast Route - A fast routing library.
  • Klein - A flexible router.
  • Pux - Another fast routing library.
  • Route - A routing library built on top of Fast Route.

Templating

Libraries and tools for templating and lexing.

  • Foil - Another native PHP templating library.
  • Lex - A lightweight template parser.
  • MtHaml - A PHP implementation of the HAML template language.
  • Mustache - A PHP implementation of the Mustache template language.
  • Phly Mustache - Another PHP implementation of the Mustache template language.
  • PHPTAL - A PHP implementation of the TAL templating language.
  • Plates - A native PHP templating library.
  • Smarty - A template engine to complement PHP.
  • Twig - A comprehensive templating language.
  • Tale Jade - A PHP implementation of the Jade template language.

Static Site Generators

Tools for pre-processing content to generate web pages.

  • Couscous - Couscous turns Markdown documentation into beautiful websites. It's GitHub Pages on steroids.
  • Phrozn - Another tool that converts Textile, Markdown and Twig into HTML.
  • Sculpin - A tool that converts Markdown and Twig into static HTML.
  • Spress - An extensible tool that converts Markdown and Twig into HTML.

HTTP

Libraries for working with HTTP.

  • Buzz - Another HTTP client.
  • Guzzle - A comprehensive HTTP client.
  • HTTPFul - A chainable HTTP client.
  • PHP VCR - A library for recording and replaying HTTP requests.
  • Requests - A simple HTTP library.
  • Retrofit - A library to ease creation of REST API clients.
  • zend-diactoros - PSR-7 HTTP Message implementation.

Scraping

Libraries for scraping websites.

  • Embed - An information extractor from any web service or page.
  • Goutte - A simple web scraper.
  • PHP Spider - A configurable and extensible PHP web spider.

Middlewares

Libraries for building application using middlewares.

  • Expressive - PSR-7 Middleware framework from Zend
  • PSR7-Middlewares - Inspiring collection of handy middlewares.
  • Relay - A PHP 5.5 PSR-7 middleware dispatcher
  • Slim Middleware - A collection of custom middleware for Slim.
  • Stack - A library of stackable middleware for Silex/Symfony.
  • zend-stratigility - Middleware for PHP built on top of PSR-7

URL

Libraries for parsing URLs.

  • PHP Domain Parser - A domain suffix parser library.
  • Purl - A URL manipulation library.
  • sabre/uri - A functional URI manipulation library.
  • Uri - Another URL manipulation library.

Email

Libraries for sending and parsing email.

Files

Libraries for file manipulation and MIME type detection.

  • Apache MIME Types - A library that parses Apache MIME types.
  • Canal - A library to determine internet media types.
  • CSV - A CSV data manipulation library.
  • Ferret - A MIME detection library.
  • Flysystem - Another filesystem abstraction layer.
  • Gaufrette - A filesystem abstraction layer.
  • Hoa Mime - Another MIME detection library.
  • Lurker - A resource tracking library.
  • PHP FFmpeg - A wrapper for the FFmpeg video library.

Streams

Libraries for working with streams.

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

Dependency Injection

Libraries that implement the dependency injection design pattern.

  • Acclimate - A common interface to dependency injection containers and service locators.
  • Auryn - A recursive dependency injector.
  • Container - Another flexible dependency injection container.
  • PHP-DI - A dependency injection container that supports autowiring.
  • Pimple - A tiny dependency injection container.
  • Symfony DI - A dependency injection container component (SF2).

Imagery

Libraries for manipulating images.

Testing

Libraries for testing codebases and generating test data.

  • Alice - An expressive fixture generation library.
  • AspectMock - A mocking framework for PHPUnit/Codeception.
  • Atoum - A simple testing library.
  • Behat - A behaviour driven development (BDD) testing framework.
  • Codeception - A full stack testing framework.
  • DBUnit - A database testing library for PHPUnit.
  • Faker - A fake data generator library.
  • HTTP Mock - A library for mocking HTTP requests in unit tests.
  • Kahlan - Full stack Unit/BDD testing framework with built-in stub, mock and code-coverage support.
  • Mink - Web acceptance testing.
  • Mockery - A mock object library for testing.
  • ParaTest - A parallel testing library for PHPUnit.
  • Peridot - An event driven test framework.
  • Phake - Another mock object library for testing.
  • Pho - Another behaviour driven development testing framework.
  • PHPSpec - A design by specification unit testing library.
  • PHPT - A test tool used by PHP itself.
  • PHPUnit - A unit testing framework.
  • Prophecy - A highly opinionated mocking framework.
  • Samsui - Another fake data generator library.
  • VFS Stream - A virtual filesystem stream wrapper for testing.
  • VFS - Another virtual filesystem for testing.

Continuous Integration

Libraries and applications for continuous integration.

  • GitlabCi - Let GitLab CI test, build, deploy your code. TravisCi like.
  • Jenkins - A continous integration platform with PHP support.
  • JoliCi - A continuous integration client written in PHP and powered by Docker.
  • PHPCI - An open source continuous integration platform for PHP.
  • SemaphoreCI - A continuous integration platform for open source and private projects.
  • Shippable - A docker based continious integration platform for open source and private projects.
  • Sismo - A continuous testing server library.
  • Travis CI - A continuous integration platform.
  • Wercker - A continuous integration platform

Documentation

Libraries for generating project documentation.

  • APIGen - Another API documentation generator.
  • daux.io - A documentation generator which uses Markdown files.
  • PHP Documentor 2 - A documentation generator.
  • phpDox - A documentation generator for PHP projects (that is not limited to API documentation).
  • Sami - An API documentation generator.

Security

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

  • Halite - A simple library for encryption using libsodium.
  • HTML Purifier - A standards compliant HTML filter.
  • IniScan - A tool that scans PHP INI files for security.
  • Optimus - Id obfuscation based on Knuth's multiplicative hashing method.
  • PHP Encryption - Secure PHP Encryption Library.
  • PHP IDS - A structured PHP security layer.
  • PHP SSH - An experimental object orientated SSH wrapper library.
  • PHPSecLib - A pure PHP secure communications library.
  • RandomLib - A library for generating random numbers and strings.
  • SecurityMultiTool - A PHP security library.
  • SensioLabs Security Check - A web tool to check your Composer dependencies for security advisories.
  • TCrypto - A simple encrypted key-value storage library.
  • True Random - A library that generates random numbers using www.random.org.
  • VAddy - A continuous security testing platform for web applications.
  • Zed - An integrated penetration testing tool for web applications.

Passwords

Libraries and tools for working with and storing passwords.

  • GenPhrase - A library for generating secure random passphrases.
  • Password Compat - A compatibility library for the new PHP 5.5 password functions.
  • Password Policy - A password policy library for PHP and JavaScript.
  • Password Validator - A library for validating and upgrading password hashes.
  • Password-Generator - PHP library to generate random passwords.
  • PHP Password Lib - A library for generating and validating passwords.
  • phpass - A portable password hashing framework.
  • Zxcvbn PHP - A realistic PHP password strength estimate library based on Zxcvbn JS.

Code Analysis

Libraries and tools for analysing, parsing and manipulating codebases.

  • Athletic - An annotation based benchmark framework.
  • Code Climate - An automated code review.
  • Dissect - A set of tools for lexical and syntactical analysis.
  • Exakat - A static analysis engine for PHP.
  • GrumPHP - A composer plugin to defend code quality.
  • Mondrian - A code analysis tool using Graph Theory.
  • PHP Analyser - A library for analysing PHP code to find bugs and errors.
  • PHP Code Sniffer - A library that detects PHP, CSS and JS coding standard violations.
  • PHP CS Fixer - A coding standards fixer library.
  • PHP Manipulator - A library for analysing and modifying PHP Source Code.
  • PHP Mess Detector - A library that scans code for bugs, sub-optimal code, unused parameters and more.
  • PHP Metrics - A static metric library.
  • PHP Parser - A PHP parser written in PHP.
  • PHP Refactoring Browser - A command line utility for refactoring PHP code.
  • PHP Semantic Versioning Checker - A command line utility that compares two source sets and determines the appropriate semantic versioning to apply.
  • phan - A static analyzer based on PHP 7+ and the php-ast extension.
  • PHPCheckstyle - A tool to help adhere to certain coding conventions.
  • PHPCPD - A library that detects copied and pasted code.
  • PhpDependencyAnalysis - A tool to create customisable dependency graphs.
  • PHPLOC - A tool for quickly measuring the size of a PHP project.
  • PHPQA - A tool for running QA tools (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).
  • PHPPHP - A PHP VM implementation in PHP.
  • PHPSandbox - A PHP sandbox environment.
  • Qafoo Quality Analyzer - A tool to visualize metrics and source code.
  • Scrutinizer - A web tool to scrutinise PHP code.
  • UBench - A simple micro benchmark library.

Architectural

Libraries related to design patterns, programming approaches and ways to organize code.

  • Compose - A function composition library.
  • Design Patterns PHP - A repository of software patterns implemented in PHP.
  • Finite - A simple PHP finite state machine.
  • Functional PHP - A functional programming library.
  • Galapagos - Evolutionary language transformation.
  • Iter - A library that provides iteration primitives using generators.
  • Monad PHP - A simple Monad library.
  • Patchwork - A library for redefining userland functions.
  • PHP Option - An option type library.
  • Pipeline - A pipeline pattern implementation.
  • Ruler - A simple stateless production rules engine.
  • RulerZ - A powerful rule engine and implementation of the Specification pattern.

Debugging and Profiling

Libraries and tools for debugging and profiling code.

  • APM - Monitoring extension collecting errors and statistics into SQLite/MySQL/StatsD.
  • Barbushin PHP Console - Another web debugging console using Google Chrome.
  • Blackfire.io - A low-overhead code profiler.
  • Kint - A debugging and profiling tool.
  • PHP Console - A web debugging console.
  • PHP Debug Bar - A debugging toolbar.
  • PHPBench - A benchmarking Framework.
  • PHPDBG - An interactive PHP debugger.
  • Tideways.io - Monitoring and profiling tool
  • Tracy - A simple error detection, logging and time measuring library.
  • xDebug - A debug and profile tool for PHP.
  • XHProf - A profiling tool originally developed by Facebook.
  • Z-Ray - A debug and profile tool for Zend Server.

Build Tools

Project build and automation tools.

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

Task Runners

Libraries for automating and running tasks.

  • Bldr - A PHP Task runner built on Symfony components.
  • Jobby - A PHP cron job manager without modifying crontab.
  • Robo - A PHP Task runner with object-orientated configurations.
  • Task - A pure PHP task runner inspired by Grunt and Gulp.

Navigation

Tools for building navigation structures.

Asset Management

Tools for managing, compressing and minifying website assets.

  • Assetic - An asset manager pipeline library.
  • JShrink - A JavaScript minifier library.
  • Munee - An asset optimiser library.
  • Pipe - Another asset manager pipeline library.
  • Puli - A library for determining assets absolute paths.

Geolocation

Libraries for geocoding addresses and working with latitudes and longitudes.

Date and Time

Libraries for working with dates and times.

  • CalendR - A calendar management library.
  • Carbon - A simple DateTime API extension.
  • Chronos - A DateTime API extension supporting both mutable and immutable date/time.
  • ExpressiveDate - Another DateTime API extension.
  • Moment.php - Moment.js inspired PHP DateTime handler with i18n support.

Event

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

  • Amp - An event driven non-blocking I/O library.
  • Broadway - An event source and CQRS library.
  • Cake Event - An event dispatcher library (CP).
  • Elephant.io - Yet another web socket library.
  • Evenement - An event dispatcher library.
  • Event - An event library with a focus on domain events.
  • Hoa EventSource - An event source library.
  • Hoa WebSocket - Another web socket library.
  • Icicle - An asynchronous library with coroutines, non-blocking I/O, and multithreading.
  • Prooph Event Store - An event source component to persist event messages
  • Ratchet - A web socket library.
  • React - An event driven non-blocking I/O library.
  • Rx.PHP - A reactive extension library.
  • Workerman - An event driven non-blocking I/O library.

Logging

Libraries for generating and working with log files.

  • Analog - A closure-based micro logging package.
  • KLogger - An easy-to-use PSR-3 compliant logging class.
  • Monolog - A comprehensive logger.

E-commerce

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

  • Money - A PHP implementation of Fowler's money pattern.
  • OmniPay - A framework agnostic multi-gateway payment processing library.
  • Payum - A payment abstraction library.
  • Shopware - Highly customizable e-commerce software
  • Swap - An exchange rates library.
  • Sylius - An open source e-commerce solution.

PDF

Libraries and software for working with PDF files.

  • Dompdf - A HTML to PDF converter.
  • PHPPdf - A library for generating PDFs and images from XML.
  • Snappy - A PDF and image generation library.
  • WKHTMLToPDF - A tool to convert HTML to PDF.

Office

Libraries for working with office suite documents.

  • ExcelAnt - A library for manipulating Microsoft Excel documents.
  • PHPExcel - A library for working with Microsoft Excel documents.
  • PHPPowerPoint - A library for working with Microsoft PowerPoint Presentations.
  • PHPWord - A library for working with Microsoft Word documents.

Database

Libraries for interacting with databases using object-relational mapping (ORM) or datamapping techniques.

  • Baum - A nested set implementation for Eloquent.
  • Cake ORM - Object-Relational Mapper, implemented using the DataMapper pattern (CP).
  • Doctrine Extensions - A collection of Doctrine behavioural extensions.
  • Doctrine - A comprehensive DBAL and ORM.
  • Eloquent - A simple ORM (L5).
  • LazyRecord - A fast ORM designed for simplicity, extendability and performance.
  • Pomm - An Object Model Manager for PostgreSQL.
  • Propel - A fast ORM, migration library and query builder.
  • ProxyManager - A set of utilities to generate proxy objects for data mappers.
  • RedBean - A lightweight, configuration-less ORM.
  • Spot2 - A MySQL datamapper ORM.

Migrations

Libraries to help manage database schemas and migrations.

  • Doctrine Migrations - A migration library for Doctrine.
  • Migrations - A migration management library.
  • Phinx - Another database migration library.
  • PHPMig - Another migration management library.
  • Ruckusing - Database migrations for PHP ala ActiveRecord Migrations with support for MySQL, Postgres, SQLite.

NoSQL

Libraries for working with "NoSQL" backends.