Flux rss

PHP - Les classes

Collection CommentCaMarche.net

La notion de classe

Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la programmation plus simple qu'en programmation habituelle (appelée programmation procédurale par opposition à la programmation orientée objet).

On appelle classe la structure d'un objet, c'est-à-dire la déclaration de l'ensemble des entités qui composeront un objet. Un objet est donc "issu" d'une classe, c'est le produit qui sort d'un moule. En réalité on dit qu'un objet est une instanciation d'une classe, c'est la raison pour laquelle on pourra parler indifféremment d'objet ou d'instance (éventuellement d'occurrence).

Une classe est composée de deux parties :

  • Les attributs (parfois appelés données membres): il s'agit des données représentant l'état de l'objet
  • Les méthodes (parfois appelées fonctions membres): il s'agit des opérations applicables aux objets

déclaration d'une classe

Pour pouvoir manipuler des objets, il est essentiel de définir des classes, c'est-à-dire définir la structure d'un objet. Avec Php, cette définition se fait de la manière suivante :

class Nom_de_la_classe {
	// Déclarations des données membres
	var $Donnee_Membre_1;

	var $Donnee_Membre_2;

	var $...
	// Déclarations des méthodes
	function Nom_de_la_fonction_membre1(parametres) {
	liste d'instructions;

	}
}
Nom_de_la_classe représente bien évidemment le type d'objet désigné par la classe ou du moins le nom que vous leur attribuez.

Contrairement aux langages orientés objet comme le C++, Php n'inclut pas dans sa version 3 de niveaux de visibilité des éléments de la classe, il n'y a donc pas de concept d'encapsulation, un des concepts majeurs de la programmation orientée objet.

Contrairement à la déclaration de classes en C++, la déclaration de la classe ne se finit pas par un point-virgule!

Instanciation de la classe

Après avoir déclaré une classe, il faut instancier des objets pour pouvoir l'exploiter. Cette opération se fait à l'aide du mot clé new permettant de faire des objets découlant d'une classe. La syntaxe du mot clé new est la suivante :

$Nom_de_l_objet = new Nom_de_la_classe;
A partir du moment où l'objet est instancié, il possède des propriétés qui lui sont propres, cela signifie que si vous instanciez un nouvel objet, la modification des propriétés de l'un n'influera aucunement sur celles de l'autre.

Il existe une méthode spéciale (portant le même nom que la classe) s'exécutant automatiquement lors de l'instanciation de l'objet. Cette méthode, appelée constructeur est très utile pour initialiser les données membres lors de l'instanciation.

Accéder aux propriétés d'un objet

L'accès aux propriétés d'un objet se fait grâce au nom de l'objet, suivi d'une flêche (->) représentée par un moins (-) et un signe supérieur (>), puis du nom de la donnée membre (sans le signe $). Par exemple :

$Nom_de_l_objet->Nom_de_la_donnee_membre = Valeur;

Accéder aux méthodes d'un objet

L'accès aux méthodes d'un objet se fait comme pour l'accès aux propriétés, c'est-à-dire par le nom de l'objet, suivi d'une flêche et du nom de la méthode. La méthode est suivie de parenthèses, contenant les paramètres, si il y'en a. L'accès à une méthode se fait donc de la façon suivante :

$Nom_de_l_objet->Nom_de_la_fonction_membre(parametre1,parametre2,...);

La variable courante $this

Le mot clé $this permet de désigner l'objet dans lequel on se trouve, c'est-à-dire que lorsque l'on désire faire référence dans une fonction membre à l'objet dans lequel elle se trouve, on utilise this.

Grâce à cette variable spéciale, il est possible dans une fonction membre de faire référence aux propriétés situées dans le même objet que la fonction membre.

Ainsi, lorsque l'on désire accéder à une propriété d'un objet à partir d'une méthode du même objet, il suffit de faire précéder le nom de la donnée membre par $this->. Par exemple :

class Toto{
	var $age;

	var $sexe;

	var $adresse;

	function DefineTotoAge($Age){
	$this->age = $Age;

	}
}

$toto_test = new Toto;

$toto_test->DefineTotoAge(10);

echo "L'age de TOTO : " . $toto_test->age . "<br/>";

Les limitations de l'utilisation de classes avec Php

