Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks
Bibliothèques et frameworks Forum d'entraide sur les frameworks, templates, bibliothèques de code (PDFLib, eZPdf, JpGraph, Artichow, PEAR, etc). Avant de poster : FAQ bibliothèques, toutes les FAQ PHP et cours bibliothèques
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2006, 11h19   #1
Futur Membre du Club
 
Inscription : février 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 37
Points : 15
Points : 15
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.
ronio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 13h10   #2
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
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 :
class MonFramework_Voiture {
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 13h12   #3
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
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 :
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
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 14h26   #4
Futur Membre du Club
 
Inscription : février 2004
Messages : 37
Détails du profil
Informations forums :
Inscription : février 2004
Messages : 37
Points : 15
Points : 15
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
ronio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 14h36   #5
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par ronio
Qui sait un jour peut etre sur php.
http://enterprise.phpmagazine.net/20...he_intern.html
http://www.plopix.net/blog/index.php/2006/05/16/8-php6
http://www.corephp.co.uk/archives/19...for-PHP-6.html
http://blog.bitflux.ch/archive/2005/...amespaces.html
...
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2007, 11h11   #6
Invité de passage
 
Inscription : novembre 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 5
Points : 4
Points : 4
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 :
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...
chrishue est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h57.


 
 
 
 
Partenaires

Hébergement Web