ik wil een functie maken om een gebruiker te verwijderen, maar hier zit een controle in, namelijk zoiets als control_delete_right, die controlleert of de persoon die wil verwijderen wel het recht ervoor heeft


in code:

<?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

?>

hiervoor heb ik deze classe ontworpen :

<?
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..
<?
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:
<?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

?>
dat is toch hetzelfde niet?
<?php

$verwijder_gebruiker = new User (2);
$verwijder_gebruiker->delete_user (6);
?>
of
<?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

?>
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 ?
ik heb het dus getest,
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 !!!

Reageren