struggle-for-php/sfp-stubs-psr-log

用于让静态分析理解psr/log (PSR-3)的存根

3.0.2 2024-02-12 09:11 UTC

README

此仓库旨在供以下用途使用。

但是,您可以将其用于个人目的。将以下文件添加到您的存根设置中。

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