PHP 开发者资源
在学习 PHP 的道路上,寻找权威、可靠的信息源至关重要。首选的当然是官方资源:
本章将为你系统梳理 PHP 社区中最具价值的周边资源与生态工具,帮助你更快地融入现代 PHP 开发世界。
1. 关注社区大佬 (People to Follow)
当你刚刚起步时,可能很难发现那些有趣且知识渊博的 PHP 社区核心成员。为了帮助你快速入门,这里提供了一份 PHP 社区知名成员的精简列表:
2. PHP PaaS 提供商 (PHP PaaS Providers)
平台即服务 (PaaS) 提供了在 Web 上运行 PHP 应用程序所需的底层系统和网络架构。这意味着你几乎不需要任何繁琐的配置,就能直接发布 PHP 应用程序或框架。
近年来,PaaS 已成为部署、托管和扩展各种规模 PHP 应用程序的热门方式。以下是目前主流的 PHP PaaS 提供商列表:
- Amezmo
- AWS Elastic Beanstalk
- Bref Cloud
- Clever Cloud
- Cloudways
- DigitalOcean App Platform
- Divio
- Engine Yard Cloud
- fortrabbit
- Google App Engine
- Heroku
- IBM Cloud
- Lumen
- Microsoft Azure
- Pivotal Web Services
- Platform.sh
- Red Hat OpenShift
- Virtuozzo
3. 框架 (Frameworks)
与其重复造轮子,许多 PHP 开发者更倾向于使用框架 (Frameworks) 来构建 Web 应用程序。框架为你抽象掉了许多底层的繁琐细节,并提供了实用、易于使用的接口来完成常见的开发任务。
你不需要为每个项目都强行使用框架。有时,使用纯原生 PHP 就是最正确的选择。但如果你确实需要一个框架,目前主要有以下三种类型可供选择:
- 微框架 (Micro Frameworks):本质上是一个极其轻量的包装器,旨在以最快的速度将 HTTP 请求路由到对应的回调函数、控制器或方法。有时它们会附带少量额外的库(如基础数据库包装器)来辅助开发。它们主要用于构建小型的远程 HTTP API 服务。
- 全栈框架 (Full-Stack Frameworks):在微框架的基础之上增加了极其丰富的功能。这类框架通常会捆绑提供 ORM(对象关系映射)、身份验证包、模板引擎等一站式解决方案。
- 组件框架 (Component Frameworks):由一系列专门的、用途单一的独立库集合而成。你可以将完全不同的组件拼装在一起,自己打造出一个微框架或全栈框架。
4. 组件 (Components)
正如上文提到的,“组件 (Components)” 是实现创建、分发和应用共享代码这一共同目标的另一种途径。目前存在多个组件仓库,其中最主要的两个是:
这两个仓库都配有专门的命令行工具,用于辅助安装和升级流程(在之前的“依赖管理”章节中已有详细介绍)。
此外,还有一些基于组件的框架和组件供应商,它们甚至根本不提供完整的框架。这些项目为你提供了另一种获取代码包的来源。理想情况下,这些代码包对其他包或特定框架的依赖极少甚至完全没有。
例如,你可以直接在项目中使用 FuelPHP Validation(验证)组件,而完全不需要引入整个 FuelPHP 框架。
优秀的组件资源包括:
- Aura
- CakePHP Components (包含 Collection, Database, Datasource, Event, I18n, ORM 等)
- FuelPHP
- Hoa Project
- Symfony Components
- The League of Extraordinary Packages
- Laravel's Illuminate Components (如 IoC Container, Eloquent ORM, Queue)
注: Laravel 的 Illuminate 组件未来将会与 Laravel 框架实现更好的解耦。目前,上述列表只列出了那些已经与 Laravel 框架解耦得最好的核心组件。
5. 其他实用资源 (Other Useful Resources)
5.1 速查表 (Cheatsheets)
- PHP Cheatsheets (PHP 速查表):涵盖了不同 PHP 版本中的变量比较、算术运算和变量测试规则。
- Modern PHP Cheatsheet (现代 PHP 速查表):在一份统一的文档中记录了现代 PHP(7.0 及以上版本)的惯用法。
- OWASP Security Cheatsheets (OWASP 安全速查表):针对特定应用程序安全主题,提供了一系列高度浓缩、高价值的防护信息。
5.2 更多最佳实践
6. 社区新闻与动态
你可以订阅以下每周新闻简报,以随时了解新发布的库、最新动态、技术会议以及不定期发布的各种公告和补充资源:
除此之外,你可能还会对其他平台上的周报或动态感兴趣,例如:
PHP universe
7. 视频教程 (Video Tutorials)
7.1 YouTube 频道 (免费)
7.2 付费视频平台
- PHP Training on Pluralsight
- PHP Training on LinkedIn.com
- PHP Training on Tutsplus
- Laracasts (极度推荐的 Laravel 及 PHP 进阶生态学习平台)
- SymfonyCasts
8. 推荐书籍 (Books)
市面上有海量的 PHP 书籍,但遗憾的是,其中很多已经非常过时且不再准确。请特别注意:绝对要避开任何关于“PHP 6”的书籍,因为这个版本根本不存在(这也是为什么 PHP 5.6 之后的下一个大版本直接跳到了“PHP 7”的部分原因)。
本节旨在提供一份持续更新的、关于 PHP 通用开发的推荐书单:
8.1 免费书籍 (Free Books)
- PHP Pandas:旨在教导所有人如何成为一名合格的 Web 开发者。
- PHP The Right Way:本网站的完整内容也提供免费的电子书版本。
- Using Libsodium in PHP Projects:一本指导你在 PHP 中使用 Libsodium 扩展进行现代、安全且快速的密码学操作的实用指南。
8.2 付费书籍 (Paid Books)
- PHP & MySQL:一本配有精美插图的 PHP 入门书,通过大量实用示例涵盖了 PHP 和 MySQL 的所有基础知识。
- Build APIs You Won't Hate (构建你不讨厌的 API):现在每个人(甚至他们的狗)都想要一个 API,因此你非常有必要学习如何优雅地构建它们。
- Modern PHP (现代 PHP):全面覆盖现代 PHP 的新特性、最佳实践、自动化测试、性能调优、项目部署以及开发环境的搭建。
- Building Secure PHP Apps (构建安全的 PHP 应用):将高级开发者凭借多年经验积累的安全基础知识,浓缩成一本快速、易读的手册。
- Modernizing Legacy Applications In PHP (PHP 遗留应用现代化改造):教你通过一系列细小、具体的步骤,重新掌控那些年久失修的祖传代码。
- Securing PHP: Core Concepts (保护 PHP:核心概念):一本介绍最常见安全术语的指南,并提供了这些概念在 PHP 日常开发中的真实示例。
- Scaling PHP (PHP 架构扩展):别再沉迷于扮演系统管理员了,把架构搞定,然后专心写代码吧。
- Signaling PHP:教你如何利用 PCNTL 信号,这在编写命令行下运行的 PHP 脚本时能提供极大的帮助。
- Minimum Viable Tests (最小可行性测试):资深 PHP 测试布道师 Chris Hartjes 在书中详细阐述了他认为的新手入门自动化测试所需掌握的“最低限度”知识。
- Domain-Driven Design in PHP (PHP 领域驱动设计):通过真实的 PHP 代码示例,展示领域驱动设计 (DDD) 的架构风格(如六边形架构、CQRS 或事件溯源)、战术设计模式以及限界上下文的集成。