npm 包 simplephplint 使用教程

阅读时长 6 分钟读完

前言

在开发前端项目时,我们可能会使用到 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

纠错
反馈