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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【电路笔记】-有源高通滤波器

有源高通滤波器 文章目录 有源高通滤波器1、概述2、有源高通滤波器3、有源高通滤波器示例4、二阶高通有源滤波器有源高通滤波器可以通过将无源 RC 滤波器网络与运算放大器相结合来创建,以产生具有放大功能的高通滤波器。 1、概述 有源高通滤波器 (HPF) 的基本操作与其等效 RC…

【Crypto】摩丝

文章目录 一、摩斯解题感悟 一、摩斯 很明显莫尔斯密码 iloveyou还挺浪漫 小小flag,拿下 解题感悟 莫尔斯密码这种题还是比较明显的

游戏安全防控有招了! MMO游戏安全场景解决方案

2024年4月10日,暴雪娱乐与网易共同宣布:停服442天后,那款曾经让数百万国内玩家为之痴迷的MMO游戏《魔兽世界》国服要重新回归了。 还记得服务器关闭倒计时15分钟开始的时候,素不相识的大家就在频道中互相告别,“愿风指…

spring boot集成Knife4j

文章目录 一、Knife4j是什么?二、使用步骤1.引入依赖2.新增相关的配置类3.添加配置信息4.新建测试类5. 启动项目 三、其他版本集成时常见异常1. Failed to start bean ‘documentationPluginsBootstrapper2.访问地址后报404 一、Knife4j是什么? 前言&…

微服务项目收获和总结---第4天(文章审核和保存)

文章审核以及APP端保存文章 业务流程: App端保存接口: 数据库表详情 文章的基本信息表:id,标题,作者id,频道id...... 文章的权限/配置表:存储文章是否可以评论,是否上架&#xff…

在docker中运行SLAM十四讲程序

《十四讲》的示例程序依赖比较多,而且系统有点旧。可以在容器中运行。 拉取镜像 docker pull ddhogan/slambook:v0.1这个docker对应的github:HomeLH/slambook2-docker 拉下来之后,假如是Windows系统,需要使用XLaunch用于提供X11…

番外篇 | YOLOv5-SPD:用最简单的方式完成低分辨率图像和小目标检测升级

前言:Hello大家好,我是小哥谈。论文提出了一个新的CNN构建模块称为SPD-Conv,用来替换每个步长卷转层和每个池化层(从而完全消除它们)。SPD-Conv由一个空间到深度(SPD)层和一个非步长卷积(Conv)层组成。本文详细介绍了如何在YOLOv5中引入SPD-Conv,助力助力低分辨率与小…

掌握代码注释:提升代码可读性的秘密武器

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、为什么我们需要注释? 二、如何添加单行注释? 使用井号 # 添加单…

C++贪心算法(4)

过河的最短时间 #include<bits/stdc.h> using namespace std; int main() {int a[1010]{0};int n;cin>>n;for(int i0;i<n;i){cin>>a[i];}sort(a0,an);int xn-2;int yn-1;int tmpa[1];while(true){int tmp1a[0]a[y]a[1]a[1];int tmp2a[0]a[y]a[0]a[x];if(t…

Golang | Leetcode Golang题解之第110题平衡二叉树

题目&#xff1a; 题解&#xff1a; func isBalanced(root *TreeNode) bool {return height(root) > 0 }func height(root *TreeNode) int {if root nil {return 0}leftHeight : height(root.Left)rightHeight : height(root.Right)if leftHeight -1 || rightHeight -1 …

2024年收集搜索引擎蜘蛛大全以及浏览器模拟蜘蛛方法

对于做SEOer来说经常和搜索引擎蜘蛛打交道&#xff0c;下面整理收集了最全的搜索引擎蜘蛛大全。供有需要的朋友使用&#xff0c;建议收藏。 搜索引擎蜘蛛大全 "TencentTraveler", "Baiduspider", "BaiduGame", "bingbot",//必应蜘蛛…

