OOP oefen opdrachten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Randstad B.V.- Freelance Senior Fullstack Develope

Startdatum: 01.05.2023 Richttarief: € 75,00 - €85,00 Duur van de opdracht: 1 jaar Uren per week: 40 Werkmodel: Hybride, dinsdag en donderdag aanwezig op kantoor in Diemen en meer wanneer dit nodig is. Functieomschrijving: De ideale kandidaat gaat onderdeel uitmaken van een junior team binnen het foundation domein. Vanuit het foundation domein werkt dit team samen met andere foundation teams en teams uit het online domein (professionals B2B en B2C) voor het bouwen en integreren van HRM functionaliteiten (verlof en benefits) in de persoonlijke portal van Interim Professionals. Er is meer backend werk dan frontend, maar kandidaat moet beiden leuk

Bekijk vacature »

Sportieve Junior C#.NET developer gezocht!

Bedrijfsomschrijving Wil jij werken aan webapplicaties bij de marktleider binnen de branche? Voor een klant in de buurt van Oosterhout ben ik op zoek naar een Fullstack .NET developer. Dit bedrijf bestaat bijna 10 jaar en is inmiddels uitgegroeid tot marktleider in Nederland en heeft tevens kantoren in meerdere landen in Europa. Dit bedrijf bouwt webapplicaties waarbij internationaal enkele honderdduizenden deelnemers, soms tegelijk, een beroep doen op de realtime data uit deze applicaties. Dit brengt erg veel technische uitdaging met zich mee. Ze ontwikkelen nieuwe applicaties maar ook bestaande applicaties worden uitgebreid en verbeterd. Hier kan jij een onderdeel van

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

PHP Developer

Functieomschrijving Wij zijn op zoek naar een PHP Developer met Laravel ervaring! Voor een groeiende werkgever in regio Breda zijn wij op zoek naar een medior PHP developer met Laravel ervaring. Je gaat aan de slag met het ontwikkelen van maatwerk software voor klanten in een specifieke markt. Als PHP developer ben je samen met een gemotiveerd team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het innoveren van informatiesystemen voor klanten in een specifieke branche. Als software developer ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Om

Bekijk vacature »

Airport Developer / System engineer

De functie Als onze nieuwe Airport Developer / System Engineer is je doel om uit nieuwbouw- en onderhoudsprojecten maximale waarde te creëren voor Schiphol Group en haar stakeholders. Vanuit je visie en expertise, maar ook (technologische) ontwikkelingen, wetgeving en beleid vertaal je klantwensen naar een gedegen programma van eisen. In de planontwikkelingsfase werk je nauw samen met Plan Ontwikkelaars om je kennis in te brengen ten behoeve van de kwaliteit van het investeringsvoorstel. Je overlegt met diverse partijen, stelt de vraag achter de vraag en verbindt zo de belangen van de luchthaven, proceseigenaar en asseteigenaar om tot een gedragen ontwikkelopgave

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Lead javascript developer Node.js React

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Back end developer Digital agency

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 20 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

Pagina: 1 2 volgende »

Mr Beronne

Mr Beronne

21/10/2012 15:41:35
Quote Anchor link
Beste Lezers

Ik heb een complete tutorial gevoeld over OOP via http://www.killerphp.com.
Ik heb filmpjes bekeken een pdf gelezen en heb mee
geprogrammeerd met de voorbeelden en begin het nu eindelijk te snappen.

Aan het eind zegt de maker van de tutorial dat je nu oefen opdrachten
moet maken om het nu verder te leren.

Mijn vraag aan jullie is: weten jullie leuke en leerzame oefen opdrachten die ik kan maken
waarbij ik eerst nog niks met een datebase hoef te doen.
Als ik de basis echt goed snap en geen moeite meer mee hebt wou ik verder gegaan
om met OOP opdrachten te maken waarbij een database om de hoekt komt kijken.

Alvast bedankt.
 
PHP hulp

PHP hulp

18/04/2024 20:14:13
 
Andy V

Andy V

21/10/2012 15:44:53
Quote Anchor link
Doe maar een login systeem in OOP daar leer je wel wat uit, of een formulier met controle op fouten

Toevoeging op 21/10/2012 15:46:37:

Maak een formulier waarbij je in de php pagina alleen het formulier ziet en als je het formulier goed invult krijg je een mailtje dat het gelukt is, als het formulier niet goed ingevuld is krijg je geen mailtje maar een foutmelding op je scherm
 
Bas de jong

Bas de jong

21/10/2012 15:47:18
Quote Anchor link
maak een simpele rekenmachine
formulier met textvelden,optievelden,meerkeuzelijst berekenknop,wisknop
zo kun je lekker aan de gang met variabelen

wat betreft het objectgeorienteerde zou je een class kunnen schrijven die verschillende rekenmethoden heeft
de uitdaging is om dan de verschillende formuliervariabelen toe te passen in je classmethoden

mvg bas
 
Frank Nietbelangrijk

Frank Nietbelangrijk

21/10/2012 16:10:01
Quote Anchor link
of maak een eigen datum class met functies als setdate, getdate, firstdayofthemonth() met nederlandse namen voor de dagen van de week en maanden etc etc

of maak een class die een <select> maakt met een constructor en een functie addoption()

of maak een class elements om html elements als <p> en <h1> uit te spugen en maak daarna een 'class
table extends elements' die elements dus gebruikt om een table uit te spugen
 
Wouter J

Wouter J

21/10/2012 16:14:18
Quote Anchor link
Zomaar wat ideeën:
- Maak een menu op een OO methode. Zorg dat je makkelijk en snel een menu kunt aanpassen, met subitem's ect. Je denkt dat dit heel makkelijk is, maar het kan flink ingewikkeld worden (http://github.com/knplabs/knpmenu )
- Maak een form applicatie, hierin kun je een formulier maken en hem ook nog eens afhandelen (ook dit kan moeilijk worden, http://github.com/symfony/Form )
- Maak een hele DOM applicatie. Zorg dat je doormiddel van OO een hele HTML pagina kunt maken.

PS: Inlogsystemen zou ik nog even mee wachten, is een behoorlijk ingewikkeld project.
Gewijzigd op 21/10/2012 16:15:17 door Wouter J
 
Andy V

Andy V

21/10/2012 16:14:58
Quote Anchor link
of maak een class die geld op mijn bankrekening zet
 
Bas de jong

Bas de jong

21/10/2012 16:47:14
Quote Anchor link
Andy V op 21/10/2012 16:14:58:
of maak een class die geld op mijn bankrekening zet

gniffelgniffel
 
Mr Beronne

Mr Beronne

21/10/2012 18:54:24
Quote Anchor link
Mensen bedankt voor de reacties ik ga denk ik de volgende dingen
proberen te maken:

- simpele rekenmachine
- datum class
 
Frank Nietbelangrijk

Frank Nietbelangrijk

21/10/2012 19:23:51
Quote Anchor link
Mr Bham, we zouden het leuk vinden als je ons op de hoogte wil houden.

Het is fijn om te zien dat er mensen zijn die bereid zijn om te leren, Hoe vaak hoor je hier niet 'mensen ik kwam dit script op internet tegen, bla bla en nu kom ik er niet uit...'

Nee eindelijk iemand die het serieus oppakt. Succes met je studie!

Frank
 
Bas de jong

Bas de jong

21/10/2012 20:11:25
Quote Anchor link
succes!
 
Wouter J

Wouter J

21/10/2012 20:12:47
Quote Anchor link
Het lijken me niet echt OO opdrachten. Meer het maken van een klasse die dient als houder van een paar functies ipv als object.
 
Andy V

Andy V

21/10/2012 21:56:59
Quote Anchor link
Inderdaad wouter, vandaar dat ik hier een suggestie doe:

Je maakt een databaseclass, registreerclass, loginclass, rekenmachineclass en een datum class.

als je geregistreerd bent kan je inloggen en als je ingelogd bent kan je het rekenmachine gebruiken

lijkt veel en moeilijk maar dit is eigenlijk nog heel eenvoudig.
Gewijzigd op 21/10/2012 21:57:55 door Andy V
 
Wouter J

Wouter J

21/10/2012 22:06:48
Quote Anchor link
Andy, eenvoudig? Een gebruikerssysteem??? Nou, dan hebben we andere ervaringen...
 
Mr Beronne

Mr Beronne

21/10/2012 23:20:53
Quote Anchor link
Beste mensen,

Ik heb aan de hand van jullie oefen opdrachten de eerste af: Rekenmachine.

Ik heb eerst in html een formulier gemaakt mat daarin 2 input text fields.
Met daaronder 4 radio types: +,-,:,*. en een bereken knop en wis knop.Met de wisknop heb ik nog niks gedaan omdat ik niet weet of ik het wissen in de index.php moet doen of in de class??

Verderop kunt mijn index.php en class_rekenen.php zien maar heb nog enkele vragen.

Als eerst:
Stuur ik alle $_POST variablen naar SetValues die ik afhandel in de class.
Ik heb in mijn index.php allemaal if, eleif statements gemaakt om undefinde errors tegen te gaan en
om te kijken welke operator is geset om hierbij de juiste functie uit de class te halen.

Mijn vraag is:
1: is de class hoe ik hem gemaakt goed (Tips/op en aanmerkingen).
2: kijk ik op de juiste manier welke operator is gepost en daarbij de juiste functie uit mijn klas haal.
3: Hoe ik nu bezig ben is dat wel helemaal OOP gericht.

Mijn index.php file
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
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    <?php include_once("classes/class_rekenen.php"); ?>
</head>

<body>
<?php
    // nieuwe class aanmaken
    $rekenmachine = new Rekenen();
    // Stuur post values
    $rekenmachine->setValues($_POST["waarde1"], $_POST["waarde2"], $_POST["operators"]);    
    
    // functies ophalen uit class maar
    // eerst een vergelijkt voor de operators

    if(isset($_POST["bereken"]) and (isset($_POST["operators"]) == "+")){
        echo "Antwoord: ".$rekenmachine->optellen();
    }
elseif(isset($_POST["bereken"]) and (isset($_POST["operators"]) == "-")){
        echo "Antwoord: ".$rekenmachine->aftrekken();
    }
elseif(isset($_POST["bereken"]) and (isset($_POST["operators"]) == ":")){
        echo "Antwoord: ".$rekenmachine->delen();
    }
elseif(isset($_POST["bereken"]) and (isset($_POST["operators"]) == "x")){
        echo "Antwoord: ".$rekenmachine->keer();
    }

?>

    <h1>Class Rekenmachine</h1>
    <hr />
    <form method="post" action="">
        <table border="0" cellspacing="0">
            <tr>
                <td>Inputfield</td>
                <td><input type="text" name="waarde1" /></td>
                <td><input type="text" name="waarde2" /></td>
            </tr>
            <tr>
                <td>Operators</td>
                <td><input type="radio" name="operators" value="+" />+</td>
                <td><input type="radio" name="operators" value=":" />:</td>
            </tr>
            <tr>
                <td></td>
                <td><input type="radio" name="operators" value="-" />-</td>
                <td><input type="radio" name="operators" value="x" />x</td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" name="bereken" value="Bereken" /></td>
                <td><input type="submit" name="wis" value="Wis" /></td>
            </tr>                                                            
        </table>
    </form>
</body>
</html>


Mijn class reken
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
<?php
class Rekenen {
            
    public $waarde1;
    public $waarde2;
    public $operator;
    
    /*
    * $waarde 1: input waarde field 1
    * $waarde 2: input waarde field 2
    * $operator: +,-, x, :
    */

    public function setValues($waarde1, $waarde2, $operator){
        $this->waarde1 = $waarde1;
        $this->waarde2 = $waarde2;
        $this->operator = $operator;    
    }

    
    public function optellen(){
        $totaal = $this->waarde1 + $this->waarde2;
        return $totaal;
    }

    
    public function aftrekken(){
        $totaal = $this->waarde1 - $this->waarde2;
        return $totaal;
    }

    
    public function delen(){
        $totaal = $this->waarde1 / $this->waarde2;
        return $totaal;
    }
    
    
    public function keer(){
        $totaal = $this->waarde1 * $this->waarde2;
        return $totaal;
    }    
}

?>
Gewijzigd op 21/10/2012 23:22:35 door Mr Beronne
 
Frank Nietbelangrijk

Frank Nietbelangrijk

22/10/2012 00:28:56
Quote Anchor link
hmm wel netjes, alleen de operator in de class wordt niet gebruikt. Je had deze weg kunnen laten of je had de vier laatste functies weg kunnen halen en daarvoor in de plaats één functie met de naam rekenen(). in die functie had je dan met if else aan de hand van operator kunnen delen, vermenigvuldigen, optellen en aftrekken.
Maar verder is dit blijkbaar niet al te moeilijk voor je. Misschien kun je een tweede class schrijven die deze herbruikt? (zoiets als class Worteltrekken extends Rekenen)
 
Andy V

Andy V

22/10/2012 03:03:28
Quote Anchor link
Wouter J op 21/10/2012 22:06:48:
Andy, eenvoudig? Een gebruikerssysteem??? Nou, dan hebben we andere ervaringen...


Volgens mij zie je het wel wat te groot, ik dacht eerder aan een simpel systeempje, account maken met login,wachtwoord,email en zorgen dat je kan inloggen dat is vrij simpel te maken en eigenlijk zelfs een standaard waar je heel vaak mee te maken hebt als je aan verschillende sites werkt, zo ben ik trouwens ook begonnen in het begin is het inderdaad moeilijk maar uit moeilijke dingen daar leer je pas echt iets uit.

Toevoeging op 22/10/2012 03:17:34:

Mr Bham op 21/10/2012 23:20:53:
Beste mensen,

Ik heb aan de hand van jullie oefen opdrachten de eerste af: Rekenmachine.

Ik heb eerst in html een formulier gemaakt mat daarin 2 input text fields.
Met daaronder 4 radio types: +,-,:,*. en een bereken knop en wis knop.Met de wisknop heb ik nog niks gedaan omdat ik niet weet of ik het wissen in de index.php moet doen of in de class??

Verderop kunt mijn index.php en class_rekenen.php zien maar heb nog enkele vragen.

Als eerst:
Stuur ik alle $_POST variablen naar SetValues die ik afhandel in de class.
Ik heb in mijn index.php allemaal if, eleif statements gemaakt om undefinde errors tegen te gaan en
om te kijken welke operator is geset om hierbij de juiste functie uit de class te halen.

Mijn vraag is:
1: is de class hoe ik hem gemaakt goed (Tips/op en aanmerkingen).
2: kijk ik op de juiste manier welke operator is gepost en daarbij de juiste functie uit mijn klas haal.
3: Hoe ik nu bezig ben is dat wel helemaal OOP gericht.

Mijn index.php file
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
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <title>Untitled Document</title>
    <?php include_once("classes/class_rekenen.php"); ?>
</head>

<body>
<?php
    // nieuwe class aanmaken
    $rekenmachine = new Rekenen();
    // Stuur post values
    $rekenmachine->setValues($_POST["waarde1"], $_POST["waarde2"], $_POST["operators"]);    

?>

    <h1>Class Rekenmachine</h1>
    <hr />
    <form method="post" action="">
        <table border="0" cellspacing="0">
            <tr>
                <td>Inputfield</td>
                <td><input type="text" name="waarde1" /></td>
                <td><input type="text" name="waarde2" /></td>
            </tr>
            <tr>
                <td>Operators</td>
                <td><input type="radio" name="operators" value="+" />+</td>
                <td><input type="radio" name="operators" value=":" />:</td>
            </tr>
            <tr>
                <td></td>
                <td><input type="radio" name="operators" value="-" />-</td>
                <td><input type="radio" name="operators" value="x" />x</td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" name="bereken" value="Bereken" /></td>
                <td><input type="submit" name="wis" value="Wis" /></td>
            </tr>                                                            
        </table>
    </form>
</body>
</html>


Mijn class reken
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
<?php
class Rekenen {
            
    public $waarde1;
    public $waarde2;
    public $operator;
    
    /*
    * $waarde 1: input waarde field 1
    * $waarde 2: input waarde field 2
    * $operator: +,-, x, :
    */

    public function setValues($waarde1, $waarde2, $operator){
        $this->waarde1 = $waarde1;
        $this->waarde2 = $waarde2;
        $this->operator = $operator;    
    }

    
    public function optellen(){
        $totaal = $this->waarde1 + $this->waarde2;
        return $totaal;
    }

    
    public function aftrekken(){
        $totaal = $this->waarde1 - $this->waarde2;
        return $totaal;
    }

    
    public function delen(){
        $totaal = $this->waarde1 / $this->waarde2;
        return $totaal;
    }
    
    
    public function keer(){
        $totaal = $this->waarde1 * $this->waarde2;
        return $totaal;
    }    
}

?>


Sorry dat ik dit moet zeggen maar dit is echt veeeel te eenvoudig gemaakt om het OOP te noemen, je kan bij wijze van spreken gewoon de class weglaten en alleen de functies gebruiken veel verschil ga je niet zien in de pagina waar je rekenmachine op staat.

Wat je kan proberen is om het een beetje uitgebreider te maken en dit stukje kan je ook wel kwijt in je class:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
    
    // functies ophalen uit class maar
    // eerst een vergelijkt voor de operators
    if(isset($_POST["bereken"]) and (isset($_POST["operators"]) == "+")){
        echo "Antwoord: ".$rekenmachine->optellen();
    } elseif(isset($_POST["bereken"]) and (isset($_POST["operators"]) == "-")){
        echo "Antwoord: ".$rekenmachine->aftrekken();
    } elseif(isset($_POST["bereken"]) and (isset($_POST["operators"]) == ":")){
        echo "Antwoord: ".$rekenmachine->delen();
    } elseif(isset($_POST["bereken"]) and (isset($_POST["operators"]) == "x")){
        echo "Antwoord: ".$rekenmachine->keer();
    }

dan maak je een extra variabele in je class namelijk: $totaal

en die waarde roep je dan op in je pagina met $rekenmachine->totaal.

je zou eigenlijk alles qua verwerken kunnen doen in je class zelf en proberen met zo weinig mogelijk php code in jou index.php te werken.

bijvoorbeeld alleen met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
    $rekenmachine = new Rekenen();
    // Stuur post values en verwerk en return het resultaat
    $uitkomst = $rekenmachine->uitkomst($_POST["waarde1"], $_POST["waarde2"], $_POST["operators"]);

        echo $uitkomst;


Toevoeging op 22/10/2012 03:52:24:

hier heb je dan mijn versie heb de class er even onder gezet omdat het toch maar 1 class is hopelijk leer je er iets uit:
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="utf-8">
        <title>OOP Rekenmachine</title>
    </head>

    <body>
        <?php
        // nieuwe class aanmaken

        if (isset($_POST["bereken"])) {
            $rekenmachine = new Rekenen();
            // Stuur post values en verwerk alles
            $uitkomst = $rekenmachine->totaal($_POST["waarde1"], $_POST["waarde2"], $_POST["operators"]);
        }

            //ook handig om te weten is de korte tag voor echo namelijk: <?= heel erg handig als je een nette template wil.
            //en de korte if/else ( controle ? juist : fout ) ? staat voor if, : staat voor else

            ?>

        
        <p><?= (isset($uitkomst)? 'Antwoord: '.$uitkomst : '') ?></p>
        
        <h1>Class Rekenmachine</h1>
        <hr />
        <form method="post" action="">
            <table border="0" cellspacing="0">
                <tr>
                    <td>Inputfield</td>
                    <td><input type="text" name="waarde1" /></td>
                    <td><input type="text" name="waarde2" /></td>
                </tr>
                <tr>
                    <td>Operators</td>
                    <td><input type="radio" name="operators" value="+" />+</td>
                    <td><input type="radio" name="operators" value=":" />:</td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="radio" name="operators" value="-" />-</td>
                    <td><input type="radio" name="operators" value="x" />x</td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" name="bereken" value="Bereken" /></td>
                    <td><input type="submit" name="wis" value="Wis" /></td>
                </tr>                                                            
            </table>
        </form>
    </body>
</html>


<?php

class Rekenen {

    public $waarde1;
    public $waarde2;
    public $operator;
    
    /*
     * $waarde 1: input waarde field 1
     * $waarde 2: input waarde field 2
     * $operator: +,-, x, :
     */


    public function totaal($waarde1, $waarde2, $operator) {
        self::setValues($waarde1, $waarde2, $operator);
        return self::bereken();
    }


    public function bereken() {
        switch ($this->operator) {
            case
'+':
                return self::optellen();
            case
'-':
                return self::aftrekken();
            case
':':
                return self::delen();
            case
'x':
                return self::keer();
        }
    }


    public function setValues($waarde1, $waarde2, $operator) {
        $this->waarde1 = $waarde1;
        $this->waarde2 = $waarde2;
        $this->operator = $operator;
    }


    public function optellen() {
        $totaal = $this->waarde1 + $this->waarde2;
        return $totaal;
    }


    public function aftrekken() {
        $totaal = $this->waarde1 - $this->waarde2;
        return $totaal;
    }


    public function delen() {
        $totaal = $this->waarde1 / $this->waarde2;
        return $totaal;
    }


    public function keer() {
        $totaal = $this->waarde1 * $this->waarde2;
        return $totaal;
    }

}

?>

 
Wouter J

Wouter J

22/10/2012 10:11:54
Quote Anchor link
Kijk leuk zo'n rekenklasse en hij zal vast goed werken, alleen je ziet nu ook dat het moeilijk is OOP toe te passen bij zoiets kleins.

De reken klasse is nu gewoon een verzameling functies geworden, een echt object kun je het niet noemen.

Quote:
Volgens mij zie je het wel wat te groot, ik dacht eerder aan een simpel systeempje, account maken met login,wachtwoord,email en zorgen dat je kan inloggen dat is vrij simpel te maken en eigenlijk zelfs een standaard waar je heel vaak mee te maken hebt als je aan verschillende sites werkt, zo ben ik trouwens ook begonnen in het begin is het inderdaad moeilijk maar uit moeilijke dingen daar leer je pas echt iets uit.

Hmm, vrij simpel even de klassen die je dan zo'n beetje nodig hebt: User, UserMapper, MapperInterface, DatabaseInterface, PDODatabase, PDOMySQLDatabase, PDOOracleDatabase, MySQLIDatabase, ...
 
Andy V

Andy V

22/10/2012 11:20:27
Quote Anchor link
Wouter J op 22/10/2012 10:11:54:
Hmm, vrij simpel even de klassen die je dan zo'n beetje nodig hebt: User, UserMapper, MapperInterface, DatabaseInterface, PDODatabase, PDOMySQLDatabase, PDOOracleDatabase, MySQLIDatabase, ...


voor 1 tabelletje met users heb je al die classes helemaal niet nodig, gewoon een class die verbinding maakt met de db en dat je query's ermee kan maken is meer dan genoeg voor een eenvoudig login systeempje. Je ziet het dus idd veel te groot maar ja dat mag ook wel als programmeur, maar omdat dit dan een simpele oefening is om een beetje basis OOP te leren zeg ik het nogmaals dat al die classes niet nodig zijn om een simpele verbinding te maken met een database.
Gewijzigd op 22/10/2012 11:21:31 door Andy V
 
Wouter J

Wouter J

22/10/2012 11:37:27
Quote Anchor link
Andy, je moet als je oefent met OO juist doorhebben dat je je systeem zo flexibel mogelijk kunt maken. Hierdoor moet je doorhebben dat je een verbinding kan maken door het Adapter pattern toe te passen.

En ook moet je doorhebben dat je tussen die Database klasse en de User klasse nog een klasse nodig hebt, een DataMapper of Active Record of een ORM ect.
 
Andy V

Andy V

22/10/2012 11:44:51
Quote Anchor link
Wouter J op 22/10/2012 11:37:27:
Andy, je moet als je oefent met OO juist doorhebben dat je je systeem zo flexibel mogelijk kunt maken. Hierdoor moet je doorhebben dat je een verbinding kan maken door het Adapter pattern toe te passen.

En ook moet je doorhebben dat je tussen die Database klasse en de User klasse nog een klasse nodig hebt, een DataMapper of Active Record of een ORM ect.


dat is in het begin veel te moeilijk als je niet eens weet hoe classes werken, dus ik blijf bij mijn punt. Wat hij net gemaakt heeft is gewoon een class met functies, dus ik neem aan dat hij nog niet helemaal weet hoe dat allemaal in elkaar zit vandaar dat je best eerst iets eenvoudig kan doen, even experimenteren met classes niet meteen groot denken maar gewoon de code leren kennen al is dat niet zo moeilijk maar in het begin kan dat toch best verwarrend zijn allemaal.
 
Wouter J

Wouter J

22/10/2012 11:55:46
Quote Anchor link
Ik zie de code leren kennen meer als stap 2 in het OO leren proces. Ik begrijp daarom ook 95% van alle OO tutorials niet, die hebben maar 1 hoofdstuk over het 'moeilijke OO denken' en daarna 101 hoofdstukken over de syntax van OO. Het nadenken in objecten is juist stap 1, je moet leren dat het niet om de code draait maar om de gedachte erachter (vandaar met slogan 'Een script is meer dan code alleen').
 

Pagina: 1 2 volgende »



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.