Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP] Objecten of functies

Gooly
2 antwoorden
  • Ik merk dat ik wat moeite heb met bepalen wat ik in objecten, en wat in functies zet.

    Ik ben momenteel een soort framewerkje met classes en (standaard)functies voor eigen gebruik op te zetten (Een goeie oefening voor deze beginnenden OOPert) Een van de dingen die daar bijvoorbeeld in zitten is het genereren van HTML blokken.
    Een functie om een HTML header te creeeren mbv een templateje (van Doctype tot <body>), een functie om lists te maken adhv een opgegeven array, een functie om een menu te maken adhv een opgegeven array en een stylesheet etc. etc.

    Nu begreep ik dat het wordt aangeraden om opmaak buiten de classes te houden, wat dus zou betekenen dat het genereren van HTML niet in een class thuis hoort. Dit omdat je in een class maar een ding wilt doen, en geen twee. (B.v. data ophalen en die vervolgens echoen) of omdat je designers niet in je classes wilt laten rommelen als ze toch andere HTML code willen hebben.

    Nu had ik al een boel van die HTML blokken in classes gezet, dus ik denk er nu over om die toch maar in een soort van externe (standaard PHP) functie library te zetten. Dan houdt ik toch een beetje het modulaire idee levend en staan ze toch buiten de classes.

    Nu zijn deze overwegingen me duidelijk en kan ik mezelf teminste vragen stellen voordat ik weer een functionaliteit in een class wil zetten. "Regelt het vormgeving of zou iemand het later willen wijzigen?"
    Maar welke overwegingen zijn er nog meer voordat ik kies om iets in een class of een functie te zetten?
  • HTML mag je best in n class zetten maar misschien niet in dezelfde als waarin je gegevens uit een database haalt.

    Als ik jouw verhaal lees zou ik een class maken HTMLDoc. Die heeft een functie HTMLheader(templatename), addList(array items), setStyleSheet(filename).
    Uiteindelijk een functie output() die de HTML teruggeeft of echoot.

    De HTML staat dus wel in n class maar als jejezelf dwingt alle output via deze klasse te regelen, houd je t wel netjes.

    Kijk ook eens naar het Model-View-Controller Model (voor de wat geavanceerdere programmeur). Hier zie je hoe je een scheiding [b:2eba7afaa5]kunt[/b:2eba7afaa5] aanbrengen tussen Controller (user input), Model (gegevens uit bijv. database) en View (output).

    Kortom: vele mogelijkheden met allemaal hun voor- en nadelen. Ik kan daar nu niet te veel op in gaan, dan moet je eerst eea zelf uitvogelen om bekend te raken met de technieken.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.