Hallo,

Ik ben druk bezig met OOP, van alles aan het lezen hierover, en aan het proberen.

Nu ben ik bezig met een membersysteem, maar aangezien ik niet zeker weet of ik nu wel goed OOP programmeer, wil ik jullie vragen om mijn begin eens te bekijken.

Ik hoop op tips en opmerkingen of dit goed OOP is of niet, graag ook waarom dit wel of niet zo is!

Greets,
Robin

ps. Ik heb nog niet op beveiligingen en dergelijke gelet, het gaat me er nu alleen om of dit goed OOP is of niet.

User Class:
Plaatscode: 136217

Werking Inloggen:
$user = new User;
$user->set_Data( "GEBRUIKERSNAAM", "PASSWORD" );
$user->Login();


Kijken of er al ingelogd is:
if( $user->get_IsLogged() == 1)
	echo "Ingelogd";
else
	echo "Niet!";


get_IsLogged() zou ik veranderen naar IsLogged, en dan in je method return true (of false) dan doe je dus dit.

<?php
if($user->get_IsLogged())
echo "Ingelogd";
else
echo "Niet!";
?>
Je bent op de goeie weg volgens mij, maar het is nog niet helemaal "OOP". Zo hoort een functie checkLogin niet thuis in de klasse User. Dat is een beetje hetzelfde als een vliegtuigpassagier die zijn eigen paspoort moet controleren. Zelfde met set_Session (waarom trouwens hier wel een underscore en bij checkLogin niet?). En md5(sha1(md5($password))) heeft niet heel veel zin op zich.

Maar blijf op deze weg doorgaan, en uiteindelijk zal je wel gaan snappen wat nou precies het object-georiƫnteerde aan OOP inhoudt. :)
Wat ik ook al zei op phpfreakz:

Dit is geen OOP, maar een verzameling functies.

http://wiki.phpfreakz.nl/Categorie:OOP

Als je echt OOP wilt gaan, zou je er eens een framework bij moeten pakken, denk Zend Framework of Symfony (er zijn er natuurlijk nog meer)
iltar van der berg schreef op 24.04.2009 11:13
Als je echt OOP wilt gaan, zou je er eens een framework bij moeten pakken, denk Zend Framework of Symfony (er zijn er natuurlijk nog meer)
Maar als je OOP wilt leren heeft het wel degelijk nut om je zelf te verdiepen in plaats van meteen met frameworks aan de slag te gaan.
return md5( sha1( md5( $password )));

slaat nergens op. een md5 over een sha1 maakt de encryptie niet moeilijker ben ik bang. Als je het beter wilt maken zul je eens moeten googelen op salt 'n pepper.

Reageren