MVC model

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Full Stack PHP Developer

Functieomschrijving Ervaren PHP Developer gezocht! Wij zijn op zoek naar een ervaren PHP Developer die het IT team van een organisatie in de regio Ermelo gaat versterken. Voor deze functie zijn we op zoek naar een enthousiaste en breed georiënteerde IT-er die deze innovatieve organisatie nog een stap verder gaat brengen. Wij zijn op zoek naar iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je bent verantwoordelijk voor het samenwerken met een externe partij het is hierbij jouw taak om deze partij uit te dagen op het geleverde werk. Het schrijven van concepten aan de AI

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 »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! 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 de back

Bekijk vacature »
Daan s

Daan s

14/04/2019 10:09:23
Quote Anchor link
Sinds ik gestart ben met het eigen MVC model te gaan gebruiken loop ik nog op een enkel ding vast. Dit heeft ongetwijfeld meer met het totaalplaatje te maken dan mijn actuele programmeer skills.

Wanneer ik ga kijken naar de OOP tutorial op phptuts (http://www.phptuts.nl/view/45/3/), welk gedeeltelijk op PHPhulp staat, dan staat er het volgende: `Elk zelfstandig naamwoord is een object`.

Stel we hebben de volgende mappen / bestanden

-> Views
Page.php
-> Models
PageModel.php
-> Controllers
PageController.php



De view spreekt voor zich. Alleen loop ik nu tegen het volgende probleem aan. Zoals hierboven gezegd heb ik het idee dat het Model (PageModel.php) voor een enkel object staat. Bijvoorbeeld één pagina met een titel en wat content.

Maar stel je wil een overzicht maken met verschillende pagina's (bijvoorbeeld een contactpagina, een linkpagina, et cetera). Hoe doe je dit dan?

Kun je dit uit een enkel model halen?
En is er een goed voorbeeld van de structuur (mappen + bestanden).
Gewijzigd op 14/04/2019 11:51:59 door Daan s
 
PHP hulp

PHP hulp

25/04/2024 07:11:30
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/04/2019 12:57:05
Quote Anchor link
De model fungeert als een laag tussen (de rest van) je applicatie en de database. Ik ben gewend -en dat hoeft niet perse een gouden regel te zijn- om een model aan te maken per tabel in de database. Dus stel je hebt in de database een tabel 'users' dan maak ik een UserModel welke ik vul met methods die ik nodig heb. Bijvoorbeeld de methods 'getAllUsers()' en 'getAdmins()' welke beiden een array met User objecten terug leveren. Wel ontstaan hierin overlappingen doordat sommige tabellen in de database 'keuzenlijstjes' zijn voor andere tabellen (bijv. een tabel provincies die alle provincies bevat en gebruikt wordt bij het aanmaken van een gebruiker). Ik ga dan geen ProvinceModel class maken maar integreer dit gewoon mee in de UserModel met een JOIN in de query.

Verder gebruik ik die UserModel class waar ik dat wil. In het login-systeem, in het berichten-systeem en als ik wil op iedere pagina.

Toevoeging op 14/04/2019 13:02:56:

Overigens heeft een goed framework natuurlijk een base model die in de belangrijkste behoeften voorziet zoals:

-findAll()
-findBy(array $criteria, array|null $orderBy = null, int|null $limit = null, int|null $offset = null)
-findOneBy(array $criteria, array $orderBy = [])
-count(array $criteria)

Toevoeging op 14/04/2019 13:06:02:

Enne.. eigen framework? reinventing the wheel?

Een stoomcursus Symfony of Laravel duurt minder lang ;-)
Gewijzigd op 14/04/2019 13:08:52 door Frank Nietbelangrijk
 
Ad Fundum

Ad Fundum

13/08/2023 11:02:51
Quote Anchor link
Natuurlijk helpt het om ook te kijken naar andere frameworks, maar het maken van een eigen framework kan ik ten zeerste aanraden, als je daar de tijd voor wilt nemen. Je moet er niet van uit gaan dat je framework meteen beter is dan wat er is. Maar je kunt er veel van leren, je houdt alles zelf in de hand en uiteindelijk kan je je eigen framework beter maken dan wat er al is.

Om te beginnen moet je je afvragen of jouw applicatie synchroon wordt of niet, dat scheelt heel veel refactoring achteraf. Kijk naar https://amphp.org voor meer informatie over aynchroon programmeren.
Bij twijfel, maak je je applicatie 'gewoon' multithreaded zoals dat standaard is in PHP.

