我有一个简单的导入器类,它将成功和失败状态记录到日志文件中。
我已将日志文件名设置为类中的常量,如下所示:
class MyClass
{
const STATUS_LOG = "my_log.log";
public function doImport()
{
// do import here and log result
}
}
目前我不知道为什么会使用不同的日志,但最好允许这种灵活性并执行以下操作:
class MyClass
{
private $statusLog;
public function __construct($statusLog)
{
$this->statusLog = $statusLog;
}
public function getStatus()
{
return $this->statusLog;
}
public function setStatusLog($statusLog)
{
$this->statusLog = $statusLog;
}
public function doImport()
{
// do import here and log result
}
}
鉴于我目前没有使用不同的日志文件,第二种方法有什么好处吗?
最佳答案
我认为就日志记录而言,您不应该允许更改日志路径。不是在运行时 - 因为有一个问题 - 如果日志路径“热”更改,数据完整性会发生什么?灵活性听起来不错,但我认为这不是您应该允许在运行时更改属性的情况。
如果您对日志路径犹豫不决,那么它应该可以通过配置文件进行调整 - 即在应用程序启动时读取一次。因此,您不会将路径存储在您的类中,而是从配置中读取它(在您的类的 __construct()
中)。
关于php - 日志文件名的常量与属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511127/