我是RedbeanPHP(v4.0.4)的新手,并尝试了一下。
但是,每当我尝试强制输入错误(加载未存在的bean,存储错误的类型值等)时,它都不会抛出任何异常。
无论我犯了什么错误,它似乎总是成功的。
示例:
require APP .'libs/redbean/rb.php';
R::setup($dsn, $user, $pass);
R::freeze(true);
$book = R::load('book', 25); // unexisting record
R::begin();
try
{
R::trash($book);
R::commit();
echo 'book trashed'; // always shows this
}
catch (Exception $e)
{
R::rollback();
echo $e; // not showing this
}
有什么想法吗?
答案 0 :(得分:1)
' redbeanphp'旨在变得相当灵活'这意味着如果您使用正确的语法,那么它不太可能失败。但是,对于您可能会考虑的错误而言,它并不总能满足您的期望或期望。这很大程度上取决于冻结'设置在' R :: setup'中。
在' load'如:
$book = R::load('book', 25); // unexisting record
redbeanphp将其视为' R :: allocate(' book')'如果语句无法找到带有该标识的记录,则返回空记录。返回的' bean的ID将为零。
对于无效列'或者'值',如果你没有冻结' R :: setup'连接语句然后它只是创建列并更改值。
如果你想更加严格,那么“冻结”'数据库和/或查看' FUSE',它允许'模型'要自动链接到' bean的类#39;在这些'模型'你可以在课程中包括很多检查,验证等。