MaxEnt模型文章中存在的问题和处理方法(050B更新)2024.5.24

目前多数MaxEnt文章中存在的问题和处理方案。 **问题一&#xff1a;**变量数据使用问题&#xff0c;很多文章把所有变量数据直接使用&#xff0c;但是温度和土壤、植被类型等属于不同数据类型&#xff0c;在数据使用时参数配置是不一样的&#xff0c;产生的结果文件也是不一样的…

Generative Action Description Prompts for Skeleton-based Action Recognition

标题&#xff1a;基于骨架的动作识别的生成动作描述提示 源文链接&#xff1a;https://openaccess.thecvf.com/content/ICCV2023/papers/Xiang_Generative_Action_Description_Prompts_for_Skeleton-based_Action_Recognition_ICCV_2023_paper.pdfhttps://openaccess.thecvf.c…

【openlayers系统学习】1.5交互-捕捉要素

五、捕捉要素 Snapping 捕捉 您可能已经注意到&#xff0c;很容易绘制与现有要素不完全对齐的要素。此外&#xff0c;在修改要素时&#xff0c;我们可能会破坏拓扑关系&#xff0c;导致原本相邻的多边形之间出现空隙。Snap 交互操作可以帮助在绘制和编辑要素时保持拓扑关系。…

vue 纵向滚动菜单, 点击滚动到选中菜单

1 背景 需要设计一个纵向滚动菜单&#xff0c;要求丝滑点&#xff0c;默认显示选中菜单 2 思路 给定一个容器&#xff0c;样式包含overflow:hidden&#xff0c;默认高宽足够显示一个菜单&#xff08;以下用图标代替菜单&#xff09;&#xff0c;鼠标悬浮时增大容器高度&#…

时代终结,微软宣布淘汰VBScript;Flink漏洞被广泛利用;Grandoreiro银行木马强势回归,1500多家银行成攻击目标 | 安全周报0524

揭秘SolarMarker恶意软件&#xff1a;多层次基础设施让清除工作陷入困境 Recorded Future的新发现表明&#xff0c;SolarMarker信息窃取恶意软件背后的持续威胁行为者已经建立了一个多层次的基础设施&#xff0c;以使执法部门的清除工作变得复杂。 该公司在上周发布的一份报告…

Linux环境中部署docker私有仓库Registry与远程访问详细流程

目录 前言 1. 部署Docker Registry 2. 本地测试推送镜像 3. Linux 安装cpolar 4. 配置Docker Registry公网访问地址 5. 公网远程推送Docker Registry 6. 固定Docker Registry公网地址 前言 作者简介&#xff1a; 懒大王敲代码&#xff0c;计算机专业应届生 今天给大家聊…

How Blink Works

How Blink Works TL;NR 在 Blink 上开发绝非易事。对于新接触 Blink的开发者来说&#xff0c;要实现一个高效的渲染引擎&#xff0c;需要了解大量Blink特有的概念和编码约定。对于经验丰富的开发者来说亦非易事&#xff0c;因为 Blink 非常庞大&#xff0c;对性能、内存和安全…

Ubuntu22.04本地部署qwen模型、jupyterlab开发环境、LoRA微调全流程

前言 这段时间在自己的Win11系统上部署了chatGLM以及Qwen模型&#xff0c;进行对话、推理以及工具调用都没有问题&#xff0c;但是在尝试进行微调的时候发现好像并不能成功&#xff0c;因此花费了很大的力气&#xff0c;又分别在ubuntu桌面版、windows子系统WSL2 Ubuntu上部署…

C++多生产者,多消费者模型

C11实现多生产者&#xff0c;多消费者模型 在C标准库中实现多生产者多消费者模型&#xff0c;可以使用std::thread、std::queue、互斥锁(std::mutex)、条件变量(std::condition_variable)等组件。下面是一个简单的示例&#xff0c;展示如何创建多生产者和多消费者模型&#xf…