Exception
PHP的异常机制的功能非常强大,并且是可以跨作用域的传递丰富的信息,但它强大的功能很容易让我们滥用它。
比如在用户检查登录时,如果密码不正确,你可能会在模型中抛出一个异常,在控制器处理它。对于程序员,这样做会很舒服,因为你不再费心思考虑心如何构建返回值和制定返回规范,也不必关心密码错误之后的代码。
可是,异常不是免费的,并且它价值不菲。PHP在使用异常时会初始化许多机制,包括异常对象的实例化、代码块的回溯等等,如果开启日志,它的开销将会变得更大。所以,我们不能在程序中过分的使用异常。在上面的例子中,我还是建议使用简单的返回值来标识登录检查的结果。如果在类似的业务逻辑中大量的使用异常机制来简化逻辑的处理,无疑会大幅度地降低程序的性能。
所以,请不要滥用异常。