Variable sous forme d'objet et de tableau ???

Bonjour, je souhaite détecter quand ma variable doit être objet ou tableau...
Pour proposer plusieurs "interfaces".

Mon fichier "Dispatcher.php" :
<?php
class Dispatcher {

 var $request;

 public function __construct()
 {
   $this->request = new Request();
 }
}
?>

Mon fichier "Request.php" :
<?php
class Request {
 public $query = false;
 public $data = false;
 
 public function __construct() {
  //et là je bloque
 }
}
?>


Je souhaite que quand j'écrit dans "Dispatcher.php" :
$this->request->query->test

Je puisse faire (dans Request.php) :
$this->query = new stdClass();

Et quand j'écrit dans "Dispatcher.php" :
$this->request->query['test']

Je puisse faire (dans Request.php) :
$this->query = array();


Mais je ne vois pas comment faire ^^
Merci de votre aide :)

3 réponses

  1. J'ai essayé plusieurs trucs, mais rien ne marche...
    Help! :)
    1. Salut,

      Tu peux utiliser ArrayObject en spécifiant l'option ARRAY_AS_PROPS :
      $t = new ArrayObject(array(), ArrayObject::ARRAY_AS_PROPS);                                  
      $t['arr'] = 'array data';                            
      $t->prop = 'prop data';
      
      echo '<pre>';
      
      print_r($t);
      
      echo $t->arr; // array data
      echo $t['arr']; // array data
      echo $t->prop; // prop data
      echo $t['prop']; // prop data
      
      echo '</pre>';
      


      Bonne journée