logo oujood
🔍

La fonction var_export() en PHP : Guide Complet avec Exemples

Maîtrisez var_export() pour convertir vos variables PHP en code réutilisable

OUJOOD.COM

PHP cours tutorial

Qu'est-ce que la fonction var_export() ?

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

La fonction var_export() est un outil puissant en PHP qui permet d'obtenir une représentation structurée d'une variable sous forme de code PHP valide. Contrairement à var_dump() qui affiche des informations pour le débogage, var_export() génère du code PHP directement réutilisable dans vos scripts.


Cette fonction s'avère particulièrement utile lorsque vous devez sauvegarder l'état d'une variable dans un fichier de configuration, créer des fichiers de cache, ou documenter la structure exacte de vos données. Le code généré peut être copié-collé directement dans un script PHP ou évalué dynamiquement avec eval().


Syntaxe de var_export()

var_export ( mixed $expression [, bool $return = false ] ) : mixed


Paramètres :

  • $expression : La variable à exporter (peut être de n'importe quel type : scalaire, tableau, objet)
  • $return (optionnel) : Si défini à TRUE, retourne la représentation au lieu de l'afficher. Par défaut : FALSE

Valeur de retour :

Lorsque le paramètre $return est TRUE, la fonction retourne une chaîne contenant le code PHP de la variable. Sinon, elle affiche directement le résultat et retourne NULL.


Exemple 1 : Exporter un tableau

Voici comment var_export() traite un tableau multidimensionnel :

Exemple :     📋 Copier le code

<?php
$fruits = array(
    'pomme',
    'banane',
    'details' => array(
        'couleur' => 'rouge',
        'prix' => 2.50,
        'disponible' => true
    )
);

// Affiche directement
var_export($fruits);

echo "\n\n";

// Retourne dans une variable
$code = var_export($fruits, true);
echo "Code généré :\n" . $code;
?>

Résultat affiché :

array (
  0 => 'pomme',
  1 => 'banane',
  'details' => 
  array (
    'couleur' => 'rouge',
    'prix' => 2.5,
    'disponible' => true,
  ),
)

Exemple 2 : Exporter un objet

var_export() peut également exporter des objets en utilisant la méthode magique __set_state() :

Exemple :     📋 Copier le code

<?php
class Utilisateur {
    public $nom;
    public $age;
    
    public static function __set_state($array) {
        $obj = new Utilisateur();
        $obj->nom = $array['nom'];
        $obj->age = $array['age'];
        return $obj;
    }
}

$user = new Utilisateur();
$user->nom = 'Marie';
$user->age = 28;

var_export($user);
?>

Résultat affiché :

Utilisateur::__set_state(array(

'nom' => 'Marie',

'age' => 28,

))


Cas d'usage pratiques

1. Sauvegarder des configurations

Vous pouvez utiliser var_export() pour générer des fichiers de configuration PHP :

<?php
$config = array(
    'database' => array(
        'host' => 'localhost',
        'user' => 'root',
        'pass' => 'secret'
    )
);

$export = "<?php\nreturn " . var_export($config, true) . ";\n";
file_put_contents('config.php', $export);
?>

2. Créer des fichiers de cache

Idéal pour mettre en cache des données complexes sans utiliser de sérialisation :

<?php
// Mise en cache
$data = array('resultat' => 'valeur', 'timestamp' => time());
file_put_contents('cache.php', '<?php return ' . var_export($data, true) . ';');

// Lecture du cache
$cached = include 'cache.php';
?>

Différences entre var_export(), var_dump() et print_r()

  • var_export() : Génère du code PHP valide, réutilisable dans vos scripts
  • var_dump() : Affiche des informations détaillées pour le débogage (types, tailles)
  • print_r() : Affiche une représentation lisible mais non exécutable

Avantages de var_export()

  • Code PHP valide : Le résultat peut être directement utilisé dans vos scripts
  • Lisibilité : Format clair et structuré, facile à comprendre
  • Portabilité : Partage facile de structures de données entre développeurs
  • Performance : Plus rapide que la sérialisation pour certains cas d'usage
  • Débogage : Visualisation claire de la structure des données complexes

Limites et précautions

Attention : var_export() ne peut pas exporter les ressources (connexions base de données, fichiers ouverts) ni les objets sans méthode __set_state(). Pour ces cas, préférez serialize() ou json_encode().


Conclusion

La fonction var_export() est un outil essentiel pour tout développeur PHP. Elle permet d'exporter proprement des variables en code PHP réutilisable, facilitant la création de fichiers de configuration, de systèmes de cache et le partage de structures de données. Sa simplicité d'utilisation et la qualité du code généré en font une fonction incontournable pour vos projets PHP.



Par carabde 20 Aout 2014 | Mis à jour le 19 Octobre 2025