Voordat je begint is het nodig om te snappen dat MVC gewoon niet werkt voor PHP applicaties. Veel mensen snappen het ook niet en dus lees je overal weer wat anders. Voor meer uitleg zie de serie 'Model-View-Confusion' van Tom Butler op https://r.je/views-are-not-templates . MVC was nooit bedoeld voor stateless programmeren wat PHP is.

Het helpt om te weten dat je vooral niet blind moet varen op wat mensen voorschrijven, ook al is het Google zelf. Neem bijvoorbeeld dependency injection. Dat werkt ook niet. Als je dat serieus zou willen doen dan moet je bijna elk object een database-verbindingsobject meegeven en andere objecten. Dat wordt uiteindelijk zo veel dat men dat ook is gaan automatiseren. Om de 'dependency injection hell' nog zo veel mogelijk te voorkomen, maar mooi is het niet.

Wanneer je verder bouwt aan je eigen framework kom je er achter dat Laravel ontzettend beperkt is (maar simpel genoeg voor veel dingetjes) en dat je het zelf beter kan. En dat Symfony het meest uitgebreide framework is, maar ontzettend traag vergeleken met maatwerk code. Reflection klinkt leuk maar kan je vanwege snelheid beter vermijden.

Wanneer je je een poos hebt verdiept in frameworks ontdek je dingen die werken, zoals bepaalde database objecten, schermwidgets, etc. en dingen die niet werken, zoals niet flexibele templates.
En wanneer je je hele framework hebt uitgewerkt kom je er achter dat er nieuwe technologie is waardoor je een betere UX krijgt met meer JavaScript, tot en met een PWA aan toe. Een site ter inspiratie: https://acko.net (geen PWA)
En als je uiteindelijk alles al een keer gezien hebt ga je over op WebAssembly.
Gewijzigd op 13/08/2023 11:05:45 door Ad Fundum
 
Ward van der Put
Moderator

Ward van der Put

16/08/2023 08:37:08
Quote Anchor link
MVC is inderdaad slecht geschikt als architectuur, maar wel bruikbaar als design pattern. Gebruik MVC liever niet als totaaloplossing, maar uitsluitend als deeloplossing.

In Patterns of Enterprise Application Architecture van Martin Fowler is MVC bijvoorbeeld slechts één van zeven web presentation patterns:

- Model View Controller
- Page Controller
- Front Controller
- Template View
- Transform View
- Two-Step View
- Application Controller

Voordat je definitief voor MVC kiest, moet je tot de conclusie zijn gekomen dat andere oplossingen voor jouw specifieke applicatie minder geschikt zijn.

Als je alleen een hamer hebt, ziet elk probleem eruit als een spijker...
 
Ad Fundum

Ad Fundum

19/08/2023 16:14:25
Quote Anchor link
Ben het niet helemaal met je eens op dit punt.
Als ik zoek naar 'consensus' op internet, is het wel dat PHP frameworks in meer of mindere mate MVC moeten zijn. Welke vergelijkingssite ik ook opentrek, ze hebben het allemaal over de MVC-architectuur van het raamwerk. Wikipedia over Web Frameworks: 'Most web frameworks are based on the model–view–controller (MVC) pattern'

Daarbij zijn er vele sites over design patterns. Het zijn er gewoon te veel. Dus voordat je überhaupt tot de conclusie kunt komen of het gekozen reeds bestaande design pattern wel het meest geschikt is voor jouw probleem, moet je al een guru zijn en alle andere patterns doorgronden.

In mijn ervaring is er eigenlijk geen enkele goede design pattern, daarom zijn er ook zo veel. Het is een bepaalde manier, een bepaalde stijl om een soort probleem op te lossen. Het is zeker nooit de enige manier om een probleem op te lossen. Daarom vergelijk ik design patterns ook wel met bouwstijlen. Uiteindelijk moet je programma aan eisen voldoen, zo van zo moet het werken. Maar hoe het dat doet, zal een klant niet uitmaken. Wil je liever pattern X dan Y? Ook best.
Maar voordat je daar achter bent moet je wel eerst ervaren hebben dat MVC, zoals meestal wordt geadverteerd binnen de PHP sector, gewoon een slecht idee is.
 
Aparicio Tello

Aparicio Tello

02/10/2023 08:50:21
Quote Anchor link
Ik denk dat het belangrijk is om het juiste ontwerppatroon te kiezen voor uw project. Als u een klein project ontwikkelt, kan MVC te complex zijn. In dat geval kunt u een eenvoudiger sjabloon gebruiken, zoals Model-View (MV).
 



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.