一些常用的PHP类库, 资源以及技巧

原文地址

awesome-php

收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需...


  • 这个列表中的内容有来自 awesome-php 的翻译, 有来自开发者周刊以及个人的积累等.
  • 一个前端组件的列表 awesome-frontend 推荐

学习资源

PHP相关的有参考价值的社区,博客,网站,文章,书籍,视频等资源


依赖管理( Dependency Management )

用于依赖管理的包和框架

框架( Frameworks )

Web开发框架

  • Symfony2 - 由独立组件构成的框架(SP2)
  • Zend Framework 2 - 同样是由独立组件构成的框架(ZF2)
  • Laravel 5 - 简洁优雅的PHP Web开发框架(L5)
  • Aura PHP - 独立组件的框架
  • Yii2 - 用于开发大型Web应用的高性能PHP框架
  • Nette - 同样是由独立组件构成的框架
  • PPI Framework 2 - 一个交互性的框架
  • CakePHP - 一个高效的应用开发框架(CP)
  • Phalcon - 一个作为C扩展的框架
  • Yaf - 鸟哥的C扩展的框架

组件( Components )

微框架( Micro Frameworks )

微型框架和路由

路由( Routers )

  • Fast Route - 一个高效路由库
  • Route - 基于Fast Route的路由库
  • Pux - 另一个高效的路由库
  • Klein - 一个灵活的路由库

模板引擎( Templating )

模板和词法分析的库与工具

  • Twig - 一种综合的模板语言
  • Twig Cache Extension - 用于Twig的模板片段缓存库
  • Mustache - PHP实现的Mustache模板语言
  • Phly Mustache - 另一个PHP实现的Mustache模板语言
  • MtHaml - PHP实现的HAML模板语言
  • PHPTAL - PHP实现的TAL模板语言
  • Plates - 一个原始的PHP模板库
  • Lex - 一个轻量级模板解析器

静态站生成器( Static Site Generators )

生成Web页面内容的预处理工具

  • Sculpin - 将Markdown和Twig转换为静态HTML的工具
  • Phrozn - 另一款将Textile、Markdown和Twig转为HTML的工具

HTTP

用于HTTP和抓取网站的库

  • Guzzle - 一个完整的HTTP客户端
  • Buzz - 另一个HTTP客户端
  • Requests - 一个简单的HTTP库
  • HTTPFul - 一个链式HTTP客户端
  • Goutte - 一个简单的Web抓取器
  • PHP VCR - 一个录制和回放HTTP请求的库

中间件( Middlewares )

用于构建应用的类库的中间件

URL

解析URL的库

邮件( Email )

用于发送和解析Email的库

文件操作( Files )

关于文件处理和MIME类型检查

流( Stream )

处理流的库

  • Streamer - 一个简单的面向对象流包装库

依赖注入( Dependency Injection )

实现依赖注入设计模式的库

  • Pimple - 一个小的依赖注入容器
  • Auryn - 另一个小的依赖注入容器
  • Container - 另一个灵活的依赖注入容器
  • PHP DI - 一个使用标注实现的依赖注入
  • Acclimate - 依赖注入容器和服务定位器的通用接口
  • Symfony DI - 一个的依赖注入组件(SF2)

图像( Imagery )

处理图像的库

测试( Testing )

测试代码库和生成测试数据的库

  • PHPUnit - 一个单元测试框架
  • DBUnit - PHPUnit的代码测试库
  • ParaTest - PHPUnit的并行测试库
  • PHPSpec - 根据规范的单元测试库
  • Codeception - 一个全栈测试框架
  • AspectMock - PHPUnit/Codeception的模拟框架
  • Atoum - 一个简单的测试库
  • Mockery - 一个用于测试的模拟对象库
  • Phake - 另一个用于测试的模拟对象库
  • Prophecy - 一个强大的模拟框架
  • Faker - 一个伪数据生成库
  • Samsui - 另一个伪数据生成库
  • Alice - 用于生成复杂数据的库
  • Behat - 一个行为驱动开发(BDD)的测试框架
  • Pho - 另一个行为驱动开发的测试框架
  • Mink - Web验收测试
  • HTTP Mock - 一个在单元测试中模拟HTTP请求的库
  • VFS Stream - 一个用于测试的虚拟文件系统流包装
  • VFS - 另一个用于测试的虚拟文件系统
  • Locust - 一个Python开发的现代负载测试库
  • Peridot - 一个事件驱动的测试框架

持续集成( Continuous Integration )

持续集成的库和应用

  • Travis CI - 一个持续集成的平台
  • SemaphoreCI - 一个给开源程序和私有项目的持续集成平台
  • PHPCI - 一个PHP的开源持续集成平台
  • Sismo - 一个持续的测试服务器库
  • Jenkins - PHP支持的持续集成平台
  • JoliCi - PHP开发的由Docker支持的持续集成客户端

文档( Documentation )

生成项目文档的库

  • Sami - 一个API文档生成器
  • APIGen - 另一个API文档生成器
  • PHP Documentor 2 - 文档生成器
  • phpDox - 一个PHP项目的文档生成器(不仅仅是API文档)

安全( Security )

用于生成安全的随机数、加密数据、扫描漏洞的库

密码( Passwords )

处理和存储密码的库和工具

代码分析( Code Analysis )

用于分析、解析和操作代码库的工具

调试和性能( Debugging and Profiling )

  • xHprof - 另一个PHP性能评测工具

日期与时间( Date and Time )

日志( Logging )

PDF

Office

数据库( Database )

非关系型数据库( NoSQL )

队列( Queue )

命令行( Command Line )

鉴权( Authentication and Authorization )

标记( Markup )

字符串( Strings )

数字( Numbers )

过滤和验证( Filtering ang Validation )

API

缓存( Caching )

数据结构和存储( Data Structure and Storage )

通知( Notifications )

部署( Deployment )