Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
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 12/11/2007, 20h05   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 42
Points : 11
Points : 11
Par défaut [POO] en php5, est-ce ça ?

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 :
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;
?>
vtuning.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 22h28   #2
Membre éclairé
 
Avatar de makmaoui
 
Développeur Web
Inscription : mai 2007
Messages : 282
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2007
Messages : 282
Points : 361
Points : 361
Salut vtuning.net,

je suis en peu dans la même situation que toi, jusqu'à maintenant je prorammais en procédural en considérant que l'important était le résultat du traitement. Mais en bossant sur de gros projets je me suis vite rendu compte qu'il fallait changer de méthode pour mieux organiser mes traitements et mes données, je me suis naturellement tourné vers la POO en passant évidemment par une phase de conception ....

Je ne suis pas le mieux placé pour juger ton script mais ta classe me paraît bonne et dans l'esprit de la POO bien que le traitement que tu y fais ne soit pas compliqué, c'est toujours mieux qu'une suite de fonctions imbriquées .
makmaoui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 22h37   #3
Membre confirmé
 
Avatar de Mogwaï
 
Inscription : mai 2004
Messages : 247
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2004
Messages : 247
Points : 243
Points : 243
Envoyer un message via MSN à Mogwaï
Citation:
$upload->download_file();
Moi la seule chose qui me chiffonne, c'est employer les mots upload et download sur la même ligne, alors que l'un et l'opposé de l'autre

J'aurais plutot nommé la méthode save_file, mais ça c'est vraiment du chipotage (mais qui me chiffonne quand même lol)

Sinon tu as la possibilité d'implémenter les exceptions pour récupérer les cas d'erreur...
__________________
Etre à son compte, y'a rien de mieux !
Mogwaï est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2007, 16h01   #4
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 42
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 42
Points : 11
Points : 11
Merci pour vos réponses.

En ce qui concerne le script, je l'ai écrit juste pour ce topic, ne vous fiez pas à la fonction qu'il doit remplir, je ne suis même pas sur qu'il fonctionne.
vtuning.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h07.


 
 
 
 
Partenaires

Hébergement Web