Salut,

J'ai débuté le PHP en codant en procédural, puis j'ai utilisé les classes mais ca ressemblait toujours au procédural. Mes classes étaient en fait des bibliothèques de fonctions regroupées en fonction de leur usage.

J'essaye maintenant de coder en objet, mais je trouve que le terme désigne quelque chose qui est assez vague et qui peut surtout être interprété différemment selon les personnes.

J'ai donc préparé un petit script qui rassemble les méthodes que j'utilise pour coder.

Dites moi ce que vous en pensez.

Suis je encore loin de la programmation objet?

Merci d'avance pour vos réponses.

A+

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
 
<?
class upload
{
    public $file_key;
    public $user_ip;
    public $max_file_size;
    public $move_to;
 
    public $message;
 
    private $_file_name;
    private $_upload_id;
 
    function __construct()
    {
        //------------------------------------
        // Chargement des valeurs par défaut
        //------------------------------------
 
        $this->file_key      = 'default';
        $this->user_ip       = $_SERVER['REMOTE_ADDR'];
        $this->max_file_size = 10000;
        $this->move_to       = '/';
    }
 
    private function _make_file_name()
    {
        $this->_file_name = trim( $_FILES[$this->file_key]['name'] );
 
        return true;
    }
 
    private function _check_size()
    {
        if ( $_FILES[$file_key]['size'] > $this->max_file_size )
        {
            $this->message = 'File too big!!!';
 
            return false;
        }
 
        return true;
    }
 
    private function _download_file()
    {
        if ( ! move_uploaded_file( $_FILES[$this->file_key]['name'], $this->move_to ) )
        {
            $this->message = 'Cant move file';
 
            return false;
        }
 
        return true;
    }
 
    private function _add_to_bdd()
    {
        $sql = "INSERT INTO ...";
 
        $this->_upload_id = mysql_insert_id();
 
        return true;
    }
 
    public function download_file()
    {
        $this->_make_file_name();
 
        if ( ! $this->_check_size() )
        {
            return false;
        }
 
        if ( ! $this->_download_file() )
        {
            return false;
        }
 
        $this->_add_to_bdd();
 
        return $this->_upload_id;
    }
}
 
$upload = new upload();
 
$upload->file_key      = 'file_key';
$upload->max_file_size = '50000';
$upload->move_to       = 'uploads/';
 
$upload_id = $upload->download_file();
 
echo $upload_id;
?>