nette/safe

🛡 将 PHP 函数重写为抛出异常,而不是返回 false 或触发错误。

v0.9 2019-12-11 17:44 UTC

This package is auto-updated.

Last update: 2024-09-09 00:06:13 UTC


README

Downloads this Month Build Status Latest Stable Version License

将 PHP 函数智能化,使其抛出异常而不是返回 false 或触发错误。

好程序员不会忽略错误

至少他们不应该这样。PHP 是一种对错误处理相对宽松的语言,因此它要求程序员更加努力地处理错误。几乎所有的 PHP 函数都使用返回值来报告错误,程序员必须不断地检查它们的状态。可能会忘记这一点。示例

// we are making copy of file
copy('/oldfile', '/newfile');
unlink('/oldfile');

如果第一行失败,文件将被永久删除。如果 PHP 抛出异常,这将更有帮助。

返回值的问题也是它不能清楚地表明发生了什么错误。相反,异常有一个文本消息和可选的错误代码。

解决方案是 Nette\Safe

使用非常简单。在应该抛出异常而不是警告的每个 PHP 函数之前,只需输入 Safe

use Nette\Safe;

// we are making copy of file
Safe::copy('/oldfile', '/newfile');
Safe::unlink('/oldfile');

如果第一行失败,将抛出异常 Nette\Safe\FilesystemException,文件不会被删除。

安装

composer require nette/safe

需要 PHP 版本 7.1,支持 PHP 7.4。

异常

Nette\Safe 抛出异常 Nette\Safe\Exception。为了更精确的解析,可以捕获其子类,点击查看

函数 & 异常列表