phpcs:如何修改 PSR2 以检查大括号与方法在同一行?

2023-12-19

我现在花了 2 个多小时试图弄清楚如何要求{与方法声明在同一行,而不是默认要求在下一行。我怎样才能完成这件事?我已将 PSR2 标准复制到名为 PSR2 的新文件夹中,以便能够根据自己的喜好对其进行修改。所以我正在研究的基础基本上是我想要修改的 PSR2 标准。

我尝试过ruleset.xml,并尝试直接在代码中修改它,但没有成功。

<rule ref="PEAR.Classes.ClassDeclaration">
    <properties>
        <property name="eolChar" value="{"/>
    </properties>
</rule>
<rule ref="PSR2R.Classes.ClassDeclaration">
    <properties>
        <property name="eolChar" value="{"/>
    </properties>
</rule>

我已经知道这是wrong。 EOL 由 phpcs 设置。但我无法弄清楚是否有一个可以通过规则配置的值。

到目前为止,这对我来说效果很好(拧那些愚蠢的空格!!!):

<?xml version="1.0"?>
<ruleset name="PSR2R">
    <description>PSR2 with tabs instead of spaces.</description>
    <arg name="tab-width" value="4"/>
    <rule ref="PSR2">
        <exclude name="Generic.WhiteSpace.DisallowTabIndent"/>
    </rule>
    <rule ref="Generic.WhiteSpace.DisallowSpaceIndent"/>
    <rule ref="Generic.WhiteSpace.ScopeIndent">
        <properties>
            <property name="indent" value="4"/>
            <property name="tabIndent" value="true"/>
        </properties>
    </rule>
</ruleset>

但我想添加上面的规则。


将此代码放入您的ruleset.xml 文件中:

<rule ref="PSR2">
    <exclude name="Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine" />
</rule>
<rule ref="Generic.Functions.OpeningFunctionBraceKernighanRitchie" />

这将包括 PSR2 标准,但排除有关括号需要位于同一行的特定消息。然后,它包括强制方法和函数大括号位于下一行的通用嗅探。

进行此更改后,此代码:

<?php
namespace Test;

class Foo
{
    public function bar() {
    }
}

不会产生任何错误,但直接在其上运行 PSR2 会产生一个错误:

FILE: temp.php
----------------------------------------------------------------------
FOUND 1 ERROR AFFECTING 1 LINE
----------------------------------------------------------------------
 6 | ERROR | [x] Opening brace should be on a new line
----------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

phpcs:如何修改 PSR2 以检查大括号与方法在同一行? 的相关文章

  • php laravel Blade 模板不渲染

    我正在尝试使用 Laravel 和 twitter bootstrap 设置一个基本页面 我安装了 Laravel 并获得了通用的 你在这里 或 w e 图像 这样看起来很闪亮 对于 twitter bootstrap 我在 public
  • Mysql 将 --secure-file-priv 选项设置为 NULL

    我在 Ubuntu 中运行 MySQL 我在运行特定的查询集时收到此错误 MySQL 服务器正在使用 secure file priv 选项运行 因此无法执行此语句 当我这样做的时候SELECT secure file priv 在我的 m
  • Laravel Eloquent 预加载:加入同一个表两次

    我有一个users表和一个约会桌子 在约会表中 我有两个用户 ID customer id staff id 我想检索所有带有客户姓名和员工姓名的约会 users table id name appointments table id st
  • PHP 读取使用 setcookie() 创建的 cookie

    来自manual https www php net setcookie 直到下一次加载 Cookie 应该可见的页面之前 Cookie 才会变得可见 这意味着创建的 cookiesetcookie将无法访问 COOKIE直到下一页加载 有
  • YUI压缩机或类似的PHP?

    我一直在我的测试服务器上使用 yuicompressor jar 来动态最小化已更改的 JavaScript 文件 现在我已经将网站部署到公共服务器上 我注意到服务器的策略禁止使用 exec 或其等效项 因此我不再执行 java 有没有一个
  • Laravel 5.4 将json保存到数据库

    帮我将 json 保存到数据库 表字段类型 文本 我有带有强制转换数组的模型 class Salesteam extends Model protected casts team members gt array 我想要像这样 index
  • zend 表单验证

    我想知道 Zend Form 如何验证输入 我的意思是它如何知道要验证哪些输入字段 我查看了 php 全局变量 POST GET 但没有看到任何设置为标识符 例如 的内容 以便了解如何验证 有人能给我推荐一些关于这些东西的指南吗 好吧 找出
  • Laravel 读写连接不同步

    我在 Laravel 5 2 应用程序中使用读写 MySQL 连接设置 mysql gt write gt host gt env DB HOST WRITE localhost read gt host gt env DB HOST RE
  • Memcache 不会刷新或清除内存

    我一直在尝试清除我的内存缓存 因为我注意到使用时存储占用了近 30 的服务器内存ps aux 所以我运行了以下 php 代码 memcache new Memcache memcache gt connect localhost 11211
  • 计算 PHP 字符串中特定字符的所有出现次数的最有效方法是什么?

    计算 PHP 字符串中特定字符的所有出现次数的最有效方法是什么 用这个 echo substr count abca a will echo 2
  • php隐藏所有错误[重复]

    这个问题在这里已经有答案了 隐藏的最佳做法是什么allPHP 错误 因为我不想向用户显示错误 我尝试过使用 htacess通过输入代码php flag display errors off在那里 但它返回给我一个500 error 还有其他
  • 通过 post 使用 php 发送 XML

    我知道有很多类似的问题 但我尝试过摆弄所有的解决方案 但似乎无法使其发挥作用 我正在尝试将 xml 直接发布到 Web 服务并获得响应 从技术上讲 我正在尝试连接到freightquote com 您可以在右上角找到该文档this http
  • 为什么 asort 适用于多维数组?

    抱歉 如果这是一个非常基本的问题 我无意中发现asort http php net manual en function asort php似乎适用于多维数组 示例 PHP animals array 1 gt array name gt
  • Gearman,php 扩展问题:使用终端在 .. 中找不到类“GearmanWorker”,但可以在浏览器上使用

    我最近在 ubuntu 10 04 上安装了 gearman 并安装了它的 pecl 扩展 现在 当我在浏览器中运行一个 php 文件时 其中包含 client new GearmanWorker die var Dump client I
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • 细胞的 fpdf 对齐

    我正在尝试使用生成 PDFfpdf我有一个小问题 我需要有 2 个单元格 如下所示 Address Line 1 Version Address Line 2 1 0 City 06 05 2011 我尝试过使用MultiCell 但没有运
  • 使用 Xpath 进行部分匹配

    我正在尝试创建一个搜索功能 允许使用 Xpath 按歌曲标题或流派进行部分匹配 这是我的 XML 文件
  • sqlite3和pdo_sqlite有什么区别

    我正在将我的 Web 应用程序从 MySQL 迁移到 SQLite 数据库 我发现有两个 PHP 扩展用于与 sqlite 通信 php sqlite3 dll and php pdo sqlite dll 什么扩展比较好 或者另一个问题
  • Mysql加密/存储敏感数据,

    我的 PHP 网站有以下内容 启用 SSL 饼干 session set cookie params cookieParams lifetime cookieParams path cookieParams domain secure ht
  • 使用 Swift 邮件程序发送邮件时出现错误 501

随机推荐

  • 如何防止 ReSharper 在解决方案中创建文件夹?

    ReSharper 6 创建类似的文件夹ReSharper projectname其中包含下面的文件和文件夹 这通常会给 MSDeploy 和源代码控制带来很多问题 我必须在各处添加忽略规则 防止这种情况发生的正确方法是什么 切换回 Vis
  • Backtrace 消音器不工作

    在我的 Rails 应用程序中 我设置了以下回溯消音器 正如 Michael Hartl 在他的 Rails 教程中所建议的那样 Rails backtrace cleaner add silencer line line rvm 但我仍然
  • 以编程方式激活 firebase 云函数中的重试

    我正在部署 firebase 云功能 以通过持续部署来监听我们的 firestore 中的更改 我只能想办法激活重试manually https firebase google com docs functions retries enab
  • 请求如何使用 TComplexMath 类的简单示例(包含源代码)

    我正在使用 Borland Delphi7 进行一些 Pascal 编程 我已经下载了一个相当基本 且免费 的复杂数学函数源代码库 但不幸的是它没有附带任何使用示例 由于我对 Pascal 中的类不是很熟悉 我想我只需要一个简单的例子来说明
  • jar 文件的 MacOS 可执行文件

    我有一个独立的 java 应用程序 将在 Macintosh 系统中使用 考虑到它的源代码可以反编译 我不想将该应用程序作为 jar 文件提供 因此 我的目的是将 jar 文件转换为某种可以在 MacOS 中运行的可执行文件 有什么办法可以
  • 如何在mysql中保存链接?

    我需要在mysql中保存一些链接 但有些链接较小 有些链接可能很大 我必须在 mysql 中使用什么字段 varchar TEXT ecc Varchar 是一个不错的选择 TEST适用于非常大的数据 并且存储在表外 欲了解更多信息 请阅读
  • bash 脚本中的通配符

    我有一个 bash 脚本来从 ftp 检索文件 现在 这些文件的文件名中有一部分是日期字符串 但也有未定义的数字 这些数字在每个文件上都会发生变化 我想根据日期下载文件 这是我的代码 我只需要使用通配符技巧 ftp 脚本就可以工作了 fil
  • 在本地运行一次计时器触发的 Azure 函数的最简单方法是什么?

    我有一些按计划运行的 C Azure 函数定时器触发器 https learn microsoft com en us azure azure functions functions bindings timer 我把它们设置成这样 在哪里
  • 将图像从 iPhone 上传到服务器文件夹

    我在网上找到了一些将图像从 iphone 上传到服务器文件夹的片段 它显示使用服务器端脚本 例如 在服务器端使用php
  • 如何在新的谷歌应用程序脚本界面上缩进代码?

    任何有关如何使用快捷方式在 google appscript 上缩进 打开自动缩进的指导将不胜感激 What I am using when indenting manually is Tab and Shift Tab on single
  • 如今,设置线程亲和性而不是将其留给操作系统的充分理由是什么?

    在这里搜索 线程亲和力 的答案 我看到很多人对此感兴趣 但除了可能获得稳定的 QueryPerformanceTimer 结果之外 没有什么理由 假设有一个现代操作系统和一个带有现代 4 6 核 CPU 的现代 2 4 插槽工作站 服务器类
  • ReflectionClass::getProperties() 是否也获取父级的属性?

    我正在尝试通过反射访问 更改类的父类的属性 如果我在子级上运行 ReflectionClass getProperties 它是否也会返回父级具有的任何属性 如果没有 是否有任何方法可以使用反射访问父属性 我做了这个快速测试 当您获取子类的
  • 获取隐式证据选择的运行时类型

    假设我有一组 String 转换器 作为 Type 类 import scala reflect runtime universe abstract class ToStringConverter T def convert value T
  • ClassNotFoundException 封送 EJB 参数

    我正在制作一个具有分布式架构的项目 但我在返回时遇到问题java util Collection到客户端应用程序 我正在托管 Bean 中调用 EJB 以引入持久实体的集合 我正在使用 Java 7 和 JBoss 7 1 1 Manage
  • 将域名指向运行XAMPP和wordpress的服务器ip

    我在 Windows 服务器上安装了 XAMPP 还安装了 Wordpress XAMPP 模块 我还购买了一个域名 将其指向我的服务器 IP 问题是 我希望当人们输入 mydomain com 时 mydomain com 显示在地址栏中
  • Spring Data Elasticsearch 父/子文档存储库/测试执行错误

    我为两个父 子相关文档创建了两个 Spring Data elasticsearch 存储库 您可以看到它们的文档类here https github com ltsallas spring data elastic test blob m
  • 是否可以在不终止会话的情况下终止oracle中的单个查询?

    我希望能够在 Oracle 10 2 0 4 中终止用户的查询 而不终止其整个会话 这将允许查询结束 但不会将该用户从会话中注销 以便他们可以继续进行其他查询 这有可能吗 或者终止会话的钝锤是结束查询执行的唯一方法吗 我发现了一个窍门 我不
  • AWS Cloudfront:凭证的范围应限定在有效区域

    通过 API 连接到 AWS CloudFront 时 无论我做什么 都会出现异常 Credential should be scoped to a valid region 相同的凭据适用于帐户有权执行的任何其他请求 例如 S3 该异常是
  • 使用 EntityFramework 4 为实体分配 id

    我想为我的实体实现 默认 ID 生成支持 保存实体时 我希望 EntityFramework 仅生成实体的 id 值 如果尚未设置 如果 ID 已经具有非空 非零值 我希望在将实体保存到数据库中时保留该实体 ID 我正在将数据从旧数据模型
  • phpcs:如何修改 PSR2 以检查大括号与方法在同一行?

    我现在花了 2 个多小时试图弄清楚如何要求 与方法声明在同一行 而不是默认要求在下一行 我怎样才能完成这件事 我已将 PSR2 标准复制到名为 PSR2 的新文件夹中 以便能够根据自己的喜好对其进行修改 所以我正在研究的基础基本上是我想要修