Création rapide d’objets stdClass
<?php
// fastest
$final = (object) ['a' => 1, 'b' => 2];
// 2nd fastest
$array = [];
$array['a'] = 1;
$array['b'] = 2;
$final = (object) $array;
//slow
$final = new stdClass();
$final->a = 1;
$final->b = 2;
//slowest
class myStdClass extends stdClass {
$function __construct($a, $b) {
$this->a = $a;
$this->b = $b;
}
}
$final = new mystdclass(1, 2);
La façon la plus rapide de créer un objet stdClass est de créer un tableau, puis de le convertir en stdClass avec l’opérateur de transtypage (array). C’est encore plus rapide même si le tableau est construit élément par élément : deux fois plus lent seulement.
Définir directement des propriétés sur l’objet stdClass est environ trois fois plus lent, et créer une extension de classe avec une méthode __construct adaptée est alors quatre fois plus lent.
Au final, il s’agit d’une micro-optimisation.
See Also
PHP Features
Last updated: 11 October 2026