我正在开发一个 PHP 包(在 Composer 上分发),它可以从日志记录中受益,但不需要它。我见过许多composer.json
包含建议包的示例文件,如下所示:
{
"suggest": {
"monolog/monolog": "Allows more advanced logging of the application flow"
}
}
我将如何检测库在运行时是否可用?我想实例化一个默认实例(\Monolog\Logger
如果可用),如果需要,允许包的使用者传入他们自己的Psr\Log\LoggerInterface
接口实现。有没有这方面的最佳实践?