login  Naam:   Wachtwoord: 
Registreer je!
 Forum

OOP project

Offline maigel - 17/01/2009 11:55
Avatar van maigelPHP beginner hey,
Ik wil vanaf nu het meeste doen in OOP php.
Dit zou ik graag leren aan de hand van een "projectje", ik dacht eerst aan een cms zoals joomla en php nuke maar dat leek misschien net al iets te groot voor te beginnen.

Dus, weten jullie soms een project waar je goed OOP mee kunt oefenen?

16 antwoorden

Gesponsorde links
Offline flyingdragon - 17/01/2009 12:15
Avatar van flyingdragon PHP beginner Een forum?
Offline maigel - 17/01/2009 12:16
Avatar van maigel PHP beginner een forum dat deftig te configureren valt is ook al een redelijk groot project volgens mij
Offline vinTage - 17/01/2009 12:21
Avatar van vinTage Nieuw lid Wat heeft het voor zin om een klein ding OOP te scripten dan ?
Offline Rik - 17/01/2009 12:33
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Als een forum te groot is maak je een simpel gastenboek?
Offline jstreuper - 17/01/2009 13:42
Avatar van jstreuper Nieuw lid Een klein CMS voor een kleine website? Houd het klein  
Offline jvs - 17/01/2009 14:10
Avatar van jvs HTML beginner een form klasse zodat je het valideren en aanmaken wat kan automatiseren.
Offline JPW120 - 17/01/2009 14:43 (laatste wijziging 17/01/2009 14:43)
Avatar van JPW120 HTML interesse Database-classe, leer je meteen ook goed mysql, btw lijkt me wel lastig en je hebt er teminste wat aan.  
Offline Flex1986 - 17/01/2009 15:37
Avatar van Flex1986 Gouden medaille

Senior Member
Zoals vinTage al aangeeft. een klein OO project heeft geen zin. Begin met iets groots en je hoeft het uiteraard niet af te maken. Maar zorg wel dat je goed beseft wat OO inhoudt.

Een form class en of database class maakt iets namelijk absoluut niet OO. Dus jvs en jpw120 verdiep je nog eens goed in OO een class is niet gelijk aan OO!
Offline Wim - 17/01/2009 15:59
Avatar van Wim Crew algemeen
Flex1986 schreef:
Zoals vinTage al aangeeft. een klein OO project heeft geen zin. Begin met iets groots en je hoeft het uiteraard niet af te maken. Maar zorg wel dat je goed beseft wat OO inhoudt.

Een form class en of database class maakt iets namelijk absoluut niet OO. Dus jvs en jpw120 verdiep je nog eens goed in OO een class is niet gelijk aan OO!


formvalidatie classe kan toch perfect OO zijn?
Offline nemesiskoen - 17/01/2009 16:09
Avatar van nemesiskoen Gouden medaille

PHP expert
Lees eens een boek over OOA/D en dan zal je zien dat er heel wat meer nodig is dan één klasse om een deftig domeinmodel te hebben.
Offline Flex1986 - 17/01/2009 17:03
Avatar van Flex1986 Gouden medaille

Senior Member
Exact nemesiskoen, Dat is waar ik ook op doelde het is helaas jammer dat OO / OOP een trend woordje is geworden waarbij elke "simpele" programmeur denkt dat hij OO moet gaan werken terwijl ze nog geneens begrijpen wat dit inhoudt.

En dit wordt helaas alleen maar erger omdat juist die personen het andere ook weer compleet fout gaan aanleren :S
Offline Wim - 17/01/2009 17:04
Avatar van Wim Crew algemeen niet TE letterlijk op m'n woorden lezen (als het een reactie op mijn post is).... Je weet best wat ik bedoel en een formvalidatie kan perfect OO geprogrammeerd zijn
Offline JPW120 - 17/01/2009 17:21 (laatste wijziging 17/01/2009 17:25)
Avatar van JPW120 HTML interesse
Flex1986 schreef:
Zoals vinTage al aangeeft. een klein OO project heeft geen zin. Begin met iets groots en je hoeft het uiteraard niet af te maken. Maar zorg wel dat je goed beseft wat OO inhoudt.

Een form class en of database class maakt iets namelijk absoluut niet OO. Dus jvs en jpw120 verdiep je nog eens goed in OO een class is niet gelijk aan OO!

Ik ben dan wel geen expert maar volgens mij kan een database class weldegelijk oop zijn. voorbeeld Lucas lijkt mij ook niet de eerste de beste scripter.
Citaat:
Object Oriented Programming, ook wel afgekort tot OOP, is een manier van programmeren waarbij je al je code in classes stopt. Deze classes hebben een bepaalde structuur, waardoor je code simpel kunt terugvinden en de code makkelijk uit te wisselen is. Vaak omschrijf je de structuur van classes via verantwoordelijkheden:

Bron .phpfreakz

Dat was waarom ik dacht dat het wel het zelfde was, maar aangezien ik een beginner ben, Felx1986 wat is dan wel het verschil?
Offline Wim - 17/01/2009 17:45
Avatar van Wim Crew algemeen dit kan je wel helpen: http://wiki.phpfreakz.nl/OOP_Toepassen
Offline Flex1986 - 17/01/2009 17:50 (laatste wijziging 17/01/2009 17:53)
Avatar van Flex1986 Gouden medaille

Senior Member
Het is natuurlijk wat jij maar net onder een database class verstaat. Een class die een database implementeert is niet per definitie OO omdat het in een class zit. Daarom vindt ik de beschrijving van phpfreakz ook niet bepaalt verduidelijkend.

Ik gebruik zelf vrijwel nooit de term OOP (Object Oriented Programming) maar OO (Object Orientation) omdat OO verder gaat dan alleen de programmeer taal er komt namelijk veel meer bij kijken.

Als je iets OO gaat opbouwen dan start je sowieso met het uitdenken van je project dit kan middels UML of andere methoden. Dit komt meestal neer op veel documenten en diagrammen maken. In dit stadium heb je dus nooit te maken met de P (Programming) de taal staat waarin je gaat programmeren staat daarom ook nog niet vast.

De objecten die je uitwerkt zijn meestal een representatie waar je programma in de werkelijkheid mee te maken heeft. Bijvoorbeeld Auto is een object wat de attributen kleur en aantal deuren heeft. Dit heeft de website van de garage nodig de class FormValidatie is daarin geen Object binnen het ontwerp. Maar kan wel OO opgebouwd zijn.

Daarna ga je uitgedachte Objecten uitwerken in je gekozen programmeer taal. Meestal komt daarbij het MVC (Model View Controller) patroon om de hoek kijken. Hier heb ik mezelf nog niet in verdiept maar ik geloof dat het er op neer komt dat de M je Objecten zijn die je in je ontwerp hebt. De V verzorgt de presentatie van de gegevens die de M bezit. En de C is daarbij het geen wat het geheel met elkaar verbind die bijvoorbeeld uit de database alle Objecten van het type Auto met de kleur rood ophaalt.

Een class is dus niet per definitie een goed uit gedachte Object Geörienteerde implementatie.

Ik hoop dat ik het een beetje goed uitleg en dat het natuurlijk correct is  Ik hoor het graag als ik ergens naast zit.

@TopicStarter: Koop een boek die bij hogescholen / Universiteiten worden gebruikt om OO te leren. Maar ga niet te veel af van het Internet aangezien hier vaak verkeerde of niet compleet uitgewerkte tutorials staan.

Edit: Uit de pagina waar wimmarien naar verwijst. Volgens mij ook een redelijk verhelderend gebeuren. Maar ik blijf bij me statement dat internet niet de plek is om correct OO te leren ;)

Voor beginnende programmeurs is de stap naar OOP een moeilijke stap. De meerwaarde van object oriëntatie wordt niet begrepen en men ziet classes slechts als een ‘collectie van functies’. Meeste voorbeelden kunnen ook gemakkelijk naar PP (Procedure Programming) vorm geschreven worden, waardoor de meerwaarde van OOP niet gezien wordt. Bovendien vergt OOP een totaal andere denkwijze dan PP. Bij PP werk je van event tot event: ‘als dit gebeurt, dan doe ik dat en als dat gebeurt doe ik dit’. OOP daarentegen vergt meer overzicht: ‘Welke objecten ga ik nodig hebben, wat zijn de eigenschappen van het object en wat moet het object kunnen?’

Het meest zichtbare verschil is hoe er met de code wordt omgesprongen. Functies worden gebruikt in een veelvoud aan bestanden en daardoor ontstaan er afhankelijkheden. Dat komt de schaalbaarheid van je applicatie niet ten goede. Object oriëntatie zorgt juist voor zo min mogelijk afhankelijkheden, omdat alle verantwoordelijkheden plaatsvinden binnen objecten.
Offline JPW120 - 17/01/2009 18:22
Avatar van JPW120 HTML interesse @ wimmarien en Flex1986 bedankt voor jullie reactie .
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s