struggle-for-php / sfp-stubs-psr-log
用于让静态分析理解psr/log (PSR-3)的存根
3.0.2
2024-02-12 09:11 UTC
Requires
- php: >=8.0.0
Requires (Dev)
- ext-simplexml: *
- psr/log: ^3
- rector/rector: 0.15.21
- squizlabs/php_codesniffer: ^3.7
- symfony/console: ^5
- vimeo/psalm: ^5.8
- weirdan/codeception-psalm-module: ^0.14.0
Conflicts
- psr/log: ^1 || ^2 || >=4
README
此仓库旨在供以下用途使用。
- https://github.com/struggle-for-php/sfp-psalm-psr-log-plugin
- https://github.com/struggle-for-php/sfp-phpstan-psr-log
但是,您可以将其用于个人目的。将以下文件添加到您的存根设置中。
stubs-for-throwable/LoggerInterface.phpstub
特性
类型化的上下文数组,以确保exception
键仅是Throwable对象。
示例
<?php /** @var Psr\Log\LoggerInterface $logger */ $logger->error('error happen.', ['exception' => $exception->getMessage()]);
您的静态分析将指向此类消息。
Parameter #2 $context of method Psr\Log\LoggerInterface::error() expects array()|array('exception' => Exception),
参考文献
实现者必须在将其用作异常之前验证'exception'键实际上是一个异常,因为它可能包含任何内容。
https://www.php-fig.org/psr/psr-3/#13-context
PSR-3规范指出Exception
,但我们已与PHP-FIG确认,对于PHP 7及以后版本,允许使用Throwable
。
https://groups.google.com/g/php-fig/c/nnwDWSFmij8
log
方法的level
参数是LogLevels::*的常量枚举。
/** * @param LogLevel::* $level */ public function log($level, $message, array $context = array())
不支持(未计划支持)
- 存根
LoggerAwareTrait