Algemene structuur beheersysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Xaboteur X

Xaboteur X

16/10/2012 17:04:08
Quote Anchor link
Hallo,

Ik heb een tijdje terug een beheersysteem gemaakt in procedural PHP code.
Nu zou ik dit graag willen omzetten in OO code, aangezien ik het systeem voor meerdere gebruikers wil opzetten, en dus ook toekomstgericht een ordelijk systeem wil hebben.

Ik ben nog niet zo lang bezig met het leren van OOP, maar ik ken wel de basisprincipes.

Wat ik nu wel al zeker weet, is dat het niet makkelijk is om een bepaalde blueprint te schetsen van de nodige classes en methods.
Ik heb veel moeite met het afwegen of ik van iets een class moet maken, of een method in een meer algemene class.

Een voorbeeld hiervan: inloggen.
Kan ik hier best een Login {} class (en file) van maken?
Of zou ik beter een User {} class maken, met een method login() {} ?

In mijn systeem werk ik voornamelijk met tabellen die gegevens bevatten.
Dit vind ik makkelijker om te plaatsen, namelijk een aparte class Table {}, met bijhorende methods.

Het is voor mijn systeem dan ook belangrijk dat ik voor elke User verschillende resultaten kan genereren, maar dat spreekt voor zich.
Kan ik hieruit afleiden dat class User {} één van mijn voornaamste classes gaat zijn?

Alvast bedankt!
Gewijzigd op 16/10/2012 18:42:47 door Xaboteur X
 
PHP hulp

PHP hulp

23/04/2024 15:32:13
 
- Ariën  -
Beheerder

- Ariën -

16/10/2012 17:05:23
Quote Anchor link
Alle methods zijn toch in te delen in welk onderdeel het gebruikt wordt?
Zo is login() een onderdeel van een inlog/sessie class.

Lees ook eens dit:
http://phptuts.nl/view/45/
Gewijzigd op 16/10/2012 17:06:31 door - Ariën -
 
Albert de Wit

Albert de Wit

16/10/2012 17:24:16
Quote Anchor link
offtopic: Algemene structuur beheersysteem
Gewijzigd op 16/10/2012 17:24:27 door Albert de Wit
 
Wouter J

Wouter J

16/10/2012 17:50:39
Quote Anchor link
Eerst een topic waarin Write Down een paar maanden geleden aan hetzelfde grote project begon als hij, daarin heb ik al enorm veel uitgelegd en geef ik ook een best wel uitgebreid voorbeeld die je kan downloaden. Zie dat topic hier: http://www.phphulp.nl/php/forum/topic/ontwerpen-usermanagement/85413/ (zie ook de andere OO topics van Write Down)

Dan inkomen op je vraag:
Wat we met login doen is altijd een groot discussiepunt. Jelmer heeft het ooit eens goed uitgelegd waarom je User en Login klassen zou moeten scheiden: http://www.phphulp.nl/php/forum/topic/starten-met-oop/74690/2/#530213

Ik gebruik veel datamappers om de User te koppelen aan een Database en andersom. Deze datamapper geef ik dan ook een functie login en logout mee, onder de noemer KISS (Keep It Simple Stupid). Dit is ong. gelijk aan de User_Store klasse van Jelmer.
 
Xaboteur X

Xaboteur X

16/10/2012 19:09:48
Quote Anchor link
@Albert de Wit: Aangepast, bedankt.

@- Aar -: Bedankt voor de zeer duidelijke tutorial, heb em helemaal gelezen.

Ik ga zelf nog wat experimenteren..

@Wouter: In dat topic heb je inderdaad zeer veel uitgelegd (wat ik zeker kan gebruiken!), maar voor nu was mijn probleem eigenlijk alleen "het geheel in classes zien".

Voor het gebruik bijvoorbeeld:

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
<?php
    
    require_once('classes/database.class.php');
    
    $db = new Database('host', 'dbname', 'username', 'password');
    
    require_once('classes/login.class.php');
    
    $login = new Login('?');
    $login->checkRights(1);
    
    require_once('classes/user.class.php');
    
    $user = new User('?');
    $username = $user->getName();
    
?>


Maar zoals ik al zei, ik ga eerst nog wat verder experimenteren.
Gewijzigd op 16/10/2012 19:10:09 door Xaboteur X
 
Wouter J

Wouter J

16/10/2012 19:13:35
Quote Anchor link
Je kunt ook eens mijn OO serie lezen: wouterj.nl/serie/orienteer-je-in-objecten/
 
