Bonjour,

Je voudrais me faire une petite classe perso, qui me permettrait d'exécuter certaines requêtes sur ma base de données MySQL. Je ne sais pas si hériter de DBI est possible.

J’ai lu quelques articles sur la notion d'objet en Perl (je commence tout juste le Perl), et j'avoue que j'ai un peu l'impression que c'est du bidouillage pour ressembler a de l'objet. Bref ... j'ai un peu de mal a cerner la chose.

J’ai lu ce document et également le tuto de développer, mais il y a encore beaucoup de chose que je ne comprends pas. Petit exemple, j'avais commencé à faire quelque chose et puis j'ai arrêté car j'avais l'impression de redéfinir les méthodes de DBI.


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
 
#!/usr/bin/perl -w
 
######### Libraries that we need ############
use lib "/export/home/glasap/bin/perl/lib";
use strict;
use DBI();
#############################################
 
# constructor
sub new 
        {
        my ($classe, $host, $login, $passwd, $bdd) = @_;
        my $this = {"host" => $host,"login" => $login, "passwd" => $passwd, "bdd" => $bdd};
        bless ($this,$classe); 
        return $this; 
        }
 
# Destructor
sub DESTROY
        {
        print "Destruction de l'objet";
        }
 
# database connection
sub connect
        {
        my ($this, $cnx) = @_;
        $cnx = DBI->connect("DBI:mysql:database=".$this->{bdd}.";host=".$this->{host}.", ".$this->{login}.", ".$this->{passwd}.", {'RaiseError' => 1}") || die("Bad connection");
        bless($this,$cnx);
        }
 
# Database deconnection
sud deconnect
        {
        my ($dbh);
        $dbh->disconnect;
        }
 
# Query execution
sub exec
        {
        my ($this, $sth, $sql) = @_;
        $sth=$dbh->prepare($sql);
        $sth->execute();
        }
Merci de me donner un petit coup de pouce ...