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 :

debuter la poo par ou commencer?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut debuter la poo par ou commencer?
    bonjour a tous, j'essaye de debuter en poo mais ce n'est pas évident , j'ai du mal déja crée mes objets. J'essaye de faire des petits test mais cela ne fonctionne pas. Pour mes test j'ai crée objet le mot, j'aimerais d'abord essayer de défnir ce mot.
    voici le script que je suis entrain d'essayer:
    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
     
    //ce fichier s'appelle mot.class.php
    //creation de la classe mot
    <?php
      class Mot
      {
        private $lemot;//le mot
        private $caractere;//nombre de caractere
        private $majuscule;//le mot en majuscule
     
     
        public function nb_caractere()//methode calcule sont caractère
        {
     
        }
        public function majuscule()//methode pour transfomer les caractères en minuscule en majuscule
        {
     
        }
      }
    ?>
    voici le fichier moteur.php qui fait appelle à l'objet mot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $classe="mot";
        function chargerClasse ($classe)
        {
            require $classe . '.class.php'; // On inclue la classe correspondante au paramètre passé
        }
     
        spl_autoload_register ('chargerClasse'); // On enregistre la fonction en autoload pour qu'elle soit appelée dès qu'on instanciera une classe non déclarée
     
    $cherchee_mot=new Mot();
    ?>
    jusqu'a la pas je n'ai pas d'erreur
    comment fait t-on pour crée un objet mot, par exemple cette objet s'appelle "bonjour";
    mon objet "Mot" est t'il cohérent?
    il faut défnire un constructeur c'est ca?
    merci de vos réponses

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Peut être faudrait il par commencer plus simplement, ne pas brûler les étapes.
    Je dirais qu'il serait bon de remettre à plus tard le spl_autoload_register() et la fonction chargerClasse ($classe).

    Pour faire tes essais avec ta classe Mot, et bien inclus la directement, ça évitera des éventuellement problèmes liés à l'autoload.

    Exemple, dans une page index.php qui inclus la classe Mot (dans www/classes/) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    include('classes/Mot.class.php');
    //
    $Mot = new Mot('Un mot');
    $Mot->getNombeCaractere();
    ?>
    Un exemple de classe Mot :
    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
     
    class Mot {
    	private $lemot;      // le mot
    	private $caractere;  // nombre de caractere
    	private $majuscule;  // le mot en majuscule
     
     	// Le constructeur
    	public function __construct($lemot) {
    		$this->lemot = $lemot;
    		$this->caractere = strlen($this->lemot);
    		$this->majuscule = strtoupper($this->lemot);
    	}
     
    	// Retourne le nombre caractère
    	public function getNombeCaractere() {
    		return $this->caractere;
    	}
     
    	// Retourne le mot caractères en majuscule
    	public function getMotMajuscule() {
    		return $this->majuscule;
    	}
    }
    Mais il faut savoir ce que tu veux faire.
    Il y a pas d'obligation d'avoir un constructeur, c'est le besoin qui devra définir s'il en faut un ou pas. Il n'y a de règle en faite.
    C'est la même chose pour toutes les méthode dites "magiques" (__destruct, __get, __set, __call, etc, ...).

    Faudrait cependant essayer de faire quelque chose de concret, car la conception d'une classe part d'un besoin.
    Si on ne sais pas vraiment se qu'on veux, il sera difficile de concevoir quelque chose.

    Mais faire des essai pour se rendre compte du comment Php réagit, c'est utile, voir indispensable.

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de ta réponse, c'est vrait que c'est inutile de crée une classe qui ne sert à rien et que je vais laisser de côté spl_autoload_register(), mon but est de crée un moteur de recherche donc il faut que j'essaye déjà de définir quel class je doit utiliser, mais avant de doit maîtriser le fonctionnement de la classe.
    donc pour commencer je pense que je vais devoir trouver un autre class comme le formulaire?
    donc je pensais faire un formulaire et une fois que l'internaute tape un mot, on va définir que le nom de la classe mot s'appelle le mot taper?
    est ce un bon raisonnement?
    sinon comment affiche t'on le résultat une fois qu'on a fait appelle a getnombrecaracters?

  4. #4
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    donc je pensais faire un formulaire et une fois que l'internaute tape un mot, on va définir que le nom de la classe mot s'appelle le mot taper?
    est ce un bon raisonnement?
    J'en sais rien, car ce n'est pas suffisant comme info.

    Pour exemple, tu par du principe qu'un utilisateur saisira 1 mot.
    Déjà là, vient la question du comment être sûr qu'il y aura qu'1 seule mot, et non plusieurs.

    Autre exemple, concernant la "casse". Ceci peut être résolu du coté de la Bdd, comme utiliser un champ avec un interclassement : *_ci pour case insensitive (insensible à la casse).
    Plus besoin de se préoccuper de la casse.

    Je ne suis pas certain que créer une classe juste pour 1 mot soit utile.

    Par conte, pour plusieurs mots, peut être, car derrière se soulève plusieurs problèmes, comme un découpage de chaque mot pour par exemple faire une recherche sur chaque mot de manière individuelle.
    Faut aussi se poser la question du OU ou bien ET.
    En somme, il y aura théoriquement plus de résultats en recherchant dans une table les mots "php" OU "sql" que la totalité " php sql", ce qui revient à faire "php" ET "sql".
    Mais est ce réellement plus pertinent ? Peut être, peut être pas, ça dépend de ce qu'on veut obtenir.

    Puis faut aussi voir si tu prends en compte ou pas les éventuelles erreurs de saisie, de frappe de la part de l'utilisateur.
    Exemple : "foum" ou lieu de "forum". Manque le -> r
    Faut il rechercher le mot "forum" ? (Un truc pareil débouche sur une usine à gaz, soit dit en passant).


    En faite, la recherche c'est la combinaison entre Php et Sql, l'un ne va pas sans l'autre.


    Cependant, je me suis pas vraiment préoccupé de ce problème, je ne sais pas comment il faudrait abordé la chose.

    Ce qui est certain, c'est qu'avant de coder, il te faut avoir une idée exacte de ce que tu veux obtenir, sinon, tu ne cessera de coder, recoder, rerecoder ...
    C'est le besoin qui va t'orienter, mais pas l'inverse.

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    j'ai déjà commencer ce moteur en procédural avec
    levensthein et compter le nombre de caractrère identitique avec similar_text()
    pour commencer le traitement du mot c'est directement après avoir envoyer par poste le mot a chercher:

    -de supprimer toutes les espaces et caractères
    -accent aigue et grave et autre sur les voyelle vont être supprimer
    -mettre tous en majuscule


    pour la recherche c'est en fait un seul article dans une base de donnée sur une un seul champ qui contient lettre+chiffre.

  6. #6
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    j'ai déjà commencer ce moteur en procédural avec
    levensthein et compter le nombre de caractrère identitique avec similar_text()
    J'ai jamais essayé "levensthein", tout juste une idée de ce que cela fait.
    Je ne pourrais pas vraiment t'aider du coup.

    Il me semble avoir lu que "levensthein" n'était pas vraiment francisé, ce qui peu causer des problèmes (pas sûr).

    Pour info, il y a quelque chose ici : L'art des « Soundex »
    Il y a peut être des idées, qui sait.

Discussions similaires

  1. [Divers] Par où commencer ?
    Par calogerogigante dans le forum Cobol
    Réponses: 6
    Dernier message: 03/03/2014, 10h22
  2. Par ou commencer ? je suis debutant aider moi svp!
    Par curtis2006 dans le forum Windows
    Réponses: 1
    Dernier message: 27/02/2008, 15h17
  3. par où commencer, delphiX?
    Par tima dans le forum Débuter
    Réponses: 8
    Dernier message: 07/09/2005, 13h45
  4. Par où commence un site
    Par stujava dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 31/08/2005, 09h33
  5. [Debutant(e)]passage par adresse?
    Par cap2fosse dans le forum Langage
    Réponses: 4
    Dernier message: 24/09/2004, 10h05

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