
PSR-12 扩展了 PSR-1 和已弃用的 PSR-2,为现代 PHP 提供了全面的编码规范。该标准通过定义特定的格式规则来确保 PHP 代码的一致性。
关键样式规则
<?php 标签(如果引擎能够自动识别)。以下是一个符合规范的类示例:
<code class="php"><?php
declare(strict_types=1);
namespace Vendor\Package;
use Vendor\Package\SomeClass;
use Vendor\Package\AnotherClass as Another;
class ClassName extends ParentClass implements \ArrayAccess, \Countable
{
private const VERSION = '1.0';
public function methodName(int $arg1, ?string $arg2): string
{
// 方法体
}
}
?></code>以下示例展示了 PSR-12 中控制结构的格式化规范:
立即学习“PHP免费学习笔记(深入)”;
<code class="php"><?php
if ($expr1) {
// if 代码块
} elseif ($expr2) {
// elseif 代码块
} else {
// else 代码块
}
switch ($expr) {
case 0:
echo '第一个 case';
break;
default:
echo '默认 case';
break;
}
try {
// try 代码块
} catch (FirstThrowableType $e) {
// catch 代码块
} finally {
// finally 代码块
}
?></code>现代 PHP 功能
以下示例展示了如何在方法签名中使用类型声明:
<code class="php"><?php
public function processUser(
User $user,
?array $options = null
): ?Response
{
// 实现
}
?></code>以下示例展示了如何在 PHP 8 中使用属性语法:
<code class="php"><?php
#[Route("/api/posts/{id}", methods: ["GET"])]
public function show(#[EntityId] int $id): Response
{
// 实现
}
?></code>PSR-12 兼容性工具
常见问题和解决方案
可以使用以下命令检查和修复混合行尾符问题:
<code class="bash"># 检查混合行尾符
find . -name "*.php" -exec file {} \;
# 使用 dos2unix 修复
find . -name "*.php" -exec dos2unix {} \;</code>下一步
下一篇文章将探讨 PSR-13,它定义了 PHP 中 HTTP 消息接口的标准。
资源
示例:声明语句
<code class="php"><?php
declare(strict_types=1);
namespace Vendor\Package;
use Vendor\Package\{ClassA as A, ClassB, ClassC as C};
use Vendor\Package\SomeNamespace\ClassD as D;
?></code>示例:类结构
<code class="php"><?php
namespace Vendor\Package;
class ClassName extends ParentClass implements \ArrayAccess, \Countable
{
private $property;
public function __construct()
{
// 构造函数体
}
}
?></code>以上就是PHP中的PSR-扩展编码样式指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号