OOP gastenboek

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Technical Lead Developer met doorgroei mogelijkhed

Voor een toonaangevende specialist in softwareoplossingen gericht op strategisch portfolio management ben ik op zoek naar een ambitieuze Technical Lead. De applicatie is volop in ontwikkeling. Zo worden er vele nieuwe functionaliteiten toegevoegd in .Net Core en staat een migratie naar de Azure op de planning. Om deze ontwikkeling te begeleiden en het team aan te sturen, zijn ze op zoek naar een ambitieuze Technical Lead. Wat je gaat doen: Een roadmap maken voor de komende jaren De juiste architectuur neerzetten, hands-on ontwikkelen (front-end en back-end) De migratie naar Azure begeleiden Het 8-koppige ontwikkel team inhoudelijk aansturen en coachen Communicatie

Bekijk vacature »

Software Developer / Java / Python / React / Big D

Bedrijfsomschrijving Bij dit grote, innovatieve technische bedrijf wil men graag flink groeien dit jaar, namelijk van zo'n 100 naar 120 mensen. In de afgelopen jaren is er hard gewerkt om een nieuw software product op de markt te zetten ter ondersteuning van hun fysieke producten en omdat dit een groot succes is, wordt het nu uitgerold over het hele bedrijf en daarmee een groot deel van de wereld. Er is dus werk aan de winkel! Jij werkt in het Big Data team waarbij je de UI ontwikkelt waar inzicht gegeven wordt in de enorme hoeveelheden data. Vanuit duizenden sensoren komen

Bekijk vacature »

Senior .NET Developer gezocht (C#, .NET Core, Azur

Bedrijfsomschrijving Mijn klant is een middelgrote organisatie, gevestigd in Wassenaar. In totaal werken hier inmiddels ruim 25 personen, waarvan ongeveer de helft als Software Developer werkt. Het is een uiterst professionele organisatie waar ontzettend mooie producten gebouwd worden, maar waar toch een hele prettige en informele sfeer hangt. Iedereen krijgt de ruimte om zichzelf te zijn en ieder zijn inbreng wordt gewaardeerd. Dit is ook een belangrijke kernwaarde binnen de organisatie; iedereen moet zichzelf kunnen zijn en de ruimte krijgen om binnen een relaxte sfeer zichzelf verder te ontwikkelen. Het is een financieel gezonde organisatie waar, dankzij aanhoudende groei, nu

Bekijk vacature »

Advanced Mendix Developer Order Management Systeme

Advanced Mendix Developer Order Management Systemen (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende e-commerce markt? Je doet dit bij PostNL door met je DevOps team onze Mendix applicaties verder te ontwikkelen, waarbij je complexe logistieke business processen vertaalt naar applicaties die ons primaire proces ondersteunen". Wat ga je doen? PostNL wordt een postal tech company We nemen de ontwikkeling van onze IT applicaties in eigen hand door onze eigen software-ontwikkel-capability op te zetten. Als Advanced Mendix Developer ben je onderdeel van een multidisciplinair, agile werkend Business-IT-team. Samen met dit team bouw je onze logistieke IT-applicaties verder

Bekijk vacature »

.NET developer

Bedrijfsomschrijving Als Senior .NET developer ga je werken in een DevOps team aan state-of-the-art oplossingen voor diverse opdrachtgevers. Denk hierbij aan het van scratch af aan bouwen van oplossingen, platformen, apps en andere portalen waar grote hoeveelheden data, AI en loT centraal staan. Zo is de organisatie onder andere bezig met het bouwen van een platform wat gebouwen middels tal van sensoren in kaart brengt en alles wat daarbij komt kijken. Zo kan iedereen in een opslag op een plattegrond zien welke ruimte bezet, gereserveerd of vrij is en wordt dit gekoppeld met andere diensten, bijvoorbeeld richting schoonmakers die weten

Bekijk vacature »

Fullstack Developer Aurelia C#

Bedrijfsomschrijving Als Fullstack developer kom je te werken bij een gerenommeerde organisatie in de regio Ede waar gewerkt wordt aan een bedrijfskritische applicatie dat opereert binnen een complexe IoT- en web based omgeving. Deze oplossingen worden internationaal uitgerold en worden zeer veel gebruikt in de infra branche. Samen met je team (bestaande uit twee testers, zes ontwikkelaars een Scrum Master en Product Owner) ga jij werken aan de nieuwe webapplicatie dat aan duizenden machines en voertuigen gekoppeld wordt. Deze applicatie wordt gebruikt door onder andere rijksoverheden, vliegvelden maar ook binnen industrie-, lokale- en provinciale gebieden in zowel binnen als buitenland.

Bekijk vacature »

Support Engineer

Support Engineer Ben jij communicatief sterk? En word jij blij als onze klanten dat ook zijn? Lees dan zeker verder! Wie zijn wij? KindPlanner Software is een ambitieuze en snelgroeiende softwareleverancier die zich richt op de kinderopvangbranche. Haar product KindPlanner is een 100% cloudoplossing die het kantoor, de locaties en ouders met elkaar verbindt waardoor slimmer en eenvoudiger gewerkt kan worden. De software wordt in eigen beheer ontwikkeld vanuit Leiden, waar ook de overige onderdelen zoals sales en consultancy gevestigd zijn. Je komt te werken in een team waar resultaat en plezier hand in hand gaan en werkt vanuit een

Bekijk vacature »

Senior BI Developer gezocht voor de transportsecto

Bedrijfsomschrijving Voor een IT bedrijf die actief is binnen de Transport en Logistiek ben ik zoekende naar een Senior BI Specialist met sterke ETL skills. Je komt te werken binnen een jong en dynamisch team van 12 collega's waarin je transportorganisatie helpt om meer data gedreven te werken. Ze werken hier volgens de Scrum werkwijze middels sprints en afwisselende doelstellingen die bijvoorbeeld gericht zijn op het uitbreiden van de Datawarehouse of het creëren van Power BI oplossingen. De werkwijze is hier pragmatisch en no-nonsense met natuurlijk oog voor klant en collega's. Daarnaast houden ze van games en een lolletje op

Bekijk vacature »

Desktop Support Engineer

WHO WE ARE AND WHAT WE DO IMC is a leading global market maker, using algorithmic trading and advanced technology to buy and sell securities on multiple trading venues worldwide. We provide liquidity to the financial markets, driving efficiencies for buyers and sellers. Founded in 1989, we are an ambitious, innovative company and identified early on the importance technology would play in the fast-paced evolution of trading. This entrepreneurial spirit still drives us today and can be found in all of our offices around the world. IMC – Where Technology drives Trading Trading nowadays happens in a highly competitive technological

Bekijk vacature »

Fullstack .NET developer voor de sociale sector

Bedrijfsomschrijving Dit mooie bedrijf is al ruim 30 jaar actief binnen de sociale sector. Ze helpen mensen met een afstand tot de arbeidsmarkt naar werk toe, maar ook op het gebied van zorg en welzijn dragen zij hun steentje bij. Dit doen ze inmiddels niet alleen meer in Nederland maar ook over de landsgrenzen heen. Het bedrijf is nu 700 man groot en de IT afdeling is ondersteunend aan de business en bestaat nu uit 20 medewerkers verdeeld over 2 development teams. Functieomschrijving Je komt te werken binnen een van de development teams. Je gaat werken aan portalen voor de

Bekijk vacature »

Full stack Developer meteorologische en hydrologis

Als C#.NET Developer geef jij klanten inzicht in hun meteorologische en hydrologische datagegevens. Denk hierbij aan gegevens over wind, zicht, temperatuur en neerslag, maar ook stroming of golven. Je werkt voor internationale klanten in de scheepvaart, luchtvaart en offshore. Het is een functie met veel vrijheid en eigen initiatief , waarbij je uiteenlopende klant vragen vertaald naar nieuw te ontwerpen software oplossingen. Wat vragen zij: Afgeronde HBO of WO studie richting Informatica, ICT of soortgelijk; Minimaal drie jaar C#/.NET ervaring; Ervaring met HTML, CSS, Angular, Typescript en CI; Ervaring met Azure is een pré; Je beheerst de Nederlands en Engelse

Bekijk vacature »

GEO-ICT/Smallworld GIS Ontwikkelaar - Utilities

Bij onze klanten vormen Geographical Information System (GIS) systemen de basis van Asset Data Management. Zie jij het als een uitdaging om als onderdeel van een DevOps team de systemen van onze klanten mee te helpen vormgeven en continu te verbeteren? Wat ga je doen? Ons team heeft als doel nog relevanter te worden voor onze klantengroep van netbeheerders. Wij hebben een grote GEO-ICT practice en daarmee zijn we in staat een fundamenteel deel van de basisregistratie van assets voor onze klanten vorm te geven. Dat doen we door het bedenken van concepten, onze klanten te adviseren op GEO-ICT gebied

Bekijk vacature »

.NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

IT Traineeship, open voor alle studieachtergronden

IT Traineeship Zonder IT opleiding aan de slag in de IT, de meest innovatieve bedrijfssector op dit moment? Dat kan! Ontdek je innerlijke IT’er tijdens de Calco MasterClass. Een uniek IT traineeship waarin wij ambitieuze nog-niet IT’ers opleiden tot hét talent van de toekomst. Crisis of geen crisis, baanzekerheid in deze sector is nagenoeg 100%! Onze opdrachtgevers zitten door heel het land. Iets voor jou? We vertellen je graag meer! Over de Calco MasterClass De eerste twee maanden van de Calco MasterClass word je opgeleid in ons opleidingscentrum in Amsterdam (uiteraard met inachtneming van de corona maatregelen en een hieraan

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De organisatie heeft ook een adviserende rol, omdat het de klantprocessen raakt en de markt constant in beweging is. Je werkt voor toonaangevende klanten, waaronder o.a. grote financiële dienstverleners, overheidsorganisaties, verzekeringsmaatschappijen en telecombedrijven. De organisatie wordt gekenmerkt als een

Bekijk vacature »
Reshad F

Reshad F

26/04/2012 23:02:53
Quote Anchor link
het is misschien al wat laat, maar ik plaats het toch! ik heb inmiddels een gastenboek gemaakt d.m.v. een tutorial op webdevils. alleen doet hij het niet helemaal.. ik snap ook niet hoe ik het gebruiken moet. graag jullie hulp!

dit is wat ik heb tot nu.

class
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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
class Gastenboek {

            private $reacties;
            private $bestand;

            public function __construct($bestand) {

                $this->bestand = $bestand;
            }


            public function reactie_toevoegen(Reactie $reactie) {

                $fp = fopen($this->bestand, 'a');
                fwrite($fp, $reactie->weergeven());
                fclose($fp);             }

            public function weergeven() {

                return '<div id="gastenboek">' . file_get_contents($this->bestand) . '</div>';
            }
    }


    class Gebruiker {

            private $naam;
            private $email;
            private $website;

            public function __construct($naam, $email, $website) {

                $this->naam = $naam;
                $this->email = $email;
                $this->website = $website;
            }


            public function reactie_plaatsen(Gastenboek $gastenboek, $reactie) {

                $reactie = new Reactie($reactie, $this, date('d-m-Y'), date('h:i'));
                $gastenboek->reactie_toevoegen($reactie);
            }


            public function weergeven() {

                if($this->website != null)
                    return '<a href="' . $this->website . '" >' . $this->naam . '</a>';

                else
                    return $this->naam;
            }
    }


    class Reactie {

            private $Gebruiker;
            private $reactie;
            private $datum;
            private $tijd;

            public function __construct($reactie, Gebruiker $gebruiker, $datum, $tijd) {

                $this->reactie = $reactie;
                $this->gebruiker = $gebruiker;
                $this->datum = $datum;
                $this->tijd = $tijd;
            }


            public function weergeven() {

                return '<div class="reactie">
                        <span class="geplaatst">Geplaatst door: '
. $this->gebruiker->weergeven() . ' op
                        <strong>'
. $this->datum . '</strong> om
                        <strong>'
. $this->tijd . '</strong></span>
                        <p>'
. $this->reactie . '</p></div><br />';

            }
    }

?>


en ik heb in mijn index.php dit gezet

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

 $gastenboek
= new Gastenboek ('gastenboek.txt');
    echo $gastenboek->weergeven();

    $gastenboek = new Gastenboek ('gastenboek.txt');
    $gebruiker = new Gebruiker($_POST['naam'], $_POST['email'], $_POST['website']);
    $gebruiker->reactie_plaatsen($gastenboek, $_POST['reactie']);
         
     ?>


<form method="post">

<div>

<input type="text" id="naam" name="naam" placeholder="naam">
</div>
<div>
<input type="email" id="email" name="email" placeholder="email" requierd>
</div>
<div>
<input type="website" id="website" name="website" placeholder="website">
</div>

<div>
<input type="textarea" id="reactie" name="reactie" placeholder="reactie">
</div>

<div>
<input type="submit" value="plaats reactie">
</div>
</form>

?>

ik krijg de volgende problemen/foutmeldingen:

undefined *** over deze regels ( nu zou ik in flat php wel weten hoe dit op te lossen maar hoe zou ik dit nu aan pakken?)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
    $gebruiker
= new Gebruiker($_POST['naam'], $_POST['email'], $_POST['website']);
    $gebruiker->reactie_plaatsen($gastenboek, $_POST['reactie']);
?>


verder elke keer als ik refresh dan zie ik

Geplaatst door: op 26-04-2012 om 10:51

verder niets..

en dan alleen het form ( wat ik niet weet hoe nu aan te sluiten op het php gedeelte )

kan iemand me een opstapje geven hoe nu verder?
 
PHP hulp

PHP hulp

08/05/2021 15:34:18
 
- Ariën -
Beheerder

- Ariën -

26/04/2012 23:08:54
Quote Anchor link
Dit staat verder gewoon los van de class.... Je moet gewoon met $_SERVER['REQUEST_METHOD']=="POST" controlen of je formulier verstuurd is. ZO ja, dan roep je die class in $gebruik aan, zoals je nu al doet.
Gewijzigd op 26/04/2012 23:09:16 door - Ariën -
 
Wouter J

Wouter J

26/04/2012 23:15:10
Quote Anchor link
Tevens je hebt een code geschreven maar je weet niet hoe je het moet gebruiken? Sorry, maar dat komt bij mij over van ik heb iets gecopypast en begrijp eigenlijk de hele gedachte er niet achter.

Probeer scripten echt te begrijpen, probeer niet zomaar te denken 'ach dat legt iemand straks wel uit of dat hoef ik niet te weten'. Nee, OOP is nadenken. Het grootste verschil tussen flat PHP en OOP PHP is dat flat gewoon neer wordt gekwakt zonder enig denken erachter en dat je bij OOP eerst wel een uur nadenkt over hoe je iets goed maakt en dan pas gaat scripten.

Ik denk, zoals erwin al in een vorige topic van je aangaf, dat OOP nog wat te hoog gegrepen is. Probeer eerst normale PHP scripts goed te begrijpen en na te denken over normaal PHP en dan pas verder te gaan naar OOP.
 
Reshad F

Reshad F

26/04/2012 23:19:02
Quote Anchor link
@wouter ik snap wat het doet en de gedachtegang ook.. het werkt ook maar zoals in mijn Starttopic hij plaatst gewoon lege inhoud als ik het formuliertje niet invul.

in flat php zou ik zoals aar zegt $_SERVER['REQUEST_METHOD']=="POST" gebruiken.

maar hoe dit nou in OOP?

kan ik dit ook gewoon gebruiken of moet ik daar ook een ( form control class ) voor schrijven.

overigens snap ik ook niet hoe undefined errors op te lossen in OOP maar dat zou niets met de logica te maken moeten hebben toch? dat is gewoon weten hoe en klaar.. neem ik aan..

Toevoeging op 26/04/2012 23:21:19:

edit: een voorbeeld van wat ik nu allemaal heb

development.reshadfarid.nl
Gewijzigd op 26/04/2012 23:21:39 door Reshad F
 
Wouter J

Wouter J

26/04/2012 23:21:23
Quote Anchor link
Voor OOP kun je ook gewoon flat PHP gebruiken om klassen aan te roepen, dat moet toch een keer gebeuren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    // saaie validatie (eventueel een FormValidate klasse)
    $user = new User($_POST['from']);
    $post = new Post($user, $_POST['title'], $_POST['description']);

    $post->save();
}

?>
 
Reshad F

Reshad F

26/04/2012 23:25:12
Quote Anchor link
hmm dit snap ik nu. toegepast en heb alle errors weg zoals het hoort ook! maar nu wil ik de input controleren.. wordt dit doorgaans in OOP gedaan of met flat php?
 
Wouter J

Wouter J

26/04/2012 23:27:16
Quote Anchor link
Je kan een FormValidte klasse aanmaken om dit te doen, is wel zo OOP. Alleen je kan het ook met flat PHP doen.

Het is een beetje hoe je zelf vind hoever je moet gaan. Je kan zover gaan als in talen als JAVA of C# waarbij je alleen nog maar MyApp::main() hoeft aan te roepen en dat dan alles gaat werken. Maar je kan het ook wat minder OO houden en ook wat flat erbij gooien.
 
Ozzie PHP

Ozzie PHP

26/04/2012 23:30:13
Quote Anchor link
Reshadd, niet vervelend bedoeld hoor, maar gezien je posts van de afgelopen dagen heb ik het idee dat je beter eerst wat basis PHP kennis kunt opdoen. Aan de hand van de vragen die je stelt krijg ik namelijk het idee dat het aan wat algemene PHP kennis ontbreekt. Ik denk dat je nu even iets teveel boven je niveau bezig bent. Ik denk dat je het zeker wel in je hebt, maar je moet eerst de basis wat beter onder de knie krijgen. Nogmaals, niet lullig bedoeld... ik probeer je alleen de juiste richting in te sturen.
 
Reshad F

Reshad F

26/04/2012 23:38:50
Quote Anchor link
@ozzie ik snap wat je bedoelt.. maar ik denk niet dat dat aan mijn kennis ligt maar aan mijn eigen verwachtingen. ik wil soms zoveel doen dat ik erover ga nadenken en alles in mijn hoofd ga stoppen met hoe en wat alles moet ( logica ) en dat ik daardoor een blackout krijg. dit heb ik overigens niet alleen met programmeren maar ook met gewoon een simpel rekentoetsje waardoor ik niet meer weet wat 2 + 2 was ( nee ik ben niet dyslectisch ) maar vandaar dat ik van mijn stagebegeleider ook zegt dat ik alle stappen op mijn todolist moet zetten en alles moet documenteren zodat als ik iets wil weten mezelf niets moet afvragen maar gewoon opzoeken in mijn documentatie. maar dit gaat ook niet altijd goed ik doe al ruim een jaar php ( daarvoor al meerdere talen gedaan zoals C#, visual basic, klein stukje java ) en op een of ander manier vind ik OOP makkelijker te begrijpen omdat ik die talen ken alleen weet ik niet tot hoever ik een link kan leggen met OOP php en FLAT php zo bijvoorbeeld met de REQUEST_METHOD ik dacht dat ik zelfs daarvoor een class moest gaan schrijven vandaar dat ik vroeg hoe nu verder. al met al denk ik wel dat ik het kan zolang ik alles maar documenteer vandaar dat ik nu met OOP PHP alles op mijn website zet met uitleg txt bestandje ernaast zodat ik alles kan opzoeken. hoop dat ik het zo goed uitgelegd heb :)
 
Ozzie PHP

Ozzie PHP

26/04/2012 23:47:33
Quote Anchor link
Haha, ja hoor je hebt het goed uitgelegd. Ik heb even wat handige tips voor je opgesteld. Leer ze uit je hoofd en leef er naar!

VANAF NU GELDT HET VOLGENDE VOOR JOU:

- Niks moet, ik (Reshadd) hoef echt helemaal niks en heb geen enkele verplichting.
- Om optimaal te presteren, moet ik niet alles tegelijk willen.
- Ik kan niet ineens van A naar Z en daarom doe ik alles STAPJE VOOR STAPJE.
- Als ik aan het programmeren ben, neem ik tussendoor regelmatig RUST.

Zo, laat over een weekje maar eens weten hoe het bevalt ;-)
 
Reshad F

Reshad F

26/04/2012 23:49:12
Quote Anchor link
hahah, je bent niet de eerste die het zegt;) maar bedankt voor de tips! het is inderdaad tijd voor beetje rust dus macbook gaat uit en tv gaat aan! even niet meer programmeren en morgen weer verder :P
 
Ozzie PHP

Ozzie PHP

26/04/2012 23:52:05
Quote Anchor link
Heel goed. Leer mijn tips uit je hoofd, want ik denk dat jij er veel profijt uit zal halen. Veel succes, en... relax ;-)
 
Roel -

Roel -

27/04/2012 00:26:53
Quote Anchor link
Of probeer eens Xcode. Je kunt leuke apps maken voor de iPhone e.d. met Objective-C, hoewel het wel een lastige taal is, heel verschillend van talen als PHP, Java, etc.
 
Olivier -

olivier -

27/04/2012 00:42:13
Quote Anchor link
Beste ,

heb je getest of er een php / html invoer beveiliging is zodat ik geen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php eval($_GET['a']); ?>

kan posten en de hele website kan overnemen?


Groet ,

Olivier
 
Q S

Q S

27/04/2012 00:46:04
Quote Anchor link
Sorry ben hier nog niet lang maar Reshad...... Je legt mooi uit wat je allemaal doet. UML zegt je dan ook wel wat? Vaak wordt dit namelijk als basis gebruikt. M.a.w. Als je object georienteerd wil gaan programmeren dan is een goed plan wel echt nodig, anders is het echt zinloos en kun je het beter bij scripten houden.
 
Pim -

Pim -

27/04/2012 00:52:54
Quote Anchor link
Ik ben het niet met mijn voorgangers eens.
De object-oriëntatie is prima. Je lijkt te snappen hoe er een een relatie kan zijn tussen objecten en hoe dat te gebruiken.

De opslag van je code zit nu alleen iets te diep geïntegreerd met de rest. Probeer eens een gastenboek te maken dat niets met opslag te maken heeft. Denk aan een gastenboek als een 'houder' van berichten. Sla dus gewoon de berichten op in een array. De weergeef functie moet dan itereren (langs elk item gaan) met een foreach loop en dan bij elk bericht de weergeef() functie daarvan aanroepen.

Daarna kan je een opslagmechanisme toevoegen. Het opslaan van de gerenderde, 'weergegeven', HTML is onhandig, omdat het lastig is daar weer die array van berichten te maken. Veel verstandiger is het om het in een database of XML bestand op te slaan. Dan sla je niet de render op, maar alleen de echte informatie (naam, email, etc.). Je kan dan de volgende functies toevoegen:

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
18
19
20
21
22
23
24
25
26
27
28
<?php
class Gastenboek
{
    protected $berichten = array();

    public function opslaan($bestand)
    {

        // Bouw de basis
        foreach($this->berichten as $bericht) {
            // Maak XML van het bericht en voeg deze aan de basis toe
        }
        // Sla het XML bestand op
    }

    public static function laad($bestand)
    {

        // Lees de XML uit
        $gastenboek = new Gastenboek();
        foreach($berichten as $berichtData) {
            $bericht = new Bericht($berichtData['naam'], $berichtData['email'], enz...);
        }

        return $gastenboek;
    }
}

// Dan
$gastenboek = Gastenboek::laad('data.xml');
$gastenboek->weergeven();
?>

Die laatste methode kan je een 'static factory method' noemen, maar daar om je later nog wel achter. Het is gewoon een statische functie die voor je het object opbouwt.
 



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.