优秀的PHP开源项目集合
- 包管理Package Management
- Package Management Related
- 框架
- 框架组件
- 微框架Micro Frameworks
- 内容管理系统Content Management Systems
- 模板Templating
- 静态网站生成器Static Site Generators
- HTTP
- URL
- Files
- Streams
- Dependency Injection
- Imagery
- Testing
- Documentation
- Security
- Code Analysis
- Build Tools
- Asset Management
- Geolocation
- Date and Time
- Event
- Logging
- E-commerce
- ORM and Datamapping
- NoSQL
- Queue
- Search
- Command Line
- Authentication
- Markup
- Text and Numbers
- Filtering and Validation
- REST and API
- Caching
- Data Structure and Storage
- Notifications
- Deployment
- Third Party APIs
- Miscellaneous
- Development Software
- Web Tools
- Websites
- Books
- Web Reading
- PHP Reading
- PHP Internals Reading
一个非常棒的PHP库,资源和实用内容大集合。
包管理Package Management
Libraries for package and dependency management.
- Composer/Packagist – A package and dependency manager.
- Composer Installers – A multi framework Composer library installer.
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.
框架
Web 开发框架.
- 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.
框架组件
Web 开发框架的独立组件.
- Symfony2 Components – The components that make Symfony2.
- Zend Framework 2 Components – The components that make ZF2.
- Aura Components – A package of PHP 5.4 components.
微框架Micro Frameworks
微框架和路由器routers.
- Silex – A micro framework built around Symfony2 components.
- Silex Skeleton – A project skeleton for Silex.
- Silex Kitchen Sink Edition – Another project skeleton for Silex.
- Silex Web Profiler – A web debug toolbar for Silex.
- Stack – A library of stackable middleware for Silex/Symfony.
- Slim – Another simple micro framework.
- Slim Skeleton – A skeleton for Slim.
- Slim View – A collection of custom views for Slim.
- Slim Middleware – A collection of custom middleware for Slim.
- Bullet PHP – A mico framework for building REST APIs.
- Klein – A fast routing library.
- Pux – Another fast routing library.
- Fat Free Framework – A powerful and easy-to-use micro framework.
内容管理系统Content Management Systems
现代内容管理系统Modern content management systems.
- Bolt – A simple CMS built with Silex and Twig.
模板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.
- Plates – A native PHP templating library.
- Lex – A lightweight template parser.
静态网站生成器Static Site Generators
工具为预先处理的内容来生成网页。
- 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.
- Purl – A URL manipulation library.
- PHP Domain Parser – A domain suffix parser library.
用于收发邮件的库.
- SwiftMailer – A mailer solution.
- PHPMailer – Another mailer solution.
- Fetch – An IMAP library.
- Email Reply Parser – An email reply parser library.
- Stampie – A library for email services such as SendGrid, PostMark and MailGun.
Files
用于文件操作和MIME类型探测.
- Gaufrette – A filesystem abstraction layer.
- Flysystem – Another 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.
- Hoa Mime – Another MIME detection library.
- Lurker – A resource tracking library.
- PHP File Locator – A library for locating files in large projects.
- 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.
- 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.
- Imagine – An image manipulation library.
- PHP Image Workshop – Another image manipulation library.
- Intervention Image – Another image manipulation library.
- GIF Frame Extractor – A library to extract GIF animation frame information.
- GIF Creator – A library to create GIF animations from multiple images.
- Image With Text – A library for embedding text into images.
- Color Extractor – A library for extracting colours from 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.
- PHP Parser – A PHP parser written in PHP.
- PHPPHP – A PHP VM implementation in PHP.
- PHPSandbox – A PHP sandbox environment.
- 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.
- Athletic – An annotation based benchmark framework.
- Mondrian – A code analysis tool using Graph Theory.
- PHP Debug Bar – A debugging toolbar.
- PHP Console – A web debugging console.
- Barbushin PHP Console – Another web debugging console using Google Chrome.
- PHPDBG – An interactive PHP debugger.
- Scrutinizer – A web tool to scrutinise PHP code.
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.
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.
- GeoCoder – A geocoding library.
- GeoTools – A library of geo-related tools.
- PHPGeo – A simple geo library.
- GeoJSON – A GeoJSON implementation.
Date and Time
日期和时间处理库。Libraries for working with dates and times.
- Carbon – A simple DateTime API extension.
- ExpressiveDate – Another DateTime API extension.
- CalendR – A calendar management library.
Event
Libraries that are event-driven or implement non-blocking event loops.
- React – An event driven non-blocking I/O library.
- Rx.PHP – A reactive extension library.
- Ratchet – A web socket library.
- Hoa WebSocket – Another web socket library.
- Hoa EventSource – An event source library.
- Evenement – An event dispatcher library.
- FuelPHP Event – Another event dispatcher library.
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.
- Doctrine – A comprehensive DBAL and ORM.
- Doctrine Migrations – A migration library for Doctrine.
- Doctrine Extensions – A collection of Doctrine behavioural extensions.
- Propel – A fast ORM.
- Eloquent – The Laravel 4 ORM.
- Baum – A nested set implementation for Eloquent.
- Spot – A MySQL datamapper ORM.
- RedBean – A lightweight, configuration-less ORM.
- PHP ActiveRecord – A PHP Active Record implementation.
- Paris and Idiorm – A minimalist database library.
- Pomm – An Object Model Manager for PostgreSQL.
- Migrations – A migration management library.
- PHPMig – Another migration management library.
- Phinx – Another database migration library.
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.
- ElasticSearch PHP – The official client library for ElasticSearch.
- Elastica – A client library for ElasticSearch.
- Solarium – A client library for Solr.
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.
- Decoda – A lightweight markup parser library.
- PHP Markdown – A Markdown parser.
- Dflydev Markdown – Another Markdown parser.
- Parsedown – Another Markdown parser.
- Ciconia – Another Markdown parser that supports Github flavoured Markdown.
- HTML5 PHP – An HTML5 parser and serializer library.
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.
Data Structure and Storage
Libraries that implement data structure or storage techniques.
- Ardent – A library of data structures.
- PHP Collections – A simple collections library.
- Serializer – A library for serialising and de-serialising data.
- PHP Object Storage – A library for object storage.
- Fractal – A library for converting complex data structures to JSON output.
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.
- Amazon Web Service SDK – The official PHP AWS SDK library.
- S3 Stream Wrapper – A stream wrapper library for Amazon S3.
- Stripe – The official Stripe PHP library.
- Campaign Monitor – The official Campaign Monitor PHP library.
- Digital Ocean – A library to interface with the Digital Ocean API.
- Github – A library to interface with the Github API.
- PHP Github API – Another library to interface with the Github API.
- Twitter OAuth – A library to interface with Twitter's OAuth workflow.
- Twitter REST – A library to interact with Twitter's REST API.
- Dropbox SDK – The official PHP Dropbox SDK library.
- Twilio – The official Twilio PHP REST API.
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.
- PHP The Right Way – A PHP best practice quick reference guide.
- PHP Best Practices – A PHP best practice guide.
- PHP Weekly – A weekly PHP newsletter.
- PHP Security – A guide to PHP security.
- PHP Internals – A book about the PHP internals.
- PHP FIG – The PHP Framework Interoperability Group.
- The Open Web Application Security Project (OWASP) – An open software security community.
- WebSec IO – A web security community resource.
- Web Advent – An advent calendar for web developers.
- Mozilla Developer Network – A website of shared knowledge for the open web.
- HTML5Rocks – A resource for open web HTML5 developers.
- Programming with Anthony – A video series by Anthony Ferrara.
Books
Fantastic books and e-books.
- Scaling PHP Applications – An ebook about scaling PHP applications by Steve Corona.
- Grumpy PHPUnit – A book about unit testing with PHPUnit by Chris Hartjes.
- Mastering Object-Orientated PHP – A book about object-orientated PHP by Brandon Savage.
- Signaling PHP – A book about catching PCNTL signals in CLI scripts by Cal Evans.
- Understanding Computation – A book about computation theory by Tom Stuart.
- The Linux Command Line – A book about the Linux command line by William Shotts.
Web Reading
General web-development-related reading materials.
- OWASP PHP Security Cheat Sheet – A PHP security cheatsheet.
- C is for Cookie, H is for Hacker – An article about cookies and security.
- You Blew It Loading Your Login Form Over HTTP – An article about using HTTPS correctly with login forms.
- How HTTPS Secures Your Connection – An article explaining how TLS/SSL secures your connection.
- How to Build a Secure Remember Me Feature – An article on how to build a secure remember me feature.
- A Beginners Guide to HTTP Cache Headers – An article about HTTP cache headers.
- Beyond Series 1 2 3 4 – A series of articles about programming by Anthony Ferrara.
- Semantic Versioning – A website explaining semantic versioning.
- Atlassian Git Tutorials – A series of Git tutorials.
- Hg Init – A series of Mercurial tutorials.
PHP Reading
PHP-releated reading materials.
- Create Your Own PHP Framework – A series of articles on how to make your own PHP framework by Fabien Potencier.
- Seven Ways to Screw Up BCrypt – An article about correct BCrypt implementation.
- Preventing CSRF Attacks – An article on preventing CSRF attacks.
- Don't Worry About BREACH – An article about the BREACH hack and CSRF tokens.
- On PHP 5.3, Lamda Functions and Closures – An article about lambda functions and closures.
- Use Env – An article about using the unix environment helper.
- Composer Primer – A Composer primer.
- Composer Versioning – An article about Composer versioning.
- Composer Stability Flags – An article about Composer stability flags.
- Innocent Villagefolk or a Pillagin’ Pirate? – An article about PHP taking ideas from other language.
- Predicting Random Numbers in PHP – An article about generating random numbers.
- A 20 Point List for Preventing XSS in PHP – An article about preventing XSS.
- PHP Sucks! But I Like It! – An article about the pros and cons of PHP.
- PHP Is Much Better Than You Think – An article about the PHP language and ecosystem.
PHP Internals Reading
Reading materials related to the PHP internals or performance.
- PHP RFCs – The home of PHP RFCs (Request for Comments).
- Print vs Echo, Which One is Faster? – An article about print and echo performance.
- The PHP Ternary Operator. Fast or Not? – An article ternary performance.
- Disproving the Single Quotes Myth – An article about performance of single and double quoted strings.
- You're Being Lied To – An article about internal ZVALs.
- How Long is a Piece of String – An article about string internals.
- Understanding OpCodes – An article about opcodes.
- How Foreach Works – A detailed StackOverflow answer about foreach.
- When Does Foreach Copy? – An article about the internals of foreach.
- How Big Are PHP Arrays (And Values) Really? – An article about array internals.
- PHP Evaluation Order – An article about evaluation order in PHP.