Enkele klasse omzetten naar namespaces
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
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.