Mijn Eerste Oop Script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert  dat ben ik

Robert dat ben ik

28/03/2011 17:47:57
Quote Anchor link
Goede dag mede programmeurs.

Na een paar dagen goed lezen luisteren en leren :P

wil ik hierbij toch even mijn scriptje aan jullie laten zien, met wat ik tot nu toe heb gemaakt.

Het is heel erg basic, maar ja, je moet ergens beginnen :)

het is een Oop User Permission Class.

(let niet op de mysql want die word nog in een class gemaakt, de informatie moet er ook nog bij komen)

wil gewoon weten of ik zo goed bezig ben :)

user.class.php
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
abstract class User {
    protected $name;

    function
__construct($name)
    {

        $this->name = $name;
    }
    function
getName()
    {

        return $this->name;
    }
}

class Admin extends User {
    function
getStatus()
    {

        return "Admin";
    }
    function
ReadPermission()
    {

        return "Yes";
    }
    function
AddPermission()
    {

        return "Yes";
    }
    function
ModifyPermission()
    {

        return "Yes";
    }

}

class Moderator extends User {
    function
getStatus()
    {

        return "Moderator";
    }
    function
ReadPermission()
    {

        return "Yes";
    }
    function
AddPermission()
    {

        return "Yes";
    }
    function
ModifyPermission()
    {

        return "Yes";
    }
}

class Member extends User {
    function
getStatus()
    {

        return "Member";
    }
    function
ReadPermission()
    {

        return "Yes";
    }
    function
AddPermission()
    {

        return "Yes";
    }
    function
ModifyPermission()
    {

        return "Yes";
    }
}

class Guest extends User {
    function
getStatus()
    {

        return "Guest";
    }
    function
ReadPermission()
    {

        return "Yes";
    }
    function
AddPermission()
    {

        return "No";
    }
    function
ModifyPermission()
    {

        return "No";
    }
}

class CreateStatus {

    private $user;
    private $status;

    static function CreateUser($name,$status)
    {

        switch ($status) {
            case
"admin": return new Admin($name);
            case
"moderator": return new Moderator($name);
            case
"member": return new Member($name);
            case
"guest": return new Guest($name);
            default:
throw new Exception("System message: Niets gevonden..");
        }
    }
}

?>



index.php
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
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);

require_once 'include/db_config.php';
require_once 'include/class/user.class.php';

try
{
    function
DisplayStatus(User $object)
    {

        if(isset($object))
        {

            echo "Username: " . $object->getName() . "<br>";
            echo "Status:" . $object->getStatus() . "<br>";
            echo "Read Topic:" . $object->ReadPermission() . "<br>";
            echo "Add Topic:" . $object->AddPermission() . "<br>";
            echo "Modify Topic:" . $object->ModifyPermission() . "<br><br>";
        }

        else
        {
            throw new Exception("System message: No Objects found..");
        }
    }


    DisplayStatus(CreateStatus::CreateUser("papa","admin"));
    DisplayStatus(CreateStatus::CreateUser("ome henk","moderator"));
    DisplayStatus(CreateStatus::CreateUser("ome piet","member"));
    DisplayStatus(CreateStatus::CreateUser("ome kees","guest"));

    echo'<hr>';

    $res = mysql_query("SELECT username,status FROM users");
    $tellen = mysql_num_rows($res);
    if($tellen <= 0){
        throw new Exception("System message: No results found..");
    }

    else
    {
        while($data = mysql_fetch_array($res)){
            DisplayStatus(CreateStatus::CreateUser($data['username'],$data['status']));
        }
    }
}

catch(Exception $e)
{

    echo '<pre>';
    echo 'Regelnummer: '.$e->getLine().'<br>';
    echo 'Bestand: '.$e->getFile().'<br>';
    echo 'Foutmelding: '.$e->getMessage().'<br>';
    echo '</pre>';
}

?>


m.v.g Rob
 
PHP hulp

PHP hulp

23/04/2024 09:26:06
 
Pim -

Pim -

28/03/2011 17:53:09
Quote Anchor link
Aan een string met 'Yes' of 'No' heb je niet zo veel. Aan een boolean (true/false) wel.
 
Robert  dat ben ik

Robert dat ben ik

28/03/2011 18:17:21
Quote Anchor link
daarom zei ik al dat moest ik nog ff aanpassen naar boolean true en false

ik was al lang blij dat het werkte :D

Toevoeging op 28/03/2011 18:24:53:

Pim - op 28/03/2011 17:53:09:
Aan een string met 'Yes' of 'No' heb je niet zo veel. Aan een boolean (true/false) wel.


ik hb het even aangepast, zo beter dan?

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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
abstract class User {
    protected $name;

    function
__construct($name)
    {

        $this->name = $name;
    }
    function
getName()
    {

        return $this->name;
    }
}

class Admin extends User {
    function
getStatus()
    {

        return "Admin";
    }
    function
ReadPermission()
    {

        return true;
    }
    function
AddPermission()
    {

        return true;
    }
    function
ModifyPermission()
    {

        return true;
    }

}

class Moderator extends User {
    function
getStatus()
    {

        return "Moderator";
    }
    function
ReadPermission()
    {

        return true;
    }
    function
AddPermission()
    {

        return true;
    }
    function
ModifyPermission()
    {

        return true;
    }
}

class Member extends User {
    function
getStatus()
    {

        return "Member";
    }
    function
ReadPermission()
    {

        return true;
    }
    function
AddPermission()
    {

        return true;
    }
    function
ModifyPermission()
    {

        return true;
    }
}

class Guest extends User {
    function
getStatus()
    {

        return "Guest";
    }
    function
ReadPermission()
    {

        return true;
    }
    function
AddPermission()
    {

        return false;
    }
    function
ModifyPermission()
    {

        return false;
    }
}

class CreateStatus {

    private $user;
    private $status;

    static function CreateUser($name,$status)
    {

        switch ($status) {
            case
"admin": return new Admin($name);
            case
"moderator": return new Moderator($name);
            case
"member": return new Member($name);
            case
"guest": return new Guest($name);
            default:
throw new Exception("System message: Niets gevonden..");
        }
    }
}

?>


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
<?php
ini_set('display_errors',1);
error_reporting(E_ALL | E_STRICT);

require_once 'include/db_config.php';
require_once 'include/class/user.class.php';

try
{
    function
boolToStr($b)
    {

        if ($b == true) {
            return "Yes";
        }
else {
            return "No";
        }
    }

    function
DisplayStatus(User $object)
    {

        if(isset($object))
        {

            echo "Username: " . $object->getName() . "<br>";
            echo "Status:" . $object->getStatus() . "<br>";
            echo "Read Topic:" . boolToStr($object->ReadPermission()) . "<br>";
            echo "Add Topic:" . boolToStr($object->AddPermission()) . "<br>";
            echo "Modify Topic:" . boolToStr($object->ModifyPermission()) . "<br><br>";
        }

        else
        {
            throw new Exception("System message: No Objects found..");
        }
    }


    DisplayStatus(CreateStatus::CreateUser("papa","admin"));
    DisplayStatus(CreateStatus::CreateUser("ome henk","moderator"));
    DisplayStatus(CreateStatus::CreateUser("ome piet","member"));
    DisplayStatus(CreateStatus::CreateUser("ome kees","guest"));

    echo'<hr>';

    $res = mysql_query("SELECT username,status FROM users");
    $tellen = mysql_num_rows($res);
    if($tellen <= 0){
        throw new Exception("System message: No results found..");
    }

    else
    {
        while($data = mysql_fetch_array($res)){
            DisplayStatus(CreateStatus::CreateUser($data['username'],$data['status']));
        }
    }
}

catch(Exception $e)
{

    echo '<pre>';
    echo 'Regelnummer: '.$e->getLine().'<br>';
    echo 'Bestand: '.$e->getFile().'<br>';
    echo 'Foutmelding: '.$e->getMessage().'<br>';
    echo '</pre>';
}

?>
 
Pim -

Pim -

28/03/2011 18:46:11
Quote Anchor link
En hoe wil je dit gaan integreren met je Domain Object (User, die bijv het wachtwoord bezit, of is dit dat al?) en de database?
 
Robert  dat ben ik

Robert dat ben ik

28/03/2011 18:55:53
Quote Anchor link
Pim - op 28/03/2011 18:46:11:
En hoe wil je dit gaan integreren met je Domain Object (User, die bijv het wachtwoord bezit, of is dit dat al?) en de database?


nee ik heb gewoon even mijn database zelf ingevuld met de variables

ik heb nu gewoon even een voorbeeld gegeven wat ik denk dat oop is en wat zo kan werken als ik het verder uitbouw

er komt inderdaad nog een password bij en login en register en zo maar het ging hier even om het idee dat ik de rechten kon geven. en of ik nu echt op de OOP manier bezig ben :)
Gewijzigd op 28/03/2011 18:58:23 door Robert dat ben ik
 
Pim -

Pim -

28/03/2011 19:22:28
Quote Anchor link
OOP is de interactie tussen objecten. Klassen zelf zijn nog geen OOP.
 
Robert  dat ben ik

Robert dat ben ik

28/03/2011 19:32:13
Quote Anchor link
Pim - op 28/03/2011 19:22:28:
OOP is de interactie tussen objecten..


dat doet CreateStatus::CreateUser("naam","status") toch en van uit daar worden andere objecten gehaald per user class en in een object gezet
 
Pim -

Pim -

28/03/2011 19:33:56
Quote Anchor link
Ja, maar het wordt pas interessant, als je dit wil integreren met de Database, met inloggen en autorisatie. Nu valt er nog niet zo veel zinnigs over te zeggen.
 
Robert  dat ben ik

Robert dat ben ik

28/03/2011 19:36:04
Quote Anchor link
Pim - op 28/03/2011 19:33:56:
Ja, maar het wordt pas interessant, als je dit wil integreren met de Database, met inloggen en autorisatie. Nu valt er nog niet zo veel zinnigs over te zeggen.


nee maar dat ga ik nu er bij maken :D

ik was gewoon even benieuwd of ik zo wel goed bezig was :)
 



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.