在 php 中防止数据库提交断言失败
Prevent database commit on assert failure in php
为了对我的代码进行健全性测试,我在代码的不同位置放置了断言。
我希望无论何时命中断言,数据库事务都不应该完成(即数据不应该提交到数据库,而是应该回滚)。
我找不到任何干净的方法来实现这一目标。
我正在使用 code igniter 框架。
知道如何实现吗?
该功能不应该是断言的一部分。如果是这种情况,那么当断言被禁用时,功能将在生产模式下失真。
我们可以对断言失败执行额外的数据库操作,以记录和跟踪错误的更多详细信息,但不应 abort/interfere 与外部交易。
断言应仅用作调试功能。您可以将它们用于健全性检查,以测试应始终为 TRUE 的条件,如果不是,则指示一些编程错误,或者检查是否存在某些功能,如扩展功能或某些系统限制和功能。
断言不应用于正常的运行时操作,例如输入参数检查。根据经验,如果未激活断言检查,您的代码应该始终能够正常工作。
为了对我的代码进行健全性测试,我在代码的不同位置放置了断言。
我希望无论何时命中断言,数据库事务都不应该完成(即数据不应该提交到数据库,而是应该回滚)。
我找不到任何干净的方法来实现这一目标。
我正在使用 code igniter 框架。
知道如何实现吗?
该功能不应该是断言的一部分。如果是这种情况,那么当断言被禁用时,功能将在生产模式下失真。
我们可以对断言失败执行额外的数据库操作,以记录和跟踪错误的更多详细信息,但不应 abort/interfere 与外部交易。
断言应仅用作调试功能。您可以将它们用于健全性检查,以测试应始终为 TRUE 的条件,如果不是,则指示一些编程错误,或者检查是否存在某些功能,如扩展功能或某些系统限制和功能。
断言不应用于正常的运行时操作,例如输入参数检查。根据经验,如果未激活断言检查,您的代码应该始终能够正常工作。