PHP, dans sa version 3, reste assez limité du point de vue de la programmation objet. La plupart des aspects marquants de la programmation objet ne sont pas présents dans le langage :

Ce document intitulé « PHP - Les classes » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Résultats pour PHP Les classes

[PHP] Cast d'objets (Résolu) Bonjour, Je voudrais savoir s'il existe un moyen facile de faire du type casting sur les objets ? (passé d'une classe à une classe dérivé). Je voudrais faire la même chose qu'en Java : www.commentcamarche.net/forum/affich-5927075-php-cast-d-objets
Php, sql & float (Résolu) Bonjour, J'ai une base de données avec une colone "float" (nombre non-entier) qui correspondent à des prix. Je souhaite, dans ma page PHP, classer mes résultats en ordre croissant. J'utilise donc une requête du type : $query= "SELECT * FROM... www.commentcamarche.net/forum/affich-8173016-php-sql-float
Php : class tableau (Résolu) Bonjour, j'exécute le code PHP4 ci dessous. C'est une classe qui devrait créer un tableau et le programme lui affecte des valeurs ('zéro', 'un','deux'). Et bien, impossible de voir le contenu du tableau. Je dois... www.commentcamarche.net/forum/affich-1947810-php-class-tableau

Résultats pour PHP Les classes

[PHP] Parse error, unexpected T_STRING, expecting ',' or ';'Cette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple : www.commentcamarche.net/faq/sujet-869-php-parse-error-unexpected-t-string-expecting-or
PHP Parse error: unexpected '<' in ... eval()'d code on line Symptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected ' www.commentcamarche.net/faq/sujet-9977-php-parse-error-unexpected-in-eval-d-code-on-line
[PHP] Upload de fichiersLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers

Résultats pour PHP Les classes

[PHP] classe code barre (Résolu)Bonjour, J'ai besoin de générer un pdf contenant des images de codes barre. Pour cela j'utilise fpdf et une classe trouvée sur pitoo.com: http://pit.free.fr/code_php.php Très bien faite et parfaitement fonctionnelle, j'ai alors tester... www.commentcamarche.net/forum/affich-6918465-php-classe-code-barre
PHP: classement tableau multidimensionel (Résolu)Bonjour, Je deviens fou pour un truc qui est certainment tout bete. J'ai un tableau mutlidirectionel pour les joueur de mon equipe de foot. Le tableau est cree de la maniere suivante for ($i=0 ; $i>$nombre de joueur ; $i++) {... www.commentcamarche.net/forum/affich-3793804-php-classement-tableau-multidimensionel
PHP classer des id en fonction de points (Résolu)Bonjour, J'ai une question en PHP : Je possèdes un tableau $result. A chaque $result[x] correspond un nombre de points représenté sous la forme $$result[x]. Par exemple après une requete le tableau $result aura pour valeur : $result[1] = 5... www.commentcamarche.net/forum/affich-7822758-php-classer-des-id-en-fonction-de-points

Résultats pour PHP Les classes

Télécharger Media Player ClassicMedia Player Classic est un lecteur vidéo reprenant l'apparence des premières version de Windows Media Player. Son apparence très simple cache en réalité un lecteur très performant reconnaissant un très grand nombre de formats vidéo et audio : www.commentcamarche.net/telecharger/telecharger-34055090-media-player-classic
Télécharger PHP EditPHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de fonctionnalités permettant de développer plus efficacement : Coloration syntaxique Auto-complétion des... www.commentcamarche.net/telecharger/telecharger-62-php-edit
Télécharger Classeur - Gestion de documentsDans le monde virtuel, comme dans le monde réel, il est toujours plus aisé de travailler avec des documents bien classés. Classer, Archiver, Référencer et Ouvrir vos documents, telles sont les tâches basiques de ce programme auxquels s’ajoutent... www.commentcamarche.net/telecharger/telecharger-34056657-classeur-gestion-de-documents

Résultats pour PHP Les classes

PHP - Introduction à la programmation avec PHPQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La... www.commentcamarche.net/contents/php/phpintro.php3
PHP - Les variablesConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois... www.commentcamarche.net/contents/php/phpvar.php3
PHP - Expressions régulièresQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au... www.commentcamarche.net/contents/php/phpreg.php3