PHP Velho Oeste 2024

MongoId::__construct

(PECL mongo >= 0.8.0)

MongoId::__constructCrée un nouvel identifiant

Description

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

Liste de paramètres

id

Une chaîne de caractères (doit être d'une longueur de 24 caractères héxadécimaux), ou une instance de la classe MongoId.

Valeurs de retour

Retourne un nouvel identifiant.

Historique

Version Description
1.4.0 Une exception est lancée lorsqu'une chaîne de caractères invalide est passée.

Exemples

Exemple #1 Exemple avec MongoId::__construct()

Cet exemple montre comment crée un nouvel identifiant. C'est rarement nécessaire, car le pilote ajoute automatiquement les identifiants avant de les stocker en base.

<?php

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

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

?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

49a7011a05c677b9a916612a
49a702d5450046d3d515d10d

Exemple #2 Exemple avec MongoId::__construct() et des paramètres

Cet exemple montre comment utiliser une chaîne de paramètres pour initialiser un objet MongoId avec une valeur donnée.

<?php
  $id1 
= new MongoId();

  
// Crée un nouvel identifiant pour $id1
  
$id2 = new MongoId("$id1");

  
// montre que $id1 et $id2 ont la même valeur hexadécimal
  
var_dump($id1 == $id2);
  
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

bool(true)

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
7
georgedot nospam gmail guess what com
10 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