object aanmaken in een klasse van dezelfde klasse
in code:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$verwijder_gebruiker = new User (2);
$verwijder_gebruiker->delete_user (6);
//waarbij 2 de id van de te verwijderen persoon voorstelt
//en 6 de id van de persoon die 2 zal verwijderen
?>
$verwijder_gebruiker = new User (2);
$verwijder_gebruiker->delete_user (6);
//waarbij 2 de id van de te verwijderen persoon voorstelt
//en 6 de id van de persoon die 2 zal verwijderen
?>
hiervoor heb ik deze classe ontworpen :
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
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
<?
class User
{
var $userid;
function User($userid)
{
$this->userid = $userid;
}
function delete_user ($delete_userid)
{
$gebruiker = new User ($delete_userid);
if ($gebruiker->control_delete_right ()) {
....
}
else
echo "geen rechten om user ".$userid." te verwijderen";
}
function control_delete_right()
{
..
}
}
?>
class User
{
var $userid;
function User($userid)
{
$this->userid = $userid;
}
function delete_user ($delete_userid)
{
$gebruiker = new User ($delete_userid);
if ($gebruiker->control_delete_right ()) {
....
}
else
echo "geen rechten om user ".$userid." te verwijderen";
}
function control_delete_right()
{
..
}
}
?>
maar dat werkt niet
kan je een object maken van dezelfde klasse User ?
zo nee, hoe kan ik het anders doen, zonder de functie control_delete_right als het ware te gaan overtypen..
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
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
<?
class Users
{
var $userid;
function User($userid)
{
$this->userid = $userid;
}
function delete_user ($delete_userid)
{
$gebruiker = new User ($delete_userid);
if ($gebruiker->control_delete_right ()) {
....
}
else
echo "geen rechten om user ".$userid." te verwijderen";
}
function control_delete_right()
{
..
}
}
?>
class Users
{
var $userid;
function User($userid)
{
$this->userid = $userid;
}
function delete_user ($delete_userid)
{
$gebruiker = new User ($delete_userid);
if ($gebruiker->control_delete_right ()) {
....
}
else
echo "geen rechten om user ".$userid." te verwijderen";
}
function control_delete_right()
{
..
}
}
?>
En dan:
dat is toch hetzelfde niet?
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$verwijder_gebruiker = new User (2);
$verwijder_gebruiker->delete_user (6);
?>
$verwijder_gebruiker = new User (2);
$verwijder_gebruiker->delete_user (6);
?>
of
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$del = new Users;
$del->User(2);
$del->delete_user(6);
//waarbij 2 de id van de te verwijderen persoon voorstelt
//en 6 de id van de persoon die 2 zal verwijderen
?>
$del = new Users;
$del->User(2);
$del->delete_user(6);
//waarbij 2 de id van de te verwijderen persoon voorstelt
//en 6 de id van de persoon die 2 zal verwijderen
?>
Zie je nu het verschil? De laatste is goed
ok, ik zal eens testen, dus het is effectief mogelijk om een object te maken van de klasse waarin je die maakt ?
WTF?
en het werkt
maar het zou anders ook gewerkt hebben met klasse User en functie User
de delete_userid werd namelijk niet correct doorgegeven aan het nieuwe object
maar ben dus toch iets te weten gekomen:
een object maken in een klasse uit diezelfde klasse werkt dus in php, geen problemen met environment !!!