phpcs - 在 PHP 8 中提升构造函数时如何允许使用相同的行大括号

问题描述

这是我关于 StackOverflow 的第一个问题。我为此感到非常高兴! ??

我想知道是否有一些 phpcs 配置可以覆盖相同的大括号规则。例如,当使用PHP 8 new constructor promotion feature时,在某些情况下我们不需要构造函数中的任何内容。因此,如果 PHPcs 可以允许此代码,那就太好了:

/**
 * UserService constructor
 *
 * @param UserRepository $userRepository
 * @param BillingService $billingService
 */
public function __construct(
    protected UserRepository $userRepository,protected BillingService $billingService
) {}

甚至那个:

/**
 * BillingService constructor
 *
 * @param BillingRepository $billingRepository
 */
public function __construct(protected BillingRepository $billingRepository) {}

但它会引发警告,例如在 VS Code 中,“右大括号必须单独在一行上”。我不想禁用规则,只是在使用构造函数提升时自动允许异常。

PHPcs.xml.dist 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="vendor/squizlabs/PHP_codesniffer/PHPcs.xsd">
  <rule ref="PSR1"/>
  <rule ref="PSR2">
    <exclude name="PSR1.Methods.CamelCapsMethodName"/>
  </rule>
</ruleset>

有人知道如何实现吗?

感谢您的时间。 :)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)