PHP 社区 · 最佳实践

PHP 社区 · 知识

最佳实践

可落地的工程约定,每条都给出「为什么」而不只是「怎么做」。清单允许社区成员投票调整优先级。

PSR 规范

PSR-1 / PSR-12

基础编码规范与扩展编码风格,交给 PHP-CS-Fixer 自动执行。

PSR-4

自动加载标准,命名空间与目录结构一一对应。

PSR-7 / PSR-15

HTTP 消息与中间件契约,是框架间互操作的基础。

PSR-3 / PSR-11

日志与容器接口,便于替换实现。

架构与分层

依赖方向单一

领域层不依赖框架与基础设施,靠接口反转。

DTO 而非数组

跨层传参用对象,获得静态分析能力。

事务边界清晰

一个用例一个事务,避免在循环里提交。

性能优化

先测量再优化

用 Xdebug / Blackfire 定位热点,不要凭直觉。

OPcache 必须开

生产环境 preload 视应用体积决定。

N+1 查询治理

用严格模式 ORM 或查询日志审计。

安全清单

输入永远不可信

所有外部输入经过校验层,不直接拼 SQL / 模板。

密码用 password_hash

argon2id 优先,勿自研加密。

序列化漏洞

禁止对不可信数据 unserialize,改用 JSON。