Xaboteur X

Xaboteur X

16/10/2012 19:15:54
Quote Anchor link
Leuke site! Ga het zeker eens doornemen, merci!
 
Xaboteur X

Xaboteur X

20/10/2012 14:25:49
Quote Anchor link
Om hier nog even op terug te komen.. Ik heb mijn overzicht geschetst (zie afbeelding), maar ik moet dus telkens op iedere pagina, voor iedere user, een controle doen op mijn mysql server. En de opgeslagen inhoud op iedere pagina, van iedere user, ophalen op ieder hun server.

Ik zit dus op iedere pagina met twee database connecties (lees server connecties).
Aangezien ik alle users op één plek wil kunnen beheren, lijkt het me niet mogelijk om dit anders te doen, toch?

Wat vinden jullie ervan?

Afbeelding
Gewijzigd op 20/10/2012 14:27:44 door Xaboteur X
 
Ozzie PHP

Ozzie PHP

20/10/2012 15:00:59
Quote Anchor link
Xaboteur, hoe maak je zo'n plaatje?
 
Xaboteur X

Xaboteur X

20/10/2012 15:55:07
Quote Anchor link
Ik heb dat met het SimpleMind Free programma gedaan. Voor Mac OS X.
Maar er zullen vast betere Mindmap apps zijn.
Gewijzigd op 20/10/2012 15:55:41 door Xaboteur X
 
Ozzie PHP

Ozzie PHP

20/10/2012 16:17:50
Quote Anchor link
ah oke... geinig :)

Toevoeging op 20/10/2012 16:19:54:

kwist niet dat mindmap softwrae bestond :)
 
Xaboteur X

Xaboteur X

20/10/2012 16:21:33
Quote Anchor link
Is toch best wel bekend, om je ideeën te schetsen of om te brainstormen. :)
 
Ozzie PHP

Ozzie PHP

20/10/2012 17:21:24
Quote Anchor link
k zal het onthouden... wel handig :)
 
Wouter J

Wouter J

20/10/2012 17:31:48
Quote Anchor link
Voor OO programmeren is een UML diagrammen tool handiger, ik gebruik hier Visual Paradigm. En voor het normale denk en schetswerk heb ik nog voorkeur voor een noteboek, potlood en gum :)

Xaboteur, is elke blok een klasse? En die lijntjes, welke releatie betekend dat?
 
Ozzie PHP

Ozzie PHP

20/10/2012 17:48:37
Quote Anchor link
Thanks voor je aanvulling Wouter.
 
Xaboteur X

Xaboteur X

20/10/2012 18:40:08
Quote Anchor link
Wouter, dat is gewoon een overzicht, nog niet aan classes gedacht.
Login wordt hoogst waarschijnlijk wel een classe ja, inclusief de logincheck.

De gele bubbles moeten een aantal tables voorstellen in mijn database.

Maar hoe ik het wil, volgens bovenstaand schema, moet ik dus telkens twee database connecties gebruiken he?
1. Op elke pagina login controleren met mijn database
2. Ophalen gegevens user (niet-login-gerelateerd) in hun database
Gewijzigd op 20/10/2012 18:42:38 door Xaboteur X
 
Ozzie PHP

Ozzie PHP

20/10/2012 19:18:01
Quote Anchor link
Dat Visual Paradigm is een duur programma Wouter!
 
Wouter J

Wouter J

20/10/2012 19:28:20
Quote Anchor link
Ozzie, de gratis versie niet :) http://www.visual-paradigm.com/download/vpuml.jsp?edition=ce

Xaboteur, als het goed is ga je een database klasse maken (met weer verschillende klassen voor verschillende adapters). Die maak je dan 1 keer per request aan en deel je dan met allebei de klassen.
 
Eddy E

Eddy E

20/10/2012 20:05:33
Quote Anchor link
210 MB om wat vierkantjes te tekenen...... gut, waar gaat het heen met de wereld? Past niet eens op 1 floppy.
 
Wouter J

Wouter J

20/10/2012 20:06:49
Quote Anchor link
Eddy, je weet waarschijnlijk niet wat dat programma allemaal kan...
Gewijzigd op 20/10/2012 20:07:03 door Wouter J
 
Frank Nietbelangrijk

Frank Nietbelangrijk

20/10/2012 20:14:04
Quote Anchor link
Interessant, ff googlen...

Toevoeging op 20/10/2012 20:16:58:

https://bubbl.us/
 

Pagina: 1 2 volgende »



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.