php程序员不得不看的psr规范
定义:PSR(PHP Standard Recommendations)是 PHP 社区制定的PHP 标准推荐规范
目的:统一 PHP 代码风格、接口规范、自动加载规则等,提升可读性和可维护性。
一、PSR-1:基础编码规范(必须掌握)
1、标签规范
* 纯 PHP 代码文件,只使用 <?php ?> 或 <?= 短标签;
* 纯 PHP 文件末尾必须省略闭合标签 ?>(防止输出多余空白字符)。
2、命名规范
* 类名:大驼峰式(StudlyCaps),如 UserController、OrderService。
* 常量:全大写 + 下划线分隔,如 STATUS_SUCCESS、DB_HOST。
* 方法名:小驼峰式(camelCase),如 getSignParams()、saveOrder()。
3、文件与命名空间:
* 命名空间和类名必须遵循自动加载规范(PSR-4)。
* 一个 PHP 文件只定义一个类,不允许一个文件写多个类。
二、PSR-2:代码风格规范(已废弃,替代为 PSR-12)
⚠️ 注意:PSR-2 2019年后已经被 PSR-12 完全取代,现代开发直接用 PSR-12 即可。
三、PSR-3:定义日志接口规范(通用日志标准)
8 个日志级别(必须记住)
// 日志级别从低到高
debug(调试详细信息)、info(普通日志)、notice(普通提示)、
warning(警告)、error(运行时错误)、critical(严重错误)、
alert(必须立即处理)、emergency(系统不可用)
接口方法
// 通用调用方式
$logger->info('用户登录成功', ['user_id' => 1001, 'ip' => '127.0.0.1']);
四、PSR-4:自动加载规范(必须掌握:使用composer 必备)
PHP 开发中最重要的规范,Composer 自动加载的底层标准,现在所有的 PHP 框架(Laravel、ThinkPHP、Symfony)都基于此。
1、命名空间 对应 文件目录:命名空间的层级 = 文件夹的层级
2、类名 对应 文件名 :类名 = 文件名(大小写完全一致)
3、无需手动写 require/include 引入文件,Composer 自动加载。
例如:composer.json会有这么一段配置
{
"autoload": {
"psr-4": {
"App\\": "src/" // App命名空间 对应 src目录
}
}
}
五、PSR-12:扩展代码风格规范(必须掌握)
* 缩进:使用4 个空格,禁止用 Tab 键。
* 行长度:每行不超过 120 字符,最好 80 字符以内。
* 关键字大小写:PHP 关键字全小写(if、for、public、static)。
* 类与方法: 类的 { 换行写,方法 { 换行写。
* 方法参数、括号左右无多余空格。
* 控制结构:if、for、foreach 等关键字后必须加一个空格。
* 条件括号 () 内两侧无空格。
六、其他知悉即可
- PSR-7:HTTP 消息接口(Request、Response、UploadedFile 等)。
- PSR-17:HTTP 工厂接口(统一创建请求 / 响应对象)。
- PSR-18:HTTP 客户端接口(统一的 HTTP 请求客户端,如 Guzzle)
- PSR-6:缓存接口规范
- PSR-11:容器依赖注入接口规范(Laravel/Symfony 容器标准)
- PSR-14:事件分发器规范
- PSR-15:中间件接口规范
七、总结
必须掌握的有:PSR-1(基础)、PSR-4(自动加载)、PSR-12(代码风格);
使用ide编辑器,例如,PhpStorm 记得设置为 PSR-12 代码风格;
更多推荐

所有评论(0)