j'essaye de surcharger la classe CGI, afin de modifier le comportement
de la méthode self_url().
Ca ne semble pas fonctionner, car j'obtiens des comportements étranges ...
est-ce que ce code vous parrait correct :
package MyCgi ;
use CGI ;
use base qw( CGI );
sub new
{
my $class= shift ;
$class = ref($class) || $class ;
my $self = new CGI ;
bless( $self, $class );
return $self ;
}#new
merci
cyrille
-==-==-==-
... FAQ Mozilla/Netscape 7 en français : http://pascal.chevrel.free.fr
-==-==-==-
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jl_morel
Dans l'article <bmodfe$uf8$, a dit...
j'essaye de surcharger la classe CGI, afin de modifier le comportement de la méthode self_url(). Ca ne semble pas fonctionner, car j'obtiens des comportements étranges ...
est-ce que ce code vous parrait correct :
package MyCgi ; use CGI ; use base qw( CGI ); sub new { my $class= shift ; $class = ref($class) || $class ; my $self = new CGI ; bless( $self, $class ); return $self ; }#new
Vous n'avez pas à faire de méthode new pour votre classe. Essayez en la supprimant complètement.
C'est le new du module CGI qui va être appelé et il va faire lui-même un bless $self, 'MyCgi' et vous obtiendrez directement un objet MyCgi avec my $q = new MyCgi;
* Notez aussi que si vous utilisez une version de CGI.pm de version antérieure à 2.37, les modules qui en hérite doivent être dans l'espace de nom CGI (CGI::Truc..)
HTH
-- J-L.M.
Dans l'article <bmodfe$uf8$1@news-reader3.wanadoo.fr>, cyrilleml@kbuilder.net
a dit...
j'essaye de surcharger la classe CGI, afin de modifier le comportement
de la méthode self_url().
Ca ne semble pas fonctionner, car j'obtiens des comportements étranges ...
est-ce que ce code vous parrait correct :
package MyCgi ;
use CGI ;
use base qw( CGI );
sub new
{
my $class= shift ;
$class = ref($class) || $class ;
my $self = new CGI ;
bless( $self, $class );
return $self ;
}#new
Vous n'avez pas à faire de méthode new pour votre classe.
Essayez en la supprimant complètement.
C'est le new du module CGI qui va être appelé et il va faire lui-même un
bless $self, 'MyCgi'
et vous obtiendrez directement un objet MyCgi avec
my $q = new MyCgi;
* Notez aussi que si vous utilisez une version de CGI.pm de version
antérieure à 2.37, les modules qui en hérite doivent être dans l'espace de
nom CGI (CGI::Truc..)
j'essaye de surcharger la classe CGI, afin de modifier le comportement de la méthode self_url(). Ca ne semble pas fonctionner, car j'obtiens des comportements étranges ...
est-ce que ce code vous parrait correct :
package MyCgi ; use CGI ; use base qw( CGI ); sub new { my $class= shift ; $class = ref($class) || $class ; my $self = new CGI ; bless( $self, $class ); return $self ; }#new
Vous n'avez pas à faire de méthode new pour votre classe. Essayez en la supprimant complètement.
C'est le new du module CGI qui va être appelé et il va faire lui-même un bless $self, 'MyCgi' et vous obtiendrez directement un objet MyCgi avec my $q = new MyCgi;
* Notez aussi que si vous utilisez une version de CGI.pm de version antérieure à 2.37, les modules qui en hérite doivent être dans l'espace de nom CGI (CGI::Truc..)