Interet des classes

Répondre
allserv
le 05/07/2004 à 00:43
allserv
Bonsoir @ tous,

Tout d'abord je souhaite préciser que ce topic ne regroupe aucun problème en particulier, juste des questions qui me semblent essentielles pour ma part !

1° - Tout d'abord je souhaiterais savoir dans quel(s) cas est-il préférable d'utiliser les classes ? dans quel(s) cas est-il "obligatoire" de les utiliser ?

2° - Quelle(s) raison(s) peut nous pousser à les utiliser ?

3° - Voit-on des avantages quand au chargement des pages par exemple, la rapidité de celles-ci est elle améliorée ?

4° - L'utilisation des classes doit-elle intervenir lorsque l'on commence à maitriser assez bien le php ?

Merci pour vos réponses constructives smiley
chuck norris
le 05/07/2004 à 08:21
chuck norris
les classes c'est le propre du langage objet et php se tourne vers ce type de programmation.

je suis plus a l aise dans ce type de programmation car la representation d'un objet permet entre autre de mieux utiliser les fonctions et attributs de cet objet.

prenons un exemple(en esperant que personne ne s endorment):
je veux faire un site sur le cinemas,
1)je vais definir un objet qui correspond a un film.
2) un film est defini par un titre,une date de sortie, une affiche, une bande annonce, un realisateur et des acteurs
3) de plus on aura un objet acteur defini par un prenom, nom, films
4) un objet realisateur qui sera defini par nom prenom et films realisés

dans cette optique nous voyons que nous avons defini un ensemble d objet logiquement, maintenant la principale difference avec le langage imperatif non-objet est dans l allocation de la memoire ,
ex:
nous avons dix films avec "dustin hoffman" comme acteur , cet acteur est defini dix fois dans un langage non-objet alors que nous avons un seul objet "dustin hoffman" dans un langage objet.
et il ne peut pas y avoir deux objets "dustin hoffman"
chuck norris
le 05/07/2004 à 08:38
chuck norris
maintenant je vais repondre a tes questions:

1°)j'utilise les classes dans un systeme complexe qui peut etre representé par des objets(le cas du cinema car je vais faire un site normalement).
Tu n'est pas "obligé" d'utiliser les classes mais comme tu l'as vu dasn l exemple d au dessus il est preferable de les utilisés.

2°) l'utilisation d'objet evite les redondances et permet de definir un ensemble de fonction specifique a cet objet.
par exemple :
si nous avons les objets Film et Musique la fonction que j ai defini dans les deux classes est donner_auteur() mais suivant l objet, l auteur sera un realisateur pour Film et un chanteur pour Musique.


3°)moins de redondance => economie de memoire => serveur moin surchargé => + rapide

4°)l utilisation des classes pour ceux qui n ont jamais fait de langage objet (java,C++) n'est pas facile, mais il est tres conseillé de s'y mettre (et c'est pas Globule qui te dira le contraire) .
maintenant je conseille a qqun qui commence a peine php de faire de l objet, mais c est sur que ca sera difficile.
bibi
le 05/07/2004 à 12:35
bibi
moi j'ai pas trop aimé les class en c++ avec les aggrégats et les adressages dynamiques mais c vrai que c utile
commit suicide
chuck norris
le 05/07/2004 à 15:40
chuck norris
tu va voir que c++ c est un langage qui est complet puisqu il est une extension du C tout en etant un langage objet se rapprochant de java.

avec Teeboh on s'est tappé de la prog systeme et on est obligé d'y passé.
allserv
le 05/07/2004 à 17:48
allserv
Merci de tes réponses chuck, cependant, imagine je crée un espace membres, je crée alors une class membre avec différentes variables.

La class me permettra de faire quoi si je veux entrer les infos dans une base mysql ?
Je pense savoir à peu près, en fait la class va me permttre grace aux methodes de la class par exemple d'entrer dans les infos dans la base non ?

exemple :

class membre {
var $info1;
var $info2;
var $info3;
...

function insert_mysql(){
// insertion des valeurs dans la base
}
}

//Puis ensuite j'appelle la fonction pour qu'elle entre les infos dans la base de données :
var $ma_class = new membre;
$ma_class->insert_mysql();
}


En gros ca donnerais cela, mais je vois pas trop l'interet en fait des classes là dedans mis à part surement un codage clair non ?

Merci de vos réponses
chuck norris
le 05/07/2004 à 19:10
chuck norris
ok tu m'as l air de pigé assez bien le principe
je suppose que php va passer petit a petit vers l objet comme java.

ce type de prog a comme tu dis un avantage pour la lisibilité, puisque par exemple pour la classe Membre on a :

<?php
class Membre{
var $nom;
var $prenom;
var $id;
var $email;

function Membre($idsession){
$this->id = $idsession
demande_mysql($idsession);
}

function demande_mysql($id){
// SELECT prenom nom email FROM
//table_membre where id = $idsession
// $this->nom = $data[] etc....
}

function modif_mysql(){
// repercute les modifications
}

?>


donc apres si tu as une variable de session correspondant a l'usagé il suffit de faire un :

<?php
$membre_connecté = new Membre($_SESSION['id']);
?>
et toute les variables sont automatiquement initialisées.

bon d'accord je trouve que c pas encore au point l'objet php, mais ca va evoluer, deja le fait de s orienté dans ce domaine va permettre, je pense, de modifier les sessions.

faut demander a Globule pour php5, moi je retourne a mon Java smiley
allserv
le 05/07/2004 à 19:46
allserv
Ouais dacc je vois en gros.

Manque plus qu'une contribution de la globule dans ce post et ce sera bon je pense (notamment au niveau du php5 mais aussi des questions smiley)
Lefounard
le 06/07/2004 à 01:35
Lefounard
Bonsoir;
Je suis debutant en php et je viens de voir les classes a travers votre discussion.
Cela ressemble beaucoup aux structure en c ?
struct point
{
int pt;
....
};

C koi la difference ? c koi $this dans le script de Chuck norris ?
Les struct ca existe pas en php ? excuse moi pas eu le temps du RTFM !
Merci de vos reponses !
I am singing in the rain , I am happy again !!
Répondre
LoadingChargement en cours