Enkele klasse omzetten naar namespaces

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Erwin van Hoof

Erwin van Hoof

05/02/2014 11:42:24
Quote Anchor link
Hoe kan ik een overkoepelende klasse (zoals voorbeeld code) omzetten naar namespaces?

Zou iemand me hier een voorbeeld van kunnen geven op basis van onderstaande code.


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
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
<?php


class verwerkProject {
    
    //vars
    private pdfRoot = 'hier/staan/pdfs';
    public projectNummer = null;
    public projectData   = array();
    //... etc ...
    
    /*
    *  PDF FUNCTIES -> zou een aparte class/namespace moeten worden
    */


    public function pdfBestaat( $bestand = '') {
        
        $this->_bestand_bestaat($this->pdfRoot. '/' . $bestand);

        //... doe nog iets ...
    }
    
    public function pdfOpen( $bestand = '') {
        //... doe iets ...
    }
        
    /*
    *  DB FUNCTIES -> zou een aparte class/namespace moeten worden
    */


    public function dbConn() {
        //... doe iets ...         
    }

    public function dbQuery() {
        //... doe iets ...         
    }
    
    /*
    *  MAIL FUNCTIES -> zou een aparte class/namespace moeten worden
    */

    
    public function mailStuur() {
        //... doe iets ...         
    }
    
    public function mailMaak() {
        //... doe iets ...         
    }
    
    /*
    *  LOG FUNCTIES -> zou een aparte class/namespace moeten worden
    */

    
    public function log( $str = '' ) {
        //... doe iets ...         
    }
    
    /*
    *  PRIVATE/TOOLKIT FUNCTIES -> zou een aparte class/namespace moeten worden
    */

    
    private function _bestand_bestaat( $pad = '' ) {
        if (empty($pad)) {
            return false;
        }

        else {
            return file_exists($pad);
        }
    }

    
    // ... etc ...    
}

$vp = new verwerkProject();

$bestand = 'test.pdf';

// controleer of pdf bestaat
if ($vp->pdfBestaat($bestand)) {
    $data = $vp->pdfOpen($bestand);
}
else {
    $vp->log('PDF bestand bestaat niet.');
}
Gewijzigd op 05/02/2014 11:42:50 door Erwin van Hoof
 
PHP hulp

PHP hulp

10/05/2024 10:39:23
 
Frank Nietbelangrijk

Frank Nietbelangrijk

05/02/2014 17:29:38
Quote Anchor link
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
//-------------------------------------------

namespace Phphulp\Frank;

class Login // de volledige classnaam is nu eigenlijk: Phphulp\Frank\Login
{
    function
__construct()
    {

        echo 'Frank zijn Login-class!<br>';
    }
}


class Register // de volledige classnaam is nu eigenlijk: Phphulp\Frank\Register
{
    function
__construct()
    {

        echo 'Frank zijn Register-class!<br>';
    }
}


//-------------------------------------------

namespace Phphulp\Erwin;

class Login // de volledige classnaam is nu eigenlijk: Phphulp\Erwin\Login
{
    function
__construct()
    {

        echo 'Erwin zijn Login-class!<br>';
    }
}


class Register // de volledige classnaam is nu eigenlijk: Phphulp\Erwin\Register
{
    function
__construct()
    {

        echo 'Erwin zijn Register-class!<br>';
    }
}


//-------------------------------------------

// eerste methode:
// we gebruiken de volledige namespace + classnaam:

$a = new \Phphulp\Frank\Login();
$b = new \Phphulp\Erwin\Login();


// tweede methode:
// we geven een alias op voor de volledige namespace classnaam.

use Phphulp\Frank\Login as PatatEmmer;
$a = new PatatEmmer();

use Phphulp\Erwin\Login as Rookworst;
$a = new Rookworst();

// derde methode:
// we geven geen alias op. PHP geef dan zelf een naam

use Phphulp\Erwin\Register; // as Register;
$a = new Register();

// dit levert een foutmelding op omdat er dan twee namespaces zijn met de naam 'Register'!
/*
use Phphulp\Frank\Register; // as Register;
$a = new Register();
*/

// Of we geven een gedeelte van de namespace die we willen gebruiken

use Phphulp\Erwin; // as Erwin;
$a = new Erwin\Login();
$a = new Erwin\Register();
Gewijzigd op 05/02/2014 17:40:59 door Frank Nietbelangrijk
 
Erwin van Hoof

Erwin van Hoof

05/02/2014 20:10:17
Quote Anchor link
Beste Frank,

Bedankt voor je uitleg was zeer verhelderend.

Heb ik alleen nog een vraag:
Als ik bijv. in Phphulp\Frank\Login een functie heb isLoggedIn().
Hoe zou ik deze functie kunnen gebruiken in Phphulp\Frank\Register om bijv. te controleren of de gebruiker al is ingelogd.
 



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.