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

Bibliothèques et frameworks PHP Discussion :

Travailler avec 2 classes du même nom


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut Travailler avec 2 classes du même nom
    Bonjour tout le monde!

    J'ai une question de débutant, mais qui sait qqun pourra me répondre.

    Existe t-il in moyen de travailler avec 2 classes du même nom ?

    J'ai un framework qui exploite ses propres classes, et je voudrais rajouter un module qui comporte une classe qui a le même nom que l'une des classes de mon framework.


    Je vous remercie d'avance pour les réponses!

    Ronio.

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Non pas possible. Un chat est un chat.
    Et comme il n'y a pas de notion de namespace, c'est à toi de le faire en prefixant tes classes par le nom de ton framework. Ainsi
    deviendrait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class MonFramework_Voiture {

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    Je ne vois pas comment ca serait possible...

    D'ou l'interet de bien nommer ses classes au depart, quitte a avoir des noms de classes a rallonge... voir, meme si c'est SUPER lourd, une variable du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $PREFIX='MonFramework';
     
    class ${$PREFIX.'Connection'} {
    ...
    }
    Enfin, sans en arriver là, je pense qu'il est quand meme utile d'avoir un préfixe de 2 ou 3 caracteres qui sont relativement unique (pas BDD par exemple).

    Evidemment, il peut toujours exister des collisions... mais rien ne t'empeche de renommer massivement la classe du "module" ajouté

    Edit : grilled

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 41
    Points : 30
    Points
    30
    Par défaut Merci pour vos réponses!
    J'ai modifié la classe ajoutée.

    C'est pas évident de travailler avec des modules qu'on a pas créé.

    Merci beaucoup pour les détails

    J'avais vu que en JAVA ct possible ( les packages )

    Qui sait un jour peut etre sur php.

    Merci encore

    Ronio

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Les namespaces!
    Beaucoup on demandé l'ajout des namespaces dans PHP6. la version beta est déja disponible depuis un moment... et avec le retard (prévu pour le premier trimestre 2008), ils on tenu compte de cette demande en retrogradans cet ajout dans la V5.3 de PHP.

    Tu peux donc maintenant créer des class du même nom dans des namespaces différent.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    namespace system{
        namespace sql {
            class date{...}
        }
        namespace javascript {
            class date{...}
        }
    }
    $d1=new system::sql::date(); //$d1 contiendra l'object date spécialement utilisé pour le SQL
    $d2=new system::javascript::date(); //$d1 contiendra l'object date spécialement utilisé pour le javascript
    Reste a trouver l'EDI qui tiendra compte de la syntaxe du namespace (voir l'aide contextuel quand tu tape system:: pour voir le contenu du namespace)

    Si vous trouvez l'EDI, dites-le moi...

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/02/2013, 21h00
  2. Charger une classe du même nom
    Par Murdoc dans le forum Général Java
    Réponses: 2
    Dernier message: 23/06/2010, 23h37
  3. 2 classes de même nom dans 2 projets différents
    Par Arn's dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/11/2009, 23h12
  4. Réponses: 4
    Dernier message: 10/08/2009, 17h27
  5. package ambiguïté pour des classes de même nom
    Par soad dans le forum Langage
    Réponses: 2
    Dernier message: 10/06/2004, 19h25

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