MVC

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Software Developer je verantwoordelijk voor: - Je werkt voortdurend aan oplossingen voor het op afstand bewaken en besturen van oogstmachines; - Het visualiseren van gegevens in rapporten, apps of andere formaten; - Voorspellend machineonderhoud; - Taakplanning; - Je schrijft aangepaste plug-ins om gegevens te importeren of exporteren

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Full stack Python developer

Functie Samen met andere collega’s (een product owner, een software manager en een ervaren ontwikkelaar) ga jij onze producten verder ontwikkelen. Jouw verantwoordelijkheden zullen bestaan uit: – Verder wil gaan met de ontwikkeling van onze bestaande producten; nieuwe features! – Meedenkt over de roadmap van onze producten – Als sparringpartner kan optreden op het gebied van development – Zelf ook nieuwe ideeën op tafel durft te leggen en deze van scratch af aan wilt bouwen Hieronder ook een paar voorbeelden van projecten waar we momenteel mee bezig zijn of binnenkort aan willen beginnen: – Real-time interactie creëren in onze web

Bekijk vacature »

Java Programmeur

Functie Heb jij altijd al samen willen werken met ervaren java ontwikkelaars dan hebben wij hier de ultieme kans voor jou! Voor een opdrachtgever in omgeving van Naaldwijk zijn wij op zoek naar uitbreiding van het vaste ontwikkel team. Je zult je hier voornamelijk bezig gaan houden met; Wijzigingsverzoeken van klanten uitvoeren, hier wordt je diep in betrokken; Samen met consultants sluit je aan bij gesprekken met klanten, voor alle projecten; Je schakelt veel met consultants, wat is de behoefte van de klant? Hoe kan je hierop integreren?; Het framework moet naar de Cloud gebracht worden, je wordt betrokken bij

Bekijk vacature »

Senior developer (PHP en VB.NET)

Functie De development afdeling bestaat uit 2 teams. Het productteam (10 developers) is verantwoordelijk voor verschillende applicaties met als doel om zoveel mogelijk te automatiseren en uit te werken tot standaard software. Met diverse Solutions Architecten en ervaren developers denken ze voortdurend mee met hun klanten en bouwen ze de basis van het uiteindelijke maatwerk dat wordt geleverd. Hiernaast hebben ze een maatwerk/projectteam. Dit team bestaat momenteel uit 8 developers (junior tot senior) en is verantwoordelijk voor het maatwerk in hun klantprojecten. Momenteel zijn ze op zoek naar een senior developer die aan de slag gaat in het productteam. Hierin

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 »

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 »

Senior Applicatie ontwikkelaar Java

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving We verwachten van je,

Bekijk vacature »

Java Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Dordrecht zijn wij op zoek naar versterking voor op de afdeling Software Development! Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij recent jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een erkende werkgever in regio Waalwijk zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je brengt de aanpassingssuggesties van klanten in kaart, om ze

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »
Steen

steen

02/01/2010 23:58:00
Quote Anchor link
Beste PHP'ers,

Ik heb van de volgende site een MVC-pattern (of wat het ook precies moet voorstellen gedownload):
http://www.phpro.org/tutorials/Model-View-Controller-MVC.html
(het .tar.gz bestand bevat alleen geen .htaccess, de code staat op de site)

Nu wil ik dit uitbreiden met een database, maar wil ik de sql scheiden uit de controller (model). Hoe moet nu bijvoorbeeld een indexModel.class.php er uit zien?
 
PHP hulp

PHP hulp

21/11/2024 14:53:16
 
Steen

steen

04/01/2010 14:43:00
Quote Anchor link
bump
 
Bas IJzelendoorn

Bas IJzelendoorn

04/01/2010 15:00:00
Quote Anchor link
Vind je vraag onduidelijk. en betreft

Quote:
Hoe moet nu bijvoorbeeld een indexModel.class.php er uit zien?
[/qoute]


hoort dit niet onder aanvragen of vacatures. Je moet zelf wel met een opzetje anders komen.
Gewijzigd op 01/01/1970 01:00:00 door Bas IJzelendoorn
 
