Bonjour à tous,
Après avoir suivi le cours de djibril que je remercie encore. j'ai une petite question sur laquelle je bute concernant l'utilisation de moose et le monde objet.
j'ai une première classe (la classe mère) dans laquelle je déclare:
j'ai une seconde classe qui est la fille qui contient:
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 package Serveurs; has serveur => ( is => 'rw', , ); has TYPE_DE_COMPTE => ( is => 'rw', );
et j'ai enfin une autre classe dans laquelle je souhaite pouvoir réutiliser le contenue des objets créer via le constructeur dans mon script principal et accéder en même temps à la classe cyrus ci-dessous en lui communiquant les valeurs contenu dans mon objet saisi dans mon script principal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 package fille; extends (Serveurs); has compte_utilisateur=> ( is => 'rw', , );
dernière classe:
et dans mon script principal
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 #du coup je ne sais pas si je dois faire hériter cette classe de ma classe mère afin que les objets puisse être héritée d'une classe à l'autre, mais ça ne fonctionne pas. package Cyrus; extends (Serveurs); our $connexion; our $serveur = $this->get_serveur;#ICI JE VEUX RÉCUPÉRER UNE VARIABLE DEPUIS MON SCRIPT PRINCIPA(get_serveur) $connexion->{$serveur} = Cyrus::IMAP::Admin->new( $serveur ); $connexion->{$serveur}->authenticate( -authz => undef, -user => $Config{cyrus}{$serveur}{user}, -password => $Config{cyrus}{$serveur}{passwd}, -mechanism => $Config{cyrus}{$serveur}{mechanism}, #~ -separator => '/' ) or die "CyrusIMAPAdmin --> Authentification impossible à $serveur"; sub ma_fonction_affiche { my($this)=@_; print $this->get_compte_utilisateur; }
Je vous remercie pour vos conseils
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 use fille; use Cyrus; my $objet_unit = Unite->new( {TYPE_DE_COMPTE=> 'test'', serveur=>'monserveur', compte_utilisateur=>'utilisteur1', } );
Partager