Je dois sérialiser une classe proxy. La classe utilise __set et __get pour stocker des valeurs dans un tableau. Je veux que la sérialisation ressemble à un objet plat. En d'autres termes, ma classe ressemble à:Résultats foreach personnalisés pour la classe proxy dynamique - méthodes magiques?
class Proxy
{
public $data = array();
public function __get($name)
{
return $data[$name]
}
}
et je veux une boucle foreach pour retourner toutes les clés et les valeurs des données de $, quand je dis:
foreach($myProxy as $key)
Est-ce possible?
Je n'ai aucun contrôle sur le code qui fera l'itération. C'est une bibliothèque tierce, et je veux que mon proxy joue bien avec. Il utilise un foreach. Ai-je raison de supposer que l'implémentation de l'interface exigerait que la personne itérant utilise les fonctions de l'interface, ou fasse-t-elle un peu de magie en coulisse? –
L'interface de l'itérateur est magique - elle vous permet d'utiliser foreach() sur votre objet – Greg
Merci pour l'info! –