Skip to content

Spomky/phpstan-banned-code

This branch is 7 commits behind ekino/phpstan-banned-code:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bab2937 · Aug 1, 2024

History

92 Commits
Aug 1, 2024
Feb 25, 2022
Aug 1, 2024
Oct 11, 2023
May 24, 2019
Nov 2, 2021
Aug 13, 2021
Aug 1, 2024
Jan 16, 2019
Aug 18, 2021
Feb 25, 2022
Aug 1, 2024
Feb 25, 2022
Aug 18, 2021
Nov 2, 2021

Repository files navigation

PHPStan Banned Code

Latest Stable Version Build Status Coverage Status Total Downloads

This library is based on PHPStan to detect calls to specific functions you don't want in your project. For instance, you can add it in your CI process to make sure there is no debug/non standard code (like var_dump, exit, ...).

Basic usage

To use this extension, require it using Composer:

composer require --dev ekino/phpstan-banned-code

When you use https://github.com/phpstan/extension-installer you are done.

If not, include extension.neon in your project's PHPStan config:

includes:
	- vendor/ekino/phpstan-banned-code/extension.neon

Advanced usage

You can configure this library with parameters:

parameters:
	banned_code:
		nodes:
			# enable detection of echo
			-
				type: Stmt_Echo
				functions: null

			# enable detection of eval
			-
				type: Expr_Eval
				functions: null

			# enable detection of die/exit
			-
				type: Expr_Exit
				functions: null

			# enable detection of a set of functions
			-
				type: Expr_FuncCall
				functions:
					- dd
					- debug_backtrace
					- dump
					- exec
					- passthru
					- phpinfo
					- print_r
					- proc_open
					- shell_exec
					- system
					- var_dump

			# enable detection of print statements
			-
				type: Expr_Print
				functions: null

			# enable detection of shell execution by backticks
			-
				type: Expr_ShellExec
				functions: null

		# enable detection of `use Tests\Foo\Bar` in a non-test file
		use_from_tests: true

type is the returned value of a node, see the method getType().

About

Detect banned code through PHPStan

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 88.4%
  • Makefile 11.6%