nette / safe
🛡 将 PHP 函数重写为抛出异常,而不是返回 false 或触发错误。
v0.9
2019-12-11 17:44 UTC
Requires
- php: >=7.1
Requires (Dev)
- nette/tester: ^2.2
- phpstan/phpstan: ^0.12
- tracy/tracy: ^2.3
This package is auto-updated.
Last update: 2024-09-09 00:06:13 UTC
README
将 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
。为了更精确的解析,可以捕获其子类,点击查看