PHP质量工具系列之php_CodeSniffer

PHP_CodeSniffer 是一组两个 PHP 脚本:主脚本 phpcs 对 PHP、JavaScript 和 CSS 文件进行标记,以检测是否违反定义的编码标准;第二个脚本 phpcbf 自动纠正违反编码标准的行为。PHP_CodeSniffer 是一个重要的开发工具,可以确保你的代码保持干净和一致。

安装

pear安装

pear install PHP_CodeSniffer

composer安装

composer global require --dev squizlabs/php_codesniffer

Windows上安装好之后,运行phpcs --version 查看安装结果
Linux上安装好后,一般情况路径是/tmp/composer/vendor/bin/phpcs,可以将该路径设置为环境变量
Linux设置环境变量可参考Centos 环境变量配置

检测

执行如下命令

phpcs --standard=PSR12 --report-checkstyle=/workpath/checkstyle-result.xml /workpath/app

可以去掉 --report-checkstyle指令,直接输出结果如下
在这里插入图片描述

–standard指定标准,推荐PSR12
可通过phpcs -i命令查看支持哪些标准

–report-checkstyle 将结果输出到文件
/workpath/app 要检测的代码路径

修复

执行如下命令,就会按照PSR12对代码规范化

phpcbf --standard=PSR12 /workpath/app

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/840095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【简单介绍下近邻算法】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

Python-3.12.0文档解读-内置函数hash()详细说明+记忆策略+常用场景+巧妙用法+综合技巧

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 详细说明 功能描述 参数 返回值 特性 使用示例 注意事项 记忆策略 常用场景 …

Predictable MDP Abstraction for Unsupervised Model-Based RL

ICML 2023 paper code Intro 文章提出了一种用于无监督基于模型强化学的方法,称为可预测MDP抽象(Predictable MDP Abstraction, PMA)。在MBRL中,一个关键部分是能够准确建模环境动力学动态模型。然而,这个预测模型误…

debian/control文件中常见字段的介绍

1 简介 在Debian或基于Debian的发行版中,debian/control文件是软件包管理的关键部分。它包含了软件包的各种元数据和安装脚本信息,用于软件包管理系统(如dpkg)识别如何处理该软件包。以下是debian/control文件中常见字段的详细介…

【SQL国际标准】ISO/IEC 9075:2023 系列SQL的国际标准详情

目录 🌊1. 前言 🌊2. ISO/IEC 9075:2023 系列SQL的国际标准详情 🌊1. 前言 ISO(国际标准化组织,International Organization for Standardization)是一个独立的、非政府间的国际组织,其宗旨是…

IPKISS ------ AMF 添加自定义层

IPKISS ------ AMF 添加自定义层 正文 正文 很多时候,我们想要添加属于我们自己的层,此时我们需要向 AMF pdk 中的 gdsii.py 和 layers.py 文件添加层的信息。这两个文件的目录如下: 在 gdsii.py 文件下的 TECH.GDSII.LAYERTABLE 字典中我们…

工业大模型带来智能生产新范式

在当前工业行业的发展背景下,大模型技术展现出广阔的应用前景,在提升专业知识的可获取性和传承、优化软件技术的应用、提高数据驱动决策的准确性和效率等方面拥有显著潜力。 ‍‍‍‍‍‍‍‍‍‍据了解,蓝卓“基于supOS工业操作系统的工业大…

查看目录或文件的磁盘使用情况

在排查问题过程中,会遇到磁盘占满,需要排查具体哪个文件占用比较大,此时可以使用du 命令 du [选项] [文件或目录...] 常用的选项包括: -h 或 --human-readable:以人类可读的格式(如 K、M、G)…

高并发幂等计数器【面试真题】

高并发幂等计数器【面试真题】 前言版权推荐高并发幂等计数器题目初想 最后 前言 2023-8-30 12:07:45 公开发布于 2024-5-22 00:09:47 以下内容源自《【面试真题】》 仅供学习交流使用 版权 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN日星月云 博…

WAF绕过(下)

过流量检测 这里的流量检测就是在网络层的waf拦截到我们向webshell传输的数据包,以及webshell返回的数据 包,检测其中是否包含敏感信息的一种检测方式。如果是大马的情况下,可以在大马中添加多处判断代码,因此在执行大马提供的功…

吉林大学软件工程易错题

1.【单选题】软件工程方法是( )。 A、为开发软件提供技术上的解决方法 (软件工程方法 ) B、为支持软件开发、维护、管理而研制的计算机程序系统(软件工程工具) …

设计模式--装饰器模式

引言 装饰器模式(Decorator Pattern)是一种结构型设计模式,它动态地为对象添加额外的职责,而无需修改原有对象的结构。通过创建装饰类来包裹原有的对象,并在装饰类中添加新功能,从而实现功能的灵活扩展和组…

[力扣题解] 684. 冗余连接

题目:684. 冗余连接 思路 并查集; 从前往后遍历,如果不属于同一个集合(不是同一个爸爸),就加入,否则就返回这条边; 因为不属于同一个集合,加入可以形成树,要…

Vue 3 的 setup语法糖工作原理

前言 我们每天写vue3项目的时候都会使用setup语法糖,但是你有没有思考过下面几个问题。setup语法糖经过编译后是什么样子的?为什么在setup顶层定义的变量可以在template中可以直接使用?为什么import一个组件后就可以直接使用,无需…

KDE-Ambari-Metrics-Collector问题排查解决手册

文档说明 本文档是为了解决KDE平台的Ambari-Metrics-Collector服务在运行时遇到的问题而提供的问题排查和解决方法的参考文档 说明: 当前的Ambari-Metrics-Collector服务包括了ams-collector和ams-hbase两个程序,在Ambari-Metrics-Collector安装的节点执行ps -elf|grep am…

远动通讯屏具体干啥作用

远动通讯屏具体干啥作用 远动通讯屏主要用于电力系统中的各类发电厂、变电站、光伏电站、开闭所、配电房等,具有实时传输数据和远程控制功能。它的主要作用包括: 数据采集:远动通讯屏能够采集各种模拟量、开关量和数字量等信息&#xff0c…

Java设计模式-备忘录模式(23)

备忘录模式(Memento Pattern)是一种行为设计模式,它提供了一种在不破坏对象封装性的前提下,捕获并存储对象的内部状态,并且可以在将来需要的时候恢复对象状态的方式。这一模式非常适合用于需要撤销操作或者实现状态回滚的场景。以下是Java中备忘录模式的详细解释: 核心角…

云计算的主要服务模式有哪几种?分别是什么特点?

云计算主要有以下几种服务模式: Infrastructure as a Service (IaaS,基础设施即服务):提供虚拟化的计算资源,如服务器、存储和网络等基础设施。用户可以根据需要自由配置和管理这些资源,具有灵活性和可扩展性。 Platf…

pod介绍之 容器分类与重启策略

目录 一 pod 基础概念介绍 1,pod 是什么 2,Pod使用方式 3,如何解决一个pod 多容器通信 4,pod 组成 5, k8s 中的 pod 二 pause容器 1,pause容器 是什么 2,pause容器作用 3&#xff…

GitLab的原理及应用详解(二)

本系列文章简介: 随着软件开发的不断进步和发展,版本控制系统成为了现代软件开发过程中不可或缺的一部分。而GitLab作为其中一种流行的版本控制工具,在软件开发领域享有广泛的应用。GitLab不仅提供了强大的版本控制功能,还集成了项目管理、持续集成和部署、代码审查等多个功…