npm 包 simplephplint 使用教程

前言

在开发前端项目时,我们可能会使用到 PHP 语言,为了保证项目的质量,我们需要对 PHP 代码进行静态检查。而现有的 PHP 静态检查工具,如 PHPCS、PHPMD、Psalm 等,都需要安装 PHP 环境和扩展,有时不方便使用。

而基于该需求,npm 包 simplephplint 应运而生。它基于 PHP 语言解析器(php-parser)开发,无需安装 PHP 环境即可进行静态检查。

下面,我们将详细介绍 simplephplint 的使用方法,希望对大家有所帮助。

安装

首先,我们需要在项目中安装 simplephplint:

--- ------- ---------- -------------

使用

命令行使用

simplephplint 支持命令行使用。我们可以在命令行终端中执行以下命令:

--- ------------- ------- ------- ---

其中,[file1][file2] 等为 PHP 文件路径,支持相对路径或绝对路径。simplephplint 会依次对这些文件进行检查,输出检查结果。

检查成功的输出类似于:

----------- --

检查失败的输出类似于:

--------------- ------ ------ ------ ---------- --- -----------------------
-
-
----------- ------ ----- - --------

在 code 中使用

simplephplint 也支持在代码中使用。我们可以通过以下方式引入 simplephplint:

----- - ---- - - -------------------------

----- ------- - -
-----
---- ------- --------
--

----- ------ - --------------
--------------------

其中,content 为 PHP 代码,lint 方法返回检查结果,返回一个对象,格式如下:

-
  --- ------ -- ------
  ----- ----- -- ----
  ------ - -- ----
    ----- --
    ---- --
    -------- ------- ------ ---------- --- -- ---- -------
  -
-

配置

simplephplint 提供了一些配置选项,我们可以在项目根目录下创建名为 .simplephplint.json 的文件来进行配置。

以下为默认配置:

-
  -------------- -----
  ----------------- -----
  ---------------- -----
  -------------------- -----
  ------------------ -----
  ---------------- -----
  ------------------- -----
  ------------------ -----
  -------------------- -----
  ----------------------- -----
  --------------------- -----
  ---------------------------- -----
  ------------------ -----
  ----------------- -----
  ----------------- -----
  --------------------- -----
  -------------------- -----
  ---------------------- -----
  ------------------- -----
  ------------------- -----
  ----------------- -----
  ---------------------- -----
  ---------------------- ----
-

可以根据需要进行修改。配置的选项含义如下:

  • no_eof_endl:禁止在文件末尾出现换行符
  • no_inline_html:禁止直接在 PHP 代码中使用 HTML 标签
  • no_useless_if:禁止出现没有意义的 if 语句
  • no_useless_elseif:禁止出现没有意义的 elseif 语句
  • no_useless_else:禁止出现没有意义的 else 语句
  • no_extra_semi:禁止在语句末尾使用多余的分号
  • no_empty_finally:禁止在 finally 语句中出现空语句
  • no_leading_zero:禁止在整数前出现多余的 0
  • no_duplicate_case:禁止在 switch 语句中出现重复的 case
  • no_duplicate_default:禁止在 switch 语句中出现重复的 default
  • no_break_in_switch:禁止在 switch 语句中出现不必要的 break
  • no_switch_without_default:禁止在 switch 语句中没有 default 语句
  • no_empty_switch:禁止出现空的 switch 语句
  • no_unreachable:禁止出现无法访问的语句
  • no_empty_label:禁止出现空的 label
  • no_empty_statement:禁止出现空语句
  • no_useless_return:禁止出现没有意义的 return 语句
  • no_useless_continue:禁止出现没有意义的 continue 语句
  • no_useless_break:禁止出现没有意义的 break 语句
  • no_useless_throw:禁止出现没有意义的 throw 语句
  • no_useless_use:禁止出现没有意义的 use 语句
  • no_unused_variables:禁止出现未使用的变量
  • no_unused_functions:禁止出现未使用的函数

总结

simplephplint 是一款基于 PHP 语言解析器开发的静态检查工具,无需安装 PHP 环境即可进行静态检查。它支持命令行使用和代码中使用,可通过配置文件进行配置。相比传统的 PHP 静态检查工具,简单方便,值得使用。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60057bc681e8991b448eb9ed