Jelmer -

Jelmer -

04/01/2010 15:20:00
Quote Anchor link
Je model is meer een naam om een deel van je code aan te geven. Alle code die je gebruikt om in essentie te doen wat je wilt doen is je model. Alle code die daaromheen nodig is, zoals het afhandelen van forms, het genereren van queries, het omzetten van forumposts in HTML, is dat niet. Je model is je business logic, en eigenlijk dat wat je hele applicatie zou zijn als je direct PHP code zou kunnen lezen en uitvoeren en geen website eromheen nodig zou hebben.

Dus je hebt geen indexModel, omdat index een onderdeel is van het weergeven, en niet van dat wat je wilt weergeven.

Bij een gastenboek bestaat je model bijvoorbeeld uit een class Bericht, en een class Berichten_Store. Dit zijn de enige twee classes die beschrijven hoe daadwerkelijk berichten in het gastenboek komen, en hoe die berichten eruit zien.

Dus de hamvraag is meer: Wat wil je maken?
 
Steen

steen

04/01/2010 15:22:00
Quote Anchor link
Nee dit is écht geen vacature =). Ik zou graag willen weten hoe ik zo'n pattern uit zou moeten breiden. Er is alleen een database class gegeven, maar niet het gebruik daarvan. Nu zou ik de sql-code gescheiden willen hebben (een Model), maar ik weet niet precies hoe ik dit aan zou moeten pakken.
 
Henk PHP

Henk PHP

04/01/2010 17:21:00
Quote Anchor link
@Jelmer, in die classes Bericht en Berichten_Store kunnen wel queries zitten toch? ookal zijn ze het model?
 
Mr D

Mr D

04/01/2010 17:28:00
Quote Anchor link
De queries naar je database voer je op een plek uit, de queries voor het opslaan en ophalen van berichten voer je allemaal uit in je Berichten_Store. Als je Berichten_Store bijvoorbeeld een method getAll() heeft voert deze method de query uit en returnt vervolgens en ArrayObject of een gewone array van Bericht objecten
Gewijzigd op 01/01/1970 01:00:00 door Mr D
 
Henk PHP

Henk PHP

04/01/2010 18:07:00
Quote Anchor link
Mr D schreef op 04.01.2010 17:28:
De queries naar je database voer je op een plek uit, de queries voor het opslaan en ophalen van berichten voer je allemaal uit in je Berichten_Store. Als je Berichten_Store bijvoorbeeld een method getAll() heeft voert deze method de query uit en returnt vervolgens en ArrayObject of een gewone array van Bericht objecten

Maar de Berichten_Store kan dus wel een query (naar de database) uitvoeren?
 
Jelmer -

Jelmer -

04/01/2010 20:41:00
Quote Anchor link
Ja. Bericht kan niet een query uitvoeren, want dat is voor bericht niet een verantwoordelijkheid. Berichten_Store heeft een database-verbinding nodig om te kunnen werken, want berichten opslaan en ophalen is wel zijn verantwoordelijkheid.
 
Steen

steen

04/01/2010 21:08:00
Quote Anchor link
Hoe zou ik dat script verder moeten gebruiken wanneer ik bijvoorbeeld, het simpelste voorbeeld dat er zo'n beetje bestaat, een nieuwssysteem wil maken?
 
Jelmer -

Jelmer -

04/01/2010 21:15:00
Quote Anchor link
Kijk even in de OOP categorie van dit forum (zolang die nog bestaat) want daar staan tal van topics in waarin in en anderen uitgebreid voorbeelden geven. Zeker van de afgelopen twee weken.
 
Steen

steen

04/01/2010 21:21:00
Quote Anchor link
Dat is voor mij een beetje het probleem, als er zoals die link bovenaan een duidelijke basis (met een voorbeeldje voor een nieuwssysteempje of mini-blog ofzo) zou zijn zou ik dit verder kunnen uitwerken voor grotere systemen. Alleen nu heb ik die link, alleen is het model niet compleet. Zou iemand misschien de moeite kunnen/willen nemen om dat script verder te verwerken (niet compleet, maar één of twee functies ofzo) zodat het mij duidelijk wordt. Dan zal ik het complete systeem aan de libary toevoegen als het klaar is.
 
Jelmer -

Jelmer -

04/01/2010 22:26:00
Quote Anchor link
Je kan heel simpel beginnen. Je maakt in je database een tabel met nieuwsberichten aan en zet er vast wat nieuwsberichten in.

Vervolgens maak je de class die een nieuwsbericht representeert. Eigenlijk is dit niet veel meer dan een veredelde array waarvan alle keys alvast bekend zijn :) Maar dit is programmeren in objecten, en arrays gebruik je dan alleen nog om lijsten mee te schrijven ;)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
class News_Item
{
    public $id;
    
    public $title;
    
    public $content;
    
    public $pubDate;
}

?>

De properties komen eigenlijk direct overeen met de kolommen van je database-tabel.

Mooi, nu heb je de records in de database, en het vormpje waarin die records gegoten moeten worden. Daarvoor de News_Store:
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
<?php
class News_Store
{
    protected $pdo;
    
    public function __construct(PDO $pdo)
    {

        $this->pdo = $pdo;
    }

    
    public function findAll()
    {

        $stmt = $this->pdo->query('SELECT id, title, content, pubDate FROM news_items');
        
        // dit zorgt ervoor dat je News_Item objecten terugkrijgt
        // van PDO, compleet ingevuld en wel. Later zal dit wss
        // niet meer kunnen omdat je News_Item class ingewikkelder
        // wordt, maar voor nu is het heerlijk kort :)

        $stmt->setFetchMode(PDO::FETCH_CLASS, 'News_Item');
        
        return $stmt->fetchAll();
    }

    
    public function findById($id)
    {

        $stmt = $this->pdo->prepare('SELECT id, title, content, pubDate FROM news_items WHERE id = :id');
        
        $stmt->bindParam(':id', $id);
        
        $stmt->setFetchMode(PDO::FETCH_CLASS, 'News_Item');
        
        return $stmt->fetch();
    }
}

?>

Nu kan je je controller vullen. Bijvoorbeeld
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
<?php

// (wat een stomme naamgeving, classes met een kleine letter
// beginnen? Dat is zooo not done!)

class NewsController extends baseController
{
    public function __construct($register)
    {

        parent::__construct($register);
        
        $this->news_store = new News_Store($this->register->db);
    }


    public function index()
    {

        $news_items = $this->news_store->findAll();
        
        $this->register->template->news_items = $news_items;
        
        $this->register->template->show('news_index');
    }

    
    public function item()
    {

        $news_item = $this->news_store->findById($_GET['id']);
        
        $this->register->template->news_item = $news_item;
        
        $this->register->template->show('news_item');
    }
}

?>


Snapie?
 
Mr D

Mr D

05/01/2010 12:47:00
Quote Anchor link
@Jelmer mooi voorbeeldje. Maar om het even wat moeilijker te maken ;). Wat als je ook de mogelijkheid hebt om ook bij elk nieuwsbericht reacties te plaatsen. En je wilt bijvoorbeeld bij elk nieuwsbericht alleen de laatste 5 reacties tonen.

In je template wil je dan waarschijnlijk zo iets doen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? foreach ($news_item->getLatestComments(5) as $comment): ?>

hier wat html
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? endforeach ?>


En dan voor je News_Item een method setCommentStore(Comment_Store $store) zodat elk nieuwsbericht zelf zijn laatste reacties kan ophalen via de Comment_Store. Dit is zo ongeveer de manier waarop ik dit zou doen. Maar ik ben benieuwd of er betere manieren zijn en hoe jij dit oplost? :)
 
Jelmer -

Jelmer -

05/01/2010 23:47:00
Quote Anchor link
Lijkt mij een prima manier :)

Ik denk dat je inderdaad de News_Item wel kan koppelen aan de comments. Mocht je dat niet willen, dan kan je altijd nog iets doen a la $comment_store->getLatestForNewsItem($news_item, 5). Want comments zijn wel afhankelijk van nieuws, maar andersom niet.
 



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.