在 PHP 中,可以使用 php -l
命令对代码进行语法检查。但是,如果您希望使用更高级的代码分析工具,例如 PHPStan 或 Psalm,则需要配置它们。
以下是配置 PHPStan 和 Psalm 的示例:
composer require --dev phpstan/phpstan
在项目根目录下创建 phpstan.neon
文件,并添加以下内容:
parameters:
# 指定要分析的目录
paths:
- src/
# 指定 PHP 版本
runtime:
php_version: '7.4'
./vendor/bin/phpstan analyze
composer require --dev psalm/psalm
在项目根目录下创建 psalm.xml
文件,并添加以下内容:
<?xml version="1.0"?>
<project name="My Project"
file_encoding="utf-8">
<config>
<use_cache>true</use_cache>
<cache_dir>.psalm-cache/</cache_dir>
<level>7</level>
<strict_mode>true</strict_mode>
<no_deprecation>true</no_deprecation>
<no_unknown_functions>true</no_unknown_functions>
<no_unused_variables>true</no_unused_variables>
<no_extra_consecutive_calls_to_parent>true</no_extra_consecutive_calls_to_parent>
<no_extra_consecutive_null_checks>true</no_extra_consecutive_null_checks>
<no_extra_consecutive_isset_checks>true</no_extra_consecutive_isset_checks>
<no_extra_consecutive_empty_checks>true</no_extra_consecutive_empty_checks>
<no_extra_consecutive_compare>true</no_extra_consecutive_compare>
<no_extra_consecutive_print>true</no_extra_consecutive_print>
<no_extra_consecutive_return>true</no_extra_consecutive_return>
<no_extra_consecutive_throw>true</no_extra_consecutive_throw>
<no_extra_consecutive_exit>true</no_extra_consecutive_exit>
<no_extra_consecutive_assert>true</no_extra_consecutive_assert>
</config>
<files>
<file>src/**/*.php</file>
</files>
</project>
./vendor/bin/psalm
这些配置文件可以根据您的项目需求进行调整。更多选项和详细信息,请参阅 PHPStan 和 Psalm 的官方文档。