在 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 的官方文檔。