php of gelijk oop

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

25/06/2014 06:17:24
Quote Anchor link
Hallo allemaal..

Ben sinds maart bezig met wegdesign en laatste paar weken druk met php.
Nu ben ik laatste tijd steeds meer aan het twijfelen hoe ik alles moet aanpakken. Met alles bedoel ik wat ik precies wanneer moet leren.
Lees ook nu veel code op basis van OOP.

Nu is mijn vraag of ik hier ook gewoon gelijk in moet mee gaan, of eerst goed php zelf onder de knie krijgen, of komt dat laatste vanzelf wel.
Ik ken alleen basis-begrippen en werking van php, ik weet wat functies zijn en hoe ze te gebruiken en varialabe en loopjes.. maar het blijft basis.

Kortom;

aanrader om gelijk met OOP ook te starten, de php kennis komt namelijk gedurende het leerproces. Het is tenslotte een werkwijze
of
eerst goed leren omgaan met PHP, en dan rustig overstappen op OOP.

hoop dat iemand mij hierin kan adviseren.
 
PHP hulp

PHP hulp

18/04/2024 21:30:38
 
Bart V B

Bart V B

25/06/2014 07:07:32
Quote Anchor link
OO programmeren is een werkwijze.
Dat heeft niets mee php te maken.
Php is je stukje gereedschap dat complexe problemen oplost.
Het voordeel van oo programmeren is dat je je code kunt hergebruiken.
Maar dat maakt de oo denkwijze ook een stuk ingewikkelder. Als jij een eenvoudige website aan het bouwen bent en bijvoorbeeld alleen een contact formulier en een gastenboekje wil, dan heeft oo niet zoveel nut. Dan kan je beter functioneel programmeren.

Vaak gebruik je oo als je met een groep mensen aan het zelfde project werkt. Zo krijg je meer een standaard manier van werken.

Wat je ook kunt doen is bijvoorbeeld met een framework gaan werken. Dan is je php tool al een stukje meer bruikbaar.

Denk bijvoorbeeld aan een pagination script. Dan hoef je maar met een paar lijntjes code het te activeren en hoef je niet alles zelf te maken.

Let op!
OO is niet het zelfde als een class schrijven. Je kan een class schrijven zonder dat je de oo denkwijze daarop toepast. Dat is een valkuil waar iedere beginner tegenaan loopt.

Oo wil zeggen in objecten denken.
Bijvoorbeeld een voertuig.
Dat kan wielen hebben ( auto, fiets e.d.)
Een boot is ook een voertuig maar heeft geen wielen, dus daarin roep je een bepaalde methode niet aan, terwijl ze wel allemaal een stuur nodig hebben.
Zo zie je in dit voorbeeld dat je code totaal niets weet van wat het moet doen. Als je dat onder de knie hebt dan word oo denken pas leuk.
 

25/06/2014 07:48:44
Quote Anchor link
Bedankt voor je uitleg.
Ik ben nu inderdaad simpele websites aan het maken maar wil wel groeien tot complexere sites en webshops. Daarom wil ik gelijk een goede start maken door alles op zetten als objecten.

Frameworks wil ik juist niet gebruiken omdat alles zelf wil bouwen en leren ondanks de goede handleidingen bij die frameworks.

Mocht ik toch overstag gaan, dan is het altijd maar de vraag welk framework het "beste' is. Er zijn er redelijk wat dus keuze is ook lastig en misschien persoonlijk.

is OO programmeren ook goed te doen bij kleine websitejes of is dat zeer overtrokken? Ik houd zelf erg van standariseren dus leek mij OO wel goed om een standaard manier te "bouwen" van je php-code.

Veel mensen gebruiken een voorbeeld van OO programmeren met een voertuig of persoon, maar wat is nou een goed voorbeeld van OO programmeren als het gaat om websites?
 
Ward van der Put
Moderator

Ward van der Put

25/06/2014 09:52:22
Quote Anchor link
>> Veel mensen gebruiken een voorbeeld van OO programmeren met een voertuig of persoon, maar wat is nou een goed voorbeeld van OO programmeren als het gaat om websites?

Een website met webpagina's, navigatie-elementen, formulieren, een database, content plus gebruikers is zelf een prima voorbeeld om OOP te leren programmeren :)

Je kunt hier het nuttige met het aangename verenigen door jezelf OOP te leren programmeren in PHP. Het een sluit het ander niet uit, integendeel. Voor alle belangrijke design patterns (OOP-oplossingen van standaardproblemen) kun je op internet en in frameworks wel voorbeelden vinden van implementaties in PHP.
Gewijzigd op 25/06/2014 10:00:14 door Ward van der Put
 
Bart V B

Bart V B

25/06/2014 10:11:14
Quote Anchor link
Om je een voorbeeld te geven hoe het niet moet lijkt me handiger :)
Neem een login systeem.
Dat heeft meestal wat hulp nodig van een database.

Wat doen de meeste beginners:
Ze zetten in de class een mysql database verbinding op.
Maar wacht even... Er zijn ook andere database vormen, bijvoorbeeld postgress, sqlite, mssql.
Dus het inloggen is een object op zichzelf, want die hoeft niet te weten met welke database je praat. Ook de database class is dat. Maar deze hoeft ook niet te weten met welke database dat gebeurt. Want immers kan je naar verloop van tijd van smaak veranderd.

En dat heeft nu het voordeel als je eventueel met een framework werkt.
Daarin zijn die problemen/overwegingen al opgelost.
Ja inderdaad, het gebruiken van een framework is iets heel persoonlijks.
Er zijn frameworks waarin al wat tools zijn verwerkt, een cart library, de ander heeft al een kant en klaar login handler, en er zijn ook nog frameworks die je in onderdelen kan gebruiken.
Enkele voorbeelden van frameworks zijn:
- Codeigniter, eenvoudig echter de toekomst beetje onzeker.
- Laravel, redelijk eenvoudig vrij nieuw eigenlijk sterk lijkent op het grotere broertje symfony.
- Zend framework, nooit mee gewerkt, maar schijnt in onderdelen gebruikt te kunnen worden. Overigen is de handleiding wat lastig te volgen, zeker als beginnend phper.
-
 

26/06/2014 06:40:46
Quote Anchor link
Ben gister wat wezen rondsnuffelen op internet en dan met name tutorials of video's over OOP. Erg lastig om iets te vinden waarbij ze inderdaad een CMS of iets bouwen om een indruk te krijgen. misschien denk ik er ook te lastig over hoor ;)

Uiteraard ben ik ook heel veel frameworks tegen gekomen en daar door raak ik ook nog de weg kwijt. Framework is inderdaad erg handig maar als ik zelf al niet goed hoe ik oop kan/moet gebruiken is het gebruik van een framework denk ik niet makkelijker...

Frameworks die ik tegen kwam waren:
CakePHP
Codeigniter
Laravel
Zend
Simphony
Phalcon

Doordat er zo veel is, ben ik het bos even kwijt..
Stel ik ga inderdaad toch overstag om een framework te gebruiken, welke is dan goed en blijft ook leven en is goed voor beginners. Heb zelf altijd een vervelende tik om snel even de handleiding door te lezen om zo te kijken of ik in 1 oogopslag, de code snap qua logica. Misschien is dat nou juist niet goed omdat ik sowieso nog niet goed OOP snap...

Heb tevens een paar PDF's over OOP zoals:
Apress PHP Object Oriented Solutions,
Packet Object Orient Programming with PHP5

Kent iemand deze boeken en zijn ze beide goed om te lezen qua begrijpelijke taal??
 
Bart V B

Bart V B

26/06/2014 10:15:17
Quote Anchor link
Begin bij het begin. :p
Dat klinkt als een cliche, maar dat is wel zo.
Je moet je project plannen.
In een CMS zitten een aantal onderdelen, het eerste wat in mij zou opkomen is CRUD.
Dat staat voor CREATE READ UPDATE READ, immers is dat zo ongeveer het doel daarvan.
Dus moet je op zoek naar je tool waar dit accent inzit.

Het is heel lastig om te zeggen wat dan het beste php framework is, want dat is erg persoonlijk.
Als ik dan zou kiezen, zou ik voor Laravel gaan. Waarom? Omdat in het laravel CRUD al redelijk ingebakken zit. Ook een login systeem zit al bijna geheel gereed ingebakken. Een goed startpunt is https://laracasts.com/lessons .

Je argument dat je de OO concepten nog niet helemaal snapt begrijp ik, maar dat moet niet het doel zijn.
Vergeet niet dat je gewoon moet beginnen, gaande weg kom je vanzelf handigheidjes tegen waar je van leert. En je versie 1 van je CMS is je startpunt, en versie X je verbeterde. Zo werken alle applicatie makers.
Heb ooit mijn eigen beginnende creativiteiten op een oude harddisk terug gevonden, en dan komt er een grote glimlach op mijn gezicht onder het motto, wat heb ik ooit zitten rommelen.. ;)

Maar je startpunt moet eigenlijk zijn een globale opzet, en het eenvoudigst is om dat met een stukje papier en potlood te gaan opschrijven. Code schrijven is 20 regels code schrijven en 10 verbeteren.
Dat is de laatste fase van het ontwikkelen.
 
Ward van der Put
Moderator

Ward van der Put

26/06/2014 10:29:19
Quote Anchor link
Het eerste boek dat je noemde, zou ik links laten liggen, maar Object-Oriented Programming with PHP5 van Hasin Hayder is inderdaad wel een aardige instap.

Verder zou ik eens kijken naar Head First Design Patterns van Eric Freeman en Elisabeth Freeman. Dat boekt leert je objectgeoriënteerd denken met alledaagse voorbeelden en praktijkproblemen. Dat is een leuke en leerzame basis die je de nodige "intellectuele bagage" voor OO-denken meegeeft.

Als je vervolgens wilt zien hoe design patterns er concreet in PHP uitzien, is Professional PHP Design Patters van Aaron Saray een nuttig naslagwerk. Dat boek besteedt steeds één compleet hoofdstuk aan een design pattern: adapters, builders, decorators, factories, observers, enzovoort, enzovoort.
 

26/06/2014 19:00:45
Quote Anchor link
alvast hartelijk bedankt voor jullie tips en adviezen. eind dit weekend ga ik lekker op vakantie en dan ga ik maar eens lekker wat lezen en proberen.
mijn huidige php-site ga ik ook maar eens onderhanden nemen. heeft enkel gastenboek en foto-gallery en een CMS maar denk dat ik daar wel meer structuur in kan aanbrengen.

zal vast nog wel vaak terugkomen met vragen of problemen, maar tot dusver... bedankt!! (reacties plaatsen mag hierna nogsteeds hoor :) )
 



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.