php hit counter

Garder Une Instance De Class Php En Refraichissant La Page


Garder Une Instance De Class Php En Refraichissant La Page

Salut les codeurs du dimanche (ou du lundi, on ne juge pas 😉) ! Vous est-il déjà arrivé d'avoir l'impression que votre application PHP avait la mémoire d'un poisson rouge ? Vous savez, vous entrez des informations, vous rafraîchissez la page, et… pouf ! Tout a disparu. C'est frustrant, n'est-ce pas ?

Aujourd'hui, on va parler d'un truc qui peut vous sauver la vie (et éviter quelques crises de nerfs) : comment garder une instance de classe PHP même en rafraîchissant la page. Accrochez-vous, c'est moins sorcier qu'il n'y paraît !

Pourquoi c'est important de garder une instance de classe ?

Imaginez : vous êtes en train de faire un gâteau (en code, bien sûr). Vous avez une classe 'Gateau' qui stocke des informations comme le nombre d'oeufs, la quantité de farine, le parfum... Chaque fois que vous rafraîchissez la page, vous recréez un nouveau gâteau vide. Vous devez remettre tous les ingrédients à chaque fois! Impensable, non ?

Dans une application web, c'est pareil. Une classe peut représenter un utilisateur connecté, un panier d'achat, une connexion à une base de données… Perdre cette instance à chaque rafraîchissement signifie devoir refaire le travail à chaque fois. Imaginez un e-commerce où, à chaque page, vous deviez remettre tous vos articles dans le panier... L'horreur !

Les solutions à notre problème de mémoire (de poisson rouge)

Alors, comment faire pour que notre classe 'Gateau' se souvienne de sa recette, même après un rafraîchissement de page ? Il existe plusieurs méthodes, chacune avec ses avantages et ses inconvénients. On va en voir quelques-unes :

Short video - Classe et instance de classe (POO) - YouTube
Short video - Classe et instance de classe (POO) - YouTube

1. Les Sessions : Notre boîte de rangement personnelle

Les sessions, c'est un peu comme une boîte de rangement que PHP vous donne pour chaque visiteur de votre site. Vous pouvez y stocker des informations qui persistent d'une page à l'autre. C'est l'endroit idéal pour mettre notre instance de classe !

Exemple très simple :

PHP OOP Tutorial - PHP Classes and Objects - YouTube
PHP OOP Tutorial - PHP Classes and Objects - YouTube

```php session_start(); // On démarre la session class Gateau { public $nbOeufs = 0; public $parfum = "Chocolat"; } if (!isset($_SESSION['monGateau'])) { $_SESSION['monGateau'] = new Gateau(); // On crée un nouveau gâteau si il n'existe pas } $monGateau = $_SESSION['monGateau']; // On récupère le gâteau depuis la session $monGateau->nbOeufs = 6; // on met 6 oeufs echo "J'ai " . $monGateau->nbOeufs . " oeufs dans mon gateau au " . $monGateau->parfum . "."; ```

Si vous rafraîchissez la page, 'monGateau' gardera ses 6 oeufs. Magique, non ?

2. Les Cookies : Des petits post-it pour navigateur

PHP 7 Data Types: Scalar, Compound and Special
PHP 7 Data Types: Scalar, Compound and Special

Les cookies, ce sont des petits fichiers textes stockés sur l'ordinateur de l'utilisateur. On peut aussi y stocker des informations (mais attention, c'est visible par l'utilisateur, donc on évite les informations sensibles!). C'est un peu comme laisser un petit post-it sur son frigo pour se rappeler des choses importantes.

C'est moins courant pour stocker une instance de classe entière (car il faudrait la sérialiser), mais ça peut servir pour stocker un identifiant unique qui permettrait de retrouver l'instance dans une base de données.

3. La Base de Données : Le grand livre de recettes

PHP Class Visibility dan PHP Class Variable (Properties) - ONPHPID
PHP Class Visibility dan PHP Class Variable (Properties) - ONPHPID

C'est la solution la plus robuste (et souvent la plus complexe). On stocke les informations de notre classe dans une base de données, et on utilise un identifiant unique (par exemple, l'ID de l'utilisateur) pour retrouver l'instance à chaque fois. C'est comme avoir un grand livre de recettes très bien organisé !

Alors, on choisit quoi ?

Ça dépend de votre situation ! Si vous avez besoin de stocker des informations sensibles et que la persistance est importante, la base de données est la meilleure option. Pour des choses plus simples et temporaires (comme un panier d'achat), les sessions sont parfaites. Les cookies sont plus appropriés pour des préférences utilisateur à long terme.

L'important, c'est de comprendre qu'il existe des solutions pour éviter que votre application ait la mémoire d'un poisson rouge. Alors, n'hésitez pas à expérimenter et à choisir celle qui convient le mieux à votre projet. Bon codage !

PHP Classes & Objects - Introduction to OOP PHP Programming - YouTube Object-Oriented Programming in PHP - ppt download Tutoriel PHP en français - Un guide ultime pour les débutants - Letecode Les méthodes PHP constructeur et destructeur - Pierre Giraud Bases des classes et méthodes abstraites en PHP How to create custom Attribute classes PHP Les constantes de classe en PHP objet - Pierre Giraud Questions d'entretiens PHP - Partie 5 - WayToLearnX Apprendre le PHP - Les bases#1- Introduction au langage PHP - YouTube Les systèmes de templates PHP - PHP Codeur Crafting Your Own Data Structures In Php – peerdh.com Php Metodos estaticos en PHP | Late Static Binding en PHP - __CLASS__ en Tout ce qu’il faut savoir sur PHP Importer des classes à partir de namespaces en PHP √ Memahami Perbedaan PHP Native dan Framework

You might also like →