Easy-Micro

LANGAGE Intro POO PHP
Classes PHP

Introduction à la programmation orientée objet en PHP

Fichier de classe

Le fichier classes/utilisateur.class.php
<?php
class Utilisateur {

  // Propriétés (attributs)
  public $user_name;
  public $user_pass;

}
Vous pouvez remarquer que le nom des classes commence par une majuscule.

Les variables créées dans les classes sont appelées des propriétés (attributs). Public signifie ici que l'on va pouvoir accéder à nos propriétés depuis l'intérieur et l'extérieur de notre classe.

Valeurs des propriétés

Les valeurs des propriétés seront ici passées lors de la création d'un nouvel objet (lorsqu'un visiteur s'inscrira sur notre site). Notez qu'il est tout-à-fait permis d'initialiser une propriété dans la classe, c'est-à-dire lui attribuer une valeur de référence à la condition que ce soit une valeur constante.

Pour accéder aux propriétés définies originellement dans la classe depuis nos objets, on utilise l'opérateur -> qui est appelé opérateur objet.

Fichier principal

Fichier index.php
<!DOCTYPE html>
<html lang="fr">
<head>
<title>POO PHP</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/mesStyles.css">
</head>
<body>
<h1>Inscription</h1>
<?php
     require 'classes/utilisateur.class.php';

     // nouvelles instances de notre classe Utilisateur
     $Utilisateur1 = new Utilisateur();
     $Utilisateur2 = new Utilisateur();

     // opérateur d'objet -> pour accéder aux propriétés définies dans la classe
     $Utilisateur1->user_name = 'Mimi';
     $Utilisateur1->user_pass = 123456;

     $Utilisateur2->user_name = 'Fifi';
     $Utilisateur2->user_pass = 'abcdef';

     // Affichage des noms d'utilisateurs
     echo $Utilisateur1->user_name.'<br>';
     echo $Utilisateur2->user_name;

?>
</body>
</html>

-> Voir cet exemple Easy-Micro

Problème de sécurité

Dans le cas présent, on va pouvoir accéder aux propriétés depuis notre objet (c'est-à-dire depuis l'extérieur de notre classe) car nous l'avons définie avec le mot clef public.

Notez cependant qu'il est généralement considéré comme une mauvaise pratique de laisser des propriétés de classes accessibles directement depuis l'extérieur de la classe et de mettre à jour leur valeur comme cela car ça peut poser des problèmes de sécurité dans le script.

Pour manipuler des propriétés depuis l'extérieur de la classe, nous allons plutôt créer des fonctions de classe dédiées afin que personne ne puisse directement manipuler nos propriétés et pour protéger notre script.



Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]