Créer un objet sans classe en PHP

Subodh Poudel 30 janvier 2023
  1. Utilisez new stdClass() pour créer un objet sans classe en PHP
  2. Transtypage d’un tableau dans un objet à l’aide du type de données object pour créer un objet sans créer de classe
  3. Utilisez la fonction json_dencode() pour créer un objet sans créer de classe en PHP
Créer un objet sans classe en PHP

Cet article présentera des méthodes pour créer un objet sans créer de classe en PHP.

Utilisez new stdClass() pour créer un objet sans classe en PHP

On peut créer un objet à partir de la stdClass() sans faire de classe de base en PHP. On peut utiliser l’opérateur new pour créer un objet de la stdClass(). L’objet peut accéder directement aux propriétés en les appelant. Ainsi, nous pouvons créer des objets et des propriétés dynamiques à l’aide de la stdClass(). Le compilateur crée une instance de stdClass() lorsqu’un tableau est transtypé en un objet.

Par exemple, créez une variable $object et stockez une instance de stdClass() créée par l’opérateur new. Appelez une variable property à partir de l’objet $object et affectez une chaîne. Attribuez la chaîne I am an object's property. Utilisez la barre oblique inverse \ pour échapper à l’apostrophe dans le texte. Appliquez la fonction var_dump() sur la variable $object pour vider les informations sur la variable.

Dans l’exemple ci-dessous, nous avons créé un objet de la stdClass(), et nous avons instantanément attribué une valeur à la propriété de l’objet. Lorsque nous viderons l’objet, nous verrons l’objet de la classe stdClass créé dans la sortie. Ainsi, nous pouvons créer un objet sans créer de classe de base en PHP.

Exemple de code :

#php 7.x
<?php
$object = new stdClass();
$object->property = 'I am an object\'s property';
var_dump($object);
?>

Production:

object(stdClass)#1 (1) { ["property"]=> string(25) "I am an object's property" }

Transtypage d’un tableau dans un objet à l’aide du type de données object pour créer un objet sans créer de classe

Nous pouvons créer un objet sans créer de classe en PHP, en transtypant un type dans un objet en utilisant le type de données object. Nous pouvons transtyper un tableau dans un objet stdClass. Le mot-clé object est entouré de parenthèses juste avant que le tableau transtype le tableau dans l’objet. Nous pouvons utiliser la fonction var_dump() comme première méthode pour voir les informations sur l’objet transtypé.

Par exemple, créez une variable $place et stockez-y un tableau. Le tableau contient des clés comme city et country et les valeurs respectives comme Pokhara et Nepal. Affectez la variable $place à une nouvelle variable $obj. Écrivez le type de données object entouré d’une parenthèse juste avant la variable $place. Appelez la fonction var_dump() avec le $obj en paramètre.

L’exemple ci-dessous transpose un tableau dans un objet. La fonction var_dump() affiche l’objet $obj dans la section de sortie. Il montre qu’il s’agit d’un objet stdClass. Consultez le Manuel PHP pour savoir comment fonctionne le transtypage.

Exemple de code :

#php 7.x
<?php
$place = ['city' => 'Pokhara', 'country' =>'Nepal'];
$obj = (object) $place;
var_dump($obj);
?>

Production:

object(stdClass)#1 (2) { ["city"]=> string(7) "Pokhara" ["country"]=> string(5) "Nepal" }

Utilisez la fonction json_dencode() pour créer un objet sans créer de classe en PHP

La fonction json_decode() convertit la chaîne JSON en un objet PHP. La fonction prend un paramètre de chaîne qui sera converti en objet. La fonction prend également un paramètre booléen facultatif. La valeur par défaut de ce paramètre booléen est false, ce qui convertira l’objet JSON en objet PHP. Si la valeur est true, il convertira l’objet JSON en un tableau associatif.

Par exemple, créez une variable $jsonobj et stockez-y un objet JSON. L’objet contient Harry, Tony et Juan comme clé et les valeurs entières 27, 24 et 32 comme valeurs respectives. Les paires clé-valeur sont entourées d’accolades. L’objet JSON est entouré de guillemets sous forme de chaîne. Utilisez ensuite la fonction json_decode() sur les variables $jsonobj. Appliquez la fonction var_dump() à la fonction json_encode() pour afficher les informations sur l’objet encodé.

Dans l’exemple ci-dessous, la fonction json_encode() convertit l’objet JSON en objet PHP de stdClass. La fonction var_dump() affiche la propriété et la valeur de l’objet. Ainsi, nous avons créé un objet sans créer de classe en PHP. Il affiche également le type de la valeur. Veuillez consulter le Manuel PHP pour en savoir plus sur la fonction json_decode().

Exemple de code :

# php 7.x
<?php
$jsonobj = '{"Harry":27,"Tony":24,"Juan":32}';
var_dump(json_decode($jsonobj));
?>

Production:

object(stdClass)#1 (3) { ["Harry"]=> int(27) ["Tony"]=> int(24) ["Juan"]=> int(32) }
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Article connexe - PHP Object