猜你喜欢

  • npm 包 transilien-api 使用教程

    在前端开发中,我们经常会使用到各种 npm 包来帮助我们更快、更方便地完成程序开发。本文将介绍如何使用一个名为 transilien-api 的 npm 包,帮助我们获取法国巴黎周边地区的火车时刻表信...

    3 年前
  • npm 包 vue-in-browser 使用教程

    前言 前端开发中,使用框架是必不可少的。而 Vue.js 可谓是目前最受欢迎的前端框架之一。但是,在一些简单的项目中,使用完整的 Vue.js 可能显得有些臃肿,并且会降低应用的加载速度。

    3 年前
  • npm 包 x-react-flipclock 使用教程

    x-react-flipclock 是一款基于 React 的计时器组件,它提供了翻页式的数字显示,并支持定时器功能。本文将为您介绍 x-react-flipclock 的使用方法,包括安装、引用、参...

    3 年前
  • npm 包 create-koa-static-page 使用教程

    前言 在 Web 开发过程中,静态页面是必不可少的一部分。对于后端开发人员来说,一般会采用模板引擎来处理静态页面,比如 ejs、handlebars 等。但是对于前端开发人员来说,使用静态页面生成器来...

    3 年前
  • npm 包 stom-vue-treeselect 使用教程

    近年来,前端开发越来越受到大家的关注,也越来越成为了各种业务场景的重要组成部分。npm 包也随之而来,它可以帮我们快速地搭建一个前端项目,提高代码的开发效率和可维护性。

    3 年前
  • npm 包 koa-apiai-parser 使用教程

    前言 koa-apiai-parser 是一个基于 Koa 框架的中间件,用于处理 Dialogflow 的 webhook 请求。本篇文章将介绍如何使用该 npm 包,并且通过详细的代码示例来展示其...

    3 年前
  • npm 包 compress-js 使用教程

    在前端开发中,为了提高页面的性能和降低带宽占用,我们需要对 JavaScript 代码进行压缩。而 compress-js 是一款基于 Node.js 的工具,可以用来对 JavaScript 代码进...

    3 年前
  • npm 包 bitfumes-jwt-verify 的使用教程

    介绍 JSON Web Token(JWT)是一种用于在网络上安全传输信息的开放标准(RFC 7519)。JWT 可以通过数字签名等方式验证信息的完整性,因此非常适合用于身份验证和授权。

    3 年前
  • npm 包 @qogni/nes-uws 使用教程

    在前端开发过程中,WebSocket 是常用的通信协议之一。而 @qogni/nes-uws 是一个基于 uWebSockets.js 的 WebSocket 实现,该 npm 包提供了高性能、低延迟...

    3 年前
  • npm 包 periodical-executer 使用教程

    在现代化的 Web 应用程序中,周期性执行任务是非常常见的需求。无论是定时推送消息,数据同步还是数据备份,都需要我们编写一些代码来周期性地进行相应的操作。我们通常会使用一些 setTimeout 或 ...

    3 年前
  • npm包petite-auth使用教程

    petite-auth 是一款基于token认证的npm包,该包可以帮助前端开发者轻松完成用户身份认证,提高站点安全性。本文将详细讲解如何使用petite-auth包,并提供示例代码供大家参考。

    3 年前
  • npm 包 react-contextmenu-tmp 使用教程

    简介 react-contextmenu-tmp 是一个 React Contextmenu 组件的封装库,简化了调用的流程并提供了更加灵活的 API。 在前端开发中,Contextmenu 是一种常...

    3 年前
  • 使用 React Native Credit Card Input New 包的教程

    在使用 React Native 开发移动应用时,有时需要将用户信息以更加直观的方式展示出来,例如让用户自行输入信用卡信息。React Native Credit Card Input New 是一款...

    3 年前
  • npm 包 starbot-facebook-adapter 使用教程

    随着人工智能技术的不断发展,聊天机器人逐渐成为了现代网站和应用的一部分。为了让聊天机器人更方便地和用户交互,在前端开发中使用 npm 包 starbot-facebook-adapter 是非常方便和...

    3 年前
  • npm 包 @matthamlin/react-lightbox 使用教程

    介绍 在前端开发中,有时需要使用图片轮播、图集展示等功能。@matthamlin/react-lightbox 是一个 React 组件,专门用于实现图片轮播、图集展示等功能。

    3 年前
  • npm包:Feathers-distributed-cust使用教程

    介绍 Feathers-distributed-cust是一个容器化的分布式系统基础设施,它使用Feathers.js架构来快速构建分布式、高度可扩展的系统。该npm包可以有效地减轻开发者在构建分布式...

    3 年前
  • npm 包 @doochik/stylelint-config-strict 使用教程

    前言 在前端开发中,我们经常会遇到样式表的问题。虽然每个团队的规范不尽相同,但是有一些常见的规范是大家都遵循的。比如说要缩进两个空格、选择器与大括号之间有一个空格等等。

    3 年前
  • npm 包 ngx-blurred-image 使用教程

    在前端开发中,有时需要在页面中使用模糊的图片,以达到一些艺术或美学的效果。而 ngx-blurred-image 就是一个帮助实现这个目标的 npm 包。本教程将详细介绍如何在 Angular 项目中...

    3 年前
  • npm 包 node-async-fs 使用教程

    在 Node.js 中,文件操作是前端开发中一个不可避免的任务。而 node-async-fs 包能够让文件操作更加简单且高效。本文将为大家介绍如何使用 node-async-fs 进行文件操作,并提...

    3 年前
  • npm 包 ab-webshot 使用教程

    随着互联网的发展,前端技术的重要性越来越凸显出来。前端开发面对着日益增长的需求,如何提高效率成为了一个不可忽视的问题。在这个过程中,npm 成为了前端工程师必不可少的工具之一,而 ab-webshot...

    3 年前

相关推荐

    暂无文章