Hoe OOP is dit begin? Hoe roep ik een public var op in een extend?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donny Wie weet

Donny Wie weet

25/04/2014 02:08:01
Quote Anchor link
Hoi allemaal,

2 vragen: (ik blijf het proberen ;D )

Allereerst: hoe OO is mijn code hieronder? Het is niet veel, maar moet toch ergens weer het OOP op pakken.

Daarnaast: ik wil de class FileUpload extenden: class Validator Extends FileUpload {}
Hoe kan ik in de Validator de public $maxSize ophalen?

Groet Donny

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

class FileUpload {

    protected     $extensions = array();
    public         $maxSize;
    protected     $file;
    public         $height;
    public         $width;
    public         $createThumbnail = false;
    public         $thumbWidth;
    public         $thumbHeight;

    public function __construct(){

    }


    public function setExtension($extension){
        if(is_array($extension)){
            $this->extensions = $extension;
        }
else {
            $this->extensions[] = $extension;
        }
    }


    public function setFileSize($maxSize){
        $this->maxSize = $maxSize;
        return $this->maxSize;
    }


    public function setResolution($width, $height){
        $this->width     = $width;
        $this->height     = $height;
    }


    public function setFile($file){
        $this->file = $file;
    }


    public function setThumbnail(){
        $this->createThumbnail = true;
    }


    public function setThumbResolution($width, $height){
        if($this->createThumbnail == true){
            $this->thumbWidth     = $width;
            $this->thumbHeight     = $height;
            return;
        }

        
        throw new Exception('Thumbnails must me enabled!');
    }
}
 
PHP hulp

PHP hulp

24/04/2024 23:29:02
 
Ozzie PHP

Ozzie PHP

25/04/2014 02:14:47
Quote Anchor link
- Een class vertegenwoordigt een object. FileUpload klinkt niet als een object. FileUploader wel :)

- Een lege constructor heeft geen zin.

- if($this->createThumbnail == true){ daar kun je beter van maken if($this->createThumbnail){

- persoonlijk zou ik die exception bovenaan plaatsen, dus if(!$this->createThumbnail) throw ...

- waarom protected en public properties? In eerste instantie alles private.

- class Validator Extends FileUpload lijkt me niet oké. Een Validator is iets anders dan een FileUploader.
 
Ward van der Put
Moderator

Ward van der Put

25/04/2014 08:00:45
Quote Anchor link
Je kunt verschillende soorten bestanden uploaden, niet alleen afbeeldingen maar bijvoorbeeld ook PDF's en Word-documenten. Het uploaden van afbeeldingen is dus een vorm van het uploaden van bestanden:

class ImageFileUploader extends FileUploader

Thumbnails moet je ook meer loskoppelen. Je kunt thumbnails maken van afbeeldingen die al eerder zijn geüpload, bijvoorbeeld via FTP. Je kunt bovendien opnieuw thumbnails genereren en bestaande thumbnails vervangen, bijvoorbeeld wanneer je een andere resolutie nodig hebt. Het genereren van de thumbnails hoort daarom ook los te staan van het uploaden van de afbeeldingen, bijvoorbeeld in een class Thumbnail.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.