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

WinDev Discussion :

Conversion du code PHP en Wlangage


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2022
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 16
    Points : 15
    Points
    15
    Par défaut Conversion du code PHP en Wlangage
    Bonjour les amis, je vais une aide concernant la conversion du code PHP en Wlangage.

    1. classe parent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
     
    namespace App\Models;
     
        class Animal
        {
            public static function getMyName()
            {
     
                return 'je suis la classe ' . get_called_class();
            }
    }


    Le code ci-dessus est une classe avec une méthode statique ( qui renvoie le nom de la classe qui appelle la fonction )

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Animal::getMyName()   
    // resultat : "App\Models\Animal"

    2. classe fille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
        namespace App\Models;
     
        use App\Models\Animal;
     
        class Chien extends Animal
        {
     
        }
    Le code ci-dessus décrit la classe Chien qui hérite de la classe Animal.
    La fonction getMyName ( héritée de la classe Animal ) renvoie le nom de la classe
    Chien


    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chien::getMyName()   
    // resultat : "App\Models\Chien"


    Préoccupation : si quelqu'un pouvait m'aider à écrire ces codes en Wlangage, cela me sera d'une grade aide

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CAnimal est une Classe
         PROTEGE
    	......
    FIN
    Pour la suite, on peut utiliser un getter (propriété en lecture ou une méthode)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FONCTION PUBLIQUE NomClasse() :chaîne
    oMaDef est un Définition
     
    oMaDef=RécupèreDéfinition(objet)
     
    RENVOYER ChaîneConstruit("Je fais partie de la classe %1",oMaDef..Nom)
    Enfin la classe Chien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CChien est une Classe
    	hérite de CAnimal
            PRIVE
                 .....
    FIN
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    clRex est CChien
     
    Trace(clRex:NomClasse)
    Renvoie :
    Je fais partie de la classe CChien
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2022
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CAnimal est une Classe
         PROTEGE
    	......
    FIN
    Pour la suite, on peut utiliser un getter (propriété en lecture ou une méthode)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FONCTION PUBLIQUE NomClasse() :chaîne
    oMaDef est un Définition
     
    oMaDef=RécupèreDéfinition(objet)
     
    RENVOYER ChaîneConstruit("Je fais partie de la classe %1",oMaDef..Nom)

    Au fait, la procédure en question doit être globale comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CAnimal est une Classe
         PROTEGE
    	......
    FIN
    Pour la suite, on peut utiliser un getter (propriété en lecture ou une méthode)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PROCEDURE GLOBALE PUBLIQUE NomClasse() :chaîne
     
    FIN

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Où est la question ?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2022
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Où est la question ?
    Voici le problème

    En PHP


    1. classe parent


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    namespace App\Models;
     
        class Animal
        {
            public static function getMyName()
            {
     
                return 'je suis la classe ' . get_called_class();
            }
        }

    Le code ci-dessus est une classe avec une méthode statique ( qui renvoie le nom de la classe qui appelle la fonction )

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Animal::getMyName()   // "App\Models\Animal"

    2. classe fille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    namespace App\Models;
     
        use App\Models\Animal;
     
        class Chien extends Animal
        {
     
        }
    Le code ci-dessus décrit la classe Chien qui hérite de la classe Animal.
    La fonction getMyName ( héritée de la classe Animal ) renvoie le nom de la classe
    Chien


    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Chien::getMyName()   // "App\Models\Chien"


    NB : Ce code fonction à merveille


    EN WINDEV

    1. classe parent

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Animal est une Classe
     
    FIN
     
    PROCÉDURE Constructeur()
     
     
    PROCÉDURE Destructeur()
     
     
    PROCÉDURE PUBLIQUE GLOBALE getNomClasse()
     
    // ici le code qui devrait renvoyer le nom de la classe qui appel la fonction
    // ca doit renvoyer :  "Animal"
    2. classe fille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Chien est une Classe
    	hérite de Animal
     
    FIN
     
    PROCÉDURE Constructeur()
     
     
    PROCÉDURE Destructeur()

    Utilisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Animal::getNomClasse()   // je souhaite que ca retourne : "Animal"
    Chien::getNomClasse()    // // je souhaite que ca retourne : "Chien"

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 267
    Points
    5 267
    Billets dans le blog
    1
    Par défaut
    Le code a été donné dans le post #2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FONCTION PUBLIQUE NomClasse() :chaîne
    oMaDef est un Définition
     
    oMaDef=RécupèreDéfinition(objet)
     
    RENVOYER oMaDef..Nom
    Ce code peut être indifféremment un getter ou une méthode (au point de vu fonctionnel), personnellement je préfère l'utiliser en getter (il n'y a que de la "récupération" de données")
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2022
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2022
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Le code a été donné dans le post #2.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    FONCTION PUBLIQUE NomClasse() :chaîne
    oMaDef est un Définition
     
    oMaDef=RécupèreDéfinition(objet)
     
    RENVOYER oMaDef..Nom
    Ce code peut être indifféremment un getter ou une méthode (au point de vu fonctionnel), personnellement je préfère l'utiliser en getter (il n'y a que de la "récupération" de données")

    Mon problème se trouve exactement à ce point. Peut être c'est moi qui me fait mal comprendre.

    La portée de la fonction NomClasse() doit être PUBLIQUE GLOBALE mais non PUBLIQUE.

    Donc , on doit avoir une fonction comme ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    FONCTION PUBLIQUE GLOBALE NomClasse() :chaîne
    oMaDef est un Définition
     
    oMaDef=RécupèreDéfinition(objet)
     
    RENVOYER oMaDef..Nom
    Dans la solution que tu propose, la portée de la fonction est tout simplement PUBLIQUE
    Il faut que la portée soit PUBLIQUE GLOBALE


    Une fois que la portée de la fonction sera PUBLIQUE GLOBALE, le code va radicalement changer.

Discussions similaires

  1. Conversion d'un bout de code PHP vers Java
    Par chatlumo dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 09/10/2012, 17h29
  2. conversion de code VB6 en PHP
    Par Illuminati dans le forum Langage
    Réponses: 2
    Dernier message: 06/05/2010, 20h28
  3. pb eval pour le code php dans une feuille xslt
    Par nipepsi dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 10/09/2004, 11h23
  4. [VB.NET] Erreur conversion de code c=>vb (opendialogfile)
    Par hirochirak dans le forum Windows Forms
    Réponses: 19
    Dernier message: 02/06/2004, 16h31

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