IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Intégrer une class et une méthode


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 15
    Points
    15
    Par défaut Intégrer une class et une méthode
    Bonjour,


    Voila, au cours de mon développement web que je doit faire, je me suis rendu compte que j'allais avoir trop de pages...

    J'ai donc décider de créer des classes incluant des méthodes.

    Les méthodes comporterons mes script php que j'ai développé.


    Ce que je veut faire c'est que dans une autre page je veut déclarer ma classe et ma méthode mais je ne trouve pas la bonne syntaxe.

    Pour le moment j'en suis à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    include ("../classes/Correspondant.php");
    ?>
    Correspondant.php contient ma classe et mes méthodes.
    Faut-il écrire autre chose que l'include ??

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Bonjour ,

    Non , le include suffit , tu peux aussi t'en passer en mettant tes classes dans un repertoire et en incluant ce repertoire dans le include_path .

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    D'acc,

    autre question

    J'ai ma classe correspondant qui comportera toutes mes fonctions php


    Dans une page je veut utiliser la méthode ajout.

    et dans une autre page je vais appeler la même classe mais utiliser une autre méthode.

    Comment je vais pouvoir dire d'utiliser tel ou tel méthode ??

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    bah c'est le principe de la POO , tu crée un objet de ta classe et tu appel sa méthode :

    page 1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $obj = new objet();
    $obj->methode1();
    page 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $obj = new objet();
    $obj->methode2();

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    c'est la que je capte rien en fait, j'ai du mal à m'imaginer tout ça en web ...


    je vais prendre un exemple de ma classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
     
    session_start();									//démarrage d'une session pour récupérer les login et pwd
    include ('../fonctions/connexion.php');				//inclusion des log de la DB oracle
     
     
    class correspondant {
     
    		function ajout ($nom, $prenom, $telephone, $sexe, $mail, $age, $commune, $user, $ora_conn)
    		{
     
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $telephone = $_POST['telephone'];
    $sexe = $_POST['sexe'];
    $mail = $_POST['mail'];
    $age = $_POST['age'];
    $commune = $_POST['commune'];
    $user = $_SESSION['id_user'];
     
    $query = "INSERT INTO CORRESPONDANT(ID_CORRESPONDANT, INSEE_COMMUNE, NOM, PRENOM, N_PORTABLE, SEXE, ID_STRUCTURE, EMAIL, AGE)  VALUES ('','$commune', '$nom', '$prenom', '$telephone', '$sexe', '$user', '$mail', '$age')";
    $parsed = ociparse($ora_conn, $query);
    ociexecute($parsed);
     
    }}
    C'est ma classe avec ujne méthode, ça j'ai bien capté mais ce que je capte pas c'est comment utiliser une méthode pour tel page.

    En gros:
    Quelles sont les modif a faire dans ma classe.
    Quel truc faut rajouter dans ma page ou sera inclu ma fonction avec ma méthode

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $correspondant = new correspondant();
    $correspondant->ajout ($nom, $prenom, $telephone, $sexe, $mail, $age, $commune, $user, $ora_conn);

    maintenant tu as une erreur , tu ne peux pas dans ta methode faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $telephone = $_POST['telephone'];
    $sexe = $_POST['sexe'];
    $mail = $_POST['mail'];
    $age = $_POST['age'];
    $commune = $_POST['commune'];
    $user = $_SESSION['id_user'];
    de plus c'est un contresense total puisque ces parametres tu les passes a la méthode pour les redefinir derriere....

    Donc je te conseil de virer ça de l'interieur de ta methode et de proceder comme suit :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $telephone = $_POST['telephone'];
    $sexe = $_POST['sexe'];
    $mail = $_POST['mail'];
    $age = $_POST['age'];
    $commune = $_POST['commune'];
    $user = $_SESSION['id_user'];
    $correspondant = new correspondant();
    $correspondant->ajout ($nom, $prenom, $telephone, $sexe, $mail, $age, $commune, $user, $ora_conn);

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    Oouais ça m'arrange pas du tout ce genre de modif, car je les comprend meme pas.

    Je te remercie de tes explications.

    Le truc qui m'énerve c'est que l'on ma demander de développer un truc et ensuite on me demande de mettre tout mes script php que j'ai développé dans une seule classe "Correspondant"

    Donc la class correspondant contiendra des script d'ajout de suppression, de modification, d'affichage.

    Exemple de mon développement

    Ce développement sert uniquement à l'ajout d'un correspondant.

    Donc pour moi tout ça sera dans une méthode.
    Une autre méthode sera utilisé par ex pour la suppression si j'ai bien capté.

    Mais le truc que je capte pas c'est comment dire a mon formulaire d'utiliser tel ou tel méthode.... de ma classe correspondant



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    <?php 
    session_start();	
     
     
    include ('../fonctions/connexion.php');
     
     
    //------comparaison de correspondant dans la DB par rapport au formulaire------\\
     
    $nom = $_POST['nom'];						//récupération des champs du formulaire
    $prenom = $_POST['prenom'];					
     
    $compare ="select COUNT (*) TOTAL FROM CORRESPONDANT WHERE NOM like '".$nom."' AND PRENOM like '".$prenom."'";
     
    $connect = ociparse($ora_conn, $compare);  //connexion à la db
    oci_execute($connect);
     
    $row = oci_fetch_array ($connect);
     
    	if ($row['TOTAL'] != 0)
    		{ 
    		echo '';
    		}
    	else echo 0;
     
     
     
    //------ajout d'un correspondant dans une table------\\
     
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $telephone = $_POST['telephone'];
    $sexe = $_POST['sexe'];
    $mail = $_POST['mail'];
    $age = $_POST['age'];
    $commune = $_POST['commune'];
    $user = $_SESSION['id_user'];
     
    $query = "INSERT INTO CORRESPONDANT(ID_CORRESPONDANT, INSEE_COMMUNE, NOM, PRENOM, N_PORTABLE, SEXE, ID_STRUCTURE, EMAIL, AGE)  VALUES ('','$commune', '$nom', '$prenom', '$telephone', '$sexe', '$user', '$mail', '$age')";
    $parsed = ociparse($ora_conn, $query);
    ociexecute($parsed);
     
     
    //------affichage des infos saisie du formulaire ------\\
     
    echo '<h1 class="title">Correspondant ajouté</h1><br />';
    echo '<b>Récapitulatif des informations:<b><br /><br />';
    $query = "SELECT LIBELLE FROM COMMUNE WHERE INSEE_COMMUNE='$commune'";
    $parsed = ociparse($ora_conn, $query);
    ociexecute($parsed);
    $result = oci_fetch_array($parsed); //renvoi du tableau 
     
    echo 'Sexe: '.$sexe.'<br /> Nom: '.$nom.'<br /> Prénom: '.$prenom.'<br /> Ville: '.$result['LIBELLE'].'<br /> Telephone: '.$telephone.'<br /> Email: '.$mail.'<br /> Âge: '.$age.'<br /><br />';
    echo'<a href="page.php?mod=correspondants">Retour au menu correspondant.</a>';
     
     
     
    include ('../fonctions/deconnexion.php');
    ?>

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    ET bien rien de compliqué , comme je t'ai montré precedemment sur l'exemple de l'ajout :

    ta classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class correspondant {
     
    		function ajout ($nom, $prenom, $telephone, $sexe, $mail, $age, $commune, $user, $ora_conn)
    		{
     
    $query = "INSERT INTO CORRESPONDANT(ID_CORRESPONDANT, INSEE_COMMUNE, NOM, PRENOM, N_PORTABLE, SEXE, ID_STRUCTURE, EMAIL, AGE)  VALUES ('','$commune', '$nom', '$prenom', '$telephone', '$sexe', '$user', '$mail', '$age')";
    $parsed = ociparse($ora_conn, $query);
    ociexecute($parsed);
     
    }}
    ton fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <?php 
    session_start();	
     
    include ('../fonctions/class_correspondant.php'); // en imaginant que tu mette ta classe dans ledit fichier	
    include ('../fonctions/connexion.php');
     
     
    //------comparaison de correspondant dans la DB par rapport au formulaire------\\
     
    $nom = $_POST['nom'];						//récupération des champs du formulaire
    $prenom = $_POST['prenom'];					
     
    $compare ="select COUNT (*) TOTAL FROM CORRESPONDANT WHERE NOM like '".$nom."' AND PRENOM like '".$prenom."'";
     
    $connect = ociparse($ora_conn, $compare);  //connexion à la db
    oci_execute($connect);
     
    $row = oci_fetch_array ($connect);
     
    	if ($row['TOTAL'] != 0)
    		{ 
    		echo '';
    		}
    	else echo 0;
     
     
     
    //------ajout d'un correspondant dans une table------\\
     
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $telephone = $_POST['telephone'];
    $sexe = $_POST['sexe'];
    $mail = $_POST['mail'];
    $age = $_POST['age'];
    $commune = $_POST['commune'];
    $user = $_SESSION['id_user'];
     
    //On cree l'objet
    $correspondant = new correspondant();
    //On appel la methode d'ajout
    $correspondant->ajout ($nom, $prenom, $telephone, $sexe, $mail, $age, $commune, $user, $ora_conn);
     
     
    //------affichage des infos saisie du formulaire ------\\
     
    echo '<h1 class="title">Correspondant ajouté</h1><br />';
    echo '<b>Récapitulatif des informations:<b><br /><br />';
    $query = "SELECT LIBELLE FROM COMMUNE WHERE INSEE_COMMUNE='$commune'";
    $parsed = ociparse($ora_conn, $query);
    ociexecute($parsed);
    $result = oci_fetch_array($parsed); //renvoi du tableau 
     
    echo 'Sexe: '.$sexe.'<br /> Nom: '.$nom.'<br /> Prénom: '.$prenom.'<br /> Ville: '.$result['LIBELLE'].'<br /> Telephone: '.$telephone.'<br /> Email: '.$mail.'<br /> Âge: '.$age.'<br /><br />';
    echo'<a href="page.php?mod=correspondants">Retour au menu correspondant.</a>';
     
     
     
    include ('../fonctions/deconnexion.php');
    ?>
    pour l'affichage, modif , suppression , meme etat d'esprit

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    la fonction ajout doit comporter les trois script, et pas seulement un seul.

  10. #10
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par Zombiman Voir le message
    la fonction ajout doit comporter les trois script, et pas seulement un seul.
    Dequels 3 scripts parles-tu ?

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Points : 15
    Points
    15
    Par défaut
    je parle de cela,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?php 
    session_start();	
     
     
    include ('../fonctions/connexion.php');
     
     
    //------comparaison------\\
     
    $nom = $_POST['nom'];						//récupération des champs du formulaire
    $prenom = $_POST['prenom'];					
     
    $compare ="select COUNT (*) TOTAL FROM CORRESPONDANT WHERE NOM like '".$nom."' AND PRENOM like '".$prenom."'";
     
    $connect = ociparse($ora_conn, $compare);  //connexion à la db
    oci_execute($connect);
     
    $row = oci_fetch_array ($connect);
     
    	if ($row['TOTAL'] != 0)
    		{ 
    		echo '';
    		}
    	else echo 0;
     
     
     
    //------ajout------\\
     
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    $telephone = $_POST['telephone'];
    $sexe = $_POST['sexe'];
    $mail = $_POST['mail'];
    $age = $_POST['age'];
    $commune = $_POST['commune'];
    $user = $_SESSION['id_user'];
     
    $query = "INSERT INTO CORRESPONDANT(ID_CORRESPONDANT, INSEE_COMMUNE, NOM, PRENOM, N_PORTABLE, SEXE, ID_STRUCTURE, EMAIL, AGE)  VALUES ('','$commune', '$nom', '$prenom', '$telephone', '$sexe', '$user', '$mail', '$age')";
    $parsed = ociparse($ora_conn, $query);
    ociexecute($parsed);
     
     
    //------affichage------\\
     
    echo '<h1 class="title">Correspondant ajouté</h1><br />';
    echo '<b>Récapitulatif des informations:<b><br /><br />';
    $query = "SELECT LIBELLE FROM COMMUNE WHERE INSEE_COMMUNE='$commune'";
    $parsed = ociparse($ora_conn, $query);
    ociexecute($parsed);
    $result = oci_fetch_array($parsed); //renvoi du tableau 
     
    //affichage des valeurs
    echo 'Sexe: '.$sexe.'<br /> Nom: '.$nom.'<br /> Prénom: '.$prenom.'<br /> Ville: '.$result['LIBELLE'].'<br /> Telephone: '.$telephone.'<br /> Email: '.$mail.'<br /> Âge: '.$age.'<br /><br />';
    echo'<a href="page.php?mod=correspondants">Retour au menu correspondant.</a>';
     
     
     
    include ('../fonctions/deconnexion.php');
    ?>

    tout ce code php sert à l'ajout d'un correspondant par le biai d'un formulaire de saisie qui se trouve sur une autre page php

  12. #12
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    C'est assez etrange ce que tu me dis , la fonction ajout comporte aussi l"affichage de toutes les lignes de ta table ?

    bon bref , dans ce cas , tu mets tout le code dans la methode ajout et on en parle plus (bon c'est pas super propre , je serais toi je ferais une methode affichage() avec le reste du code c'est quand meme mieux)

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/04/2015, 15h44
  2. Eval d'une propriété d'une classe dans une classe
    Par bizet dans le forum ASP.NET
    Réponses: 4
    Dernier message: 28/10/2008, 09h43
  3. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  4. Une classe dans une classe...
    Par Baquardie dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2005, 19h36
  5. Réponses: 4
    Dernier message: 17/03/2004, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo