MongoId::__construct

(PECL mongo >= 0.8.0)

MongoId::__constructСоздает новый идентификатор

Описание

public MongoId::__construct ([ string|MongoId $id = NULL ] )

Список параметров

id

Строка (должна содержать 24 шестнадцатеричных символа) или экземпляр MongoId.

Возвращаемые значения

Возвращает новый идентификатор.

Список изменений

Версия Описание
1.4.0 Исключение выдается при передаче неверной строки

Примеры

Пример #1 Пример использования MongoId::__construct()

В этом примере показано, как создать новый идентификатор. Это бывает редко необходимо, поскольку драйвер автоматически добавляет идентификатор в массивы перед их сохранением в базу данных.

<?php

  $id1 
= new MongoId();
  echo 
"$id1\n";

  
$id2 = new MongoId();
  echo 
"$id2\n";

  
?>

Результатом выполнения данного примера будет что-то подобное:

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Пример #2 Пример параметра

В этом примере показано, как использовать строковый параметр для инициализации MongoId с заданным значением.

<?php
  $id1 
= new MongoId();

  
// создаем новый идентификатор из $id1
  
$id2 = new MongoId("$id1");

  
// показываем, что $id1 и $id2 имеют одинаковое шестнадцатеричное значение
  
var_dump($id1 == $id2);
  
?>

Результатом выполнения данного примера будет что-то подобное:

bool(true)

Смотрите также

  • MongoId::__toString() - Возвращает шестнадцатеричное представление этого идентификатора
  • MongoId::isvalid() - Проверяет, является ли значение корректным ObjectId

add a note add a note

User Contributed Notes 1 note

up
7
georgedot nospam gmail guess what com
11 years ago
Due to Recent changes.

* [PHP-554] - MongoId should not get constructed when passing in an invalid ID.

Constructor will throw an exception when passing invalid ID.

<?php

$_id
= new MongoId(); //Generates new ID
$_id = new MongoId(null); //Generates new ID

$_id = new MongoId("invalid id"); //throws MongoException

?>

<?php
//Revert to old behaviour
$_id = "invalid id";
try {
   
$_id = new MongoId($_id);
} catch (
MongoException $ex) {
   
$_id = new MongoId();
}
?>

<?php
//Nifty hack
class SafeMongoId extends MongoId {

    public function
__construct($id=null) {

        try {
           
parent::__construct($id);
        } catch (
MongoException $ex) {
           
parent::__construct(null);
        }

    }
}
?>
To Top