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

Fermé
blaz32 Messages postés 155 Date d'inscription jeudi 27 juin 2013 Statut Membre Dernière intervention 28 août 2014 - 28 août 2014 à 18:39
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 - 29 août 2014 à 13:55
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 :)
A voir également:

3 réponses

blaz32 Messages postés 155 Date d'inscription jeudi 27 juin 2013 Statut Membre Dernière intervention 28 août 2014 10
28 août 2014 à 22:42
J'ai essayé plusieurs trucs, mais rien ne marche...
Help! :)
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
29 août 2014 à 09:45
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
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 209
29 août 2014 à 13:55
0