一位同事在我们的库中几次添加了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之前添加一个处理程序。我找不到他这样做的地方。
因此,我的问题是,鉴于上述情况,使用assert是否是一个好主意,我应该更频繁地使用它,而不是if和except吗?
另一个需要注意的是,我们计划在各种项目和服务器上使用这些库,包括我们甚至可能都不参与的项目(这些库是开源的)。这对使用assert有什么区别吗?
'isset
(代码行中assert
)吗?不只是isset
(没有单引号'
)?