Les objets

Les objets

Initialisation des objets

Pour créer un nouvel objet, utilisez le mot clé new afin d'instancier une classe :

<?php
class foo
{
    function 
do_foo()
    {
        echo 
"Doing foo.";
    }
}

$bar = new foo;
$bar->do_foo();
?>

Pour une discussion complète, voir le chapitre sur les classes et les objets.

Conversion en un objet

Si un objet est converti en un objet, il ne sera pas modifié. Si une valeur de n'importe quel type est convertie en un objet, une nouvelle instance de la classe interne stdClass sera créée. Si la valeur est NULL, la nouvelle instance sera vide. Un array se converti en object avec les propriétés nommées au regard des clés avec leurs valeurs correspondantes, à l'exception des clés numériques qui seront innacessibles à moins d'être itérées.

<?php
$obj 
= (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // affiche 'bool(false)'
var_dump(key($obj)); // affiche 'int(1)'
?>

Pour n'importe quel autre type, un membre appelé scalar contiendra la valeur.

<?php
$obj 
= (object) 'ciao';
echo 
$obj->scalar;  // Affiche : 'ciao'
?>