Mijn Eerste Oop Script
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)
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
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..");
}
}
}
?>
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)
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
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>';
}
?>
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
Aan een string met 'Yes' of 'No' heb je niet zo veel. Aan een boolean (true/false) wel.
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)
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
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..");
}
}
}
?>
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)
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
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>';
}
?>
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>';
}
?>
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?
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
OOP is de interactie tussen objecten. Klassen zelf zijn nog geen OOP.
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
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.
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 :)