Classe pour creer un objet dynamique php5

Description

Voila, c'est une classe qui permet de creer un objet dynamiquement, c'est a dire avec des variables pouvant se definir a l'infini.

L'object peut-etre creer a partir d'un tableau, pour cela, il suffit de le passer en parametre
lors de la creation de l'objet.

Source / Exemple :


<?php
/**

  • Classe de creation d'objet a partir de tableau
  • Cette classe permet de transformer un tableau en objet,
  • cela fonctionne meme avec un tableau vide.
  • Cette classe necessite pour fonctionner correctement :
  • - la classe MyException : http://www.phpcs.com/code.aspx?id=28249
  • <code>
  • <?php
  • // Sans un tableau
  • $object = new Array2Object();
  • $object->Test = "Ceci est un test";
  • // Avec un tableau
  • $array = array("Test" => "Ceci est un test");
  • $object = new Array2Object($array);
  • echo $object->Test;
  • ?>
  • @author Gorrk
  • /

  • class Array2Object
    {
    /**
    • Variables de l'objet
    • @var array
    • /

    protected $vars;

    /**
    • Construit l'objet Array2Object
    • @param array $vars tableau a transformer
    • @return void
    • /

    public function __construct($vars = array())
    {
    $this->vars = $vars;
    }

    /**
    • Genere une exception car on a tente d'appeler une methode inexistante
    • @param string $name nom de la methode
    • @param array $arguments arguments passes
    • @return void
    • /

    public function __call($name, $arguments)
    {
    throw new MyException("la methode <b>".$name."</b> n'existe pas");
    }

    /**
    • Retourne une valeur
    • @param string $name nom de la variable
    • @return mixed
    • /

    public function __get($name)
    {
    if (TRUE === isset($this->vars[$name]))
    return $this->vars[$name];
    else
    return NULL;
    }

    /**
    • Attribue une valeur a une variable
    • @param string $name nom de la variable
    • @param string $value valeur a assigne a la variable
    • @return void
    • /

    public function __set($name, $value)
    {
    $this->vars[$name] = $value;
    }

    /**
    • Retourne l'object sous forme de tableau
    • @return array
    • /

    public function return_array()
    {
    return $this->vars;
    }
    }
    ?>
    </code>

    Codes Sources

    A voir également

    Vous n'êtes pas encore membre ?

    inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

    Les membres obtiennent plus de réponses que les utilisateurs anonymes.

    Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

    Le fait d'être membre vous permet d'avoir des options supplémentaires.