Ik ben op dit moment aan het overwegen om mijn programmeermethodiek aan te passen. Ik werk nu deels object georienteerd, voor Templates, Database en Sessions.
Graag wil ik er naar toe dat practisch alles in objecten verwerkt is. Op die manier hoef ik niet voor elke applicatie een compleet nieuwe structuur op te bouwen, maar kan ik standaard objecten (en tabellen) gebruiken.
Ik weet dat PHP niet optimaal is voor OO programmeren, maar het moet toegankelijk blijven, zodat andere mensen er eenvoudig mee kunnen werken. Mijn ervaring is dat Java o.i.d. minder ingeburgerd is bij mensen die internet applicaties ontwikkelen.
Mijn probleem met deze aanpak voor zover ik dat nu kan overzien is het volgende:
Een object van een class bevat 1 ding, bijvoorbeeld een Persoon, of een Artikel.
Stel dat ik nu alle objecten wil van alle personen die vandaag jarig zijn, dan moet ik per object een query uitvoeren naar de database, dit in tegenstelling tot niet OO, waar je dat in 1 query doet.
Koppel ik het object Persoon los van de database class, oftewel, ik voer geen queries uit in die class, maar gebruik een methode als addPerson(), dan moet ik voor elke class een andere class maken die ik kan gebruiken om 1 of meerdere personen tegelijk uit de database te halen en vervolgens voor elke persoon een Object aan te maken.
Naar mijn mening is dan het voordeel van OO redelijk weg, en belangrijker, je gebruikt een aantal extra stappen om je doel te bereiken.
Ik heb begrepen dat er object georienteerde databases zijn, maar het liefst werk ik met mysql, omdat dit wijdverspreid is en weinig eisen stelt aan de hostingprovider.
Heeft iemand een oplossing hiervoor of een mening hierover met het oog op efficientie, nut e.d.?
Graag wil ik er naar toe dat practisch alles in objecten verwerkt is. Op die manier hoef ik niet voor elke applicatie een compleet nieuwe structuur op te bouwen, maar kan ik standaard objecten (en tabellen) gebruiken.
Ik weet dat PHP niet optimaal is voor OO programmeren, maar het moet toegankelijk blijven, zodat andere mensen er eenvoudig mee kunnen werken. Mijn ervaring is dat Java o.i.d. minder ingeburgerd is bij mensen die internet applicaties ontwikkelen.
Mijn probleem met deze aanpak voor zover ik dat nu kan overzien is het volgende:
Een object van een class bevat 1 ding, bijvoorbeeld een Persoon, of een Artikel.
Stel dat ik nu alle objecten wil van alle personen die vandaag jarig zijn, dan moet ik per object een query uitvoeren naar de database, dit in tegenstelling tot niet OO, waar je dat in 1 query doet.
Koppel ik het object Persoon los van de database class, oftewel, ik voer geen queries uit in die class, maar gebruik een methode als addPerson(), dan moet ik voor elke class een andere class maken die ik kan gebruiken om 1 of meerdere personen tegelijk uit de database te halen en vervolgens voor elke persoon een Object aan te maken.
Naar mijn mening is dan het voordeel van OO redelijk weg, en belangrijker, je gebruikt een aantal extra stappen om je doel te bereiken.
Ik heb begrepen dat er object georienteerde databases zijn, maar het liefst werk ik met mysql, omdat dit wijdverspreid is en weinig eisen stelt aan de hostingprovider.
Heeft iemand een oplossing hiervoor of een mening hierover met het oog op efficientie, nut e.d.?
Ik blijf er iig vrij nuchter onder....