我应该在 PHP 代码中使用断言吗?
一位同事在我们的库中添加了几次 assert 命令,在这些地方,我将使用 if 语句并引发异常。(在此之前,我甚至从未听说过断言。以下是他如何使用它的示例:
assert('isset($this->records); /* Records must be set before this is called. */');
我会做的:
if (!isset($this->records)) {
throw new Exception('Records must be set before this is called');
}
通过阅读有关 assert 的 PHP 文档,看起来建议您确保 assert 处于活动状态,并在使用 assert 之前添加处理程序。我找不到他这样做的地方。
所以,我的问题是,鉴于上述情况,使用断言是否是一个好主意,我应该更频繁地使用它而不是if和异常?
另请注意,我们计划在各种项目和服务器上使用这些库,包括我们甚至可能不是其中一部分的项目(库是开源的)。这在使用断言时有什么区别吗?