用PHP验证MongoID

时间:2015-11-22 03:49:22

标签: php mongodb validation fatal-error

我正在尝试通过PHP文档检查字符串是否是有效的MongoId:http://php.net/manual/en/mongoid.isvalid.php

use MongoId;

if( !MongoId::isValid("id_string") )
{
    return false;
}

然而,这样做我最终得到:

  

致命错误:调用未定义的方法MongoId :: isValid()

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

我自己也遇到了这个错误......似乎这是传统的mongo扩展,它允许使用isValid()方法。 new mongoDB扩展没有等效的方法。

在新的mongoDB扩展下,如果你尝试构造一个无效的MongoId,它将抛出InvalidArgumentException。文档:http://php.net/manual/en/class.mongodb-driver-exception-invalidargumentexception.php

我已经创建了一个非常基本的函数来进行某种程度的检查,即id尽可能接近MongoId的正确格式:

function isValidMongoId($id) {

    return is_string($id) && strlen($id) == 24 && ctype_xdigit($id);

}