Enkele klasse omzetten naar namespaces
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.
Zou iemand me hier een voorbeeld van kunnen geven op basis van onderstaande code.
Code (php)
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
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.');
}
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
Code (php)
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
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();
//-------------------------------------------
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
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.
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.




