MVC structuur vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior C# Developer

UPS Nederland zoekt een Senior Developer C# * Remote werken mogelijk Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire

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 »

Medior/Senior PHP Developer / Marketing / Impact

Bedrijfsomschrijving Deze informele organisatie brengt campagnes naar ongekende grote hoogtes! Jij kan als PHP Developer echt impact maken voor klanten en hun marketing succesvoller laten worden. Dat door je voor bekende organisaties zoals de NS, Peugeot, Achmea, KvK, Eneco en Miele. Binnen dit bedrijf heerst er een informele, plezierige en open sfeer. Bij onze opdrachtgever ligt er veel aandacht op persoonlijke ontwikkeling. Je gaat hier namelijk vrijheid krijgen om op je eigen manier invulling te geven aan je werk, maar je kan altijd op je collega’s terug kunnen vallen voor advies en tips. Functieomschrijving In de functie van PHP Developer

Bekijk vacature »

WordPress Developer

Bedrijfsomschrijving Voor een grote overheidsinstelling in Den Haag zijn wij opzoek naar een WordPress developer, met kennis en ervaring op het gebied van Javascript, HTML, XML en CSS. De organisatie zit in een grote transitie waarbij de gehele website/online omgeving vernieuwd zal gaan worden. Binnen dit Scrum/Agile team ben je verantwoordelijk voor deze grote migratie/ombouw van de omgeving. De omgeving zal geheel worden vernieuwd en je zal werken met nieuwe tools en technieken zoals React.js en Azure. Je ontwikkeld de website met WordPress en bent verantwoordelijk voor het up-to-date houden van alle WordPress-sites. Functieomschrijving Ben jij een Developer en heb

Bekijk vacature »

Front-end Ontwikkelaar - Publieke Veiligheid

Help JIJ onze klanten in de Digitale Transitie? Neem dan contact met MIJ op! Wij geloven dat organisaties meer wendbaar moeten worden én blijven. Dat maakt organisaties toekomstbestendig. Ben jij een leergierige software engineer met passie voor front-end development? Wil jij je verder ontwikkelen in de nieuwste front-end technologieën? Zoek jij uitdagende klussen in teamverband? Wij bieden jou die uitdaging en de mogelijkheden jezelf verder te ontwikkelen. We leveren een bijdrage aan het veiliger maken van Nederland en daar zijn we trots op! Heb je minimaal drie jaar ervaring in zo’n mooie rol, ben je inspirerend en dynamisch? In de

Bekijk vacature »

Junior BI Developer

Bedrijfsomschrijving De organisatie waar je komt te werken als BI Developer is een grote internationale financiële instelling. Met vele vestigingen in Nederland zijn ze een belangrijke speler op de financiële markt. Jij zal hoofdzakelijk op het kantoor in Amsterdam werkzaam zijn, maar het kan ook voorkomen dat je af en toe naar een andere vestiging gaat. Het bedrijf telt ongeveer 5000 medewerkers waarvan ruim 150 ICT'ers. Het team waar je in komt te werken als (Junior) BI Developer is een ambitieus BI team dat zich bezighoudt met lokale en internationale uitdagingen. Zo zit een andere Junior BI Developer, 2 Medior

Bekijk vacature »

New Business Developer Rijswijk

Ben jij het zat om alle KvK-lijsten volledig af te bellen? Komt de koffie van die ene persoon waar je nog steeds geen deal hebt gesloten je neus uit? En blijf je potentiële klanten stalken zonder resultaat? Dan is het tijd om het anders te gaan doen! Neem afscheid van de standaard salesaanpak en ga bij PEAK-IT aan de slag met onze unieke en eigenwijze salesstrategie! Word onze New Business Developer in Rijswijk, die niet bang is om het anders te doen! Hoe maak jij onze klanten blij? Dankzij jou hoeven onze klanten niet bang te zijn dat hun IT-infrastructuur

Bekijk vacature »

GIS Developer

Bedrijfsomschrijving Als GIS Developer kom je te werken bij een high-tech ingenieursbureau in de regio van Utrecht. Al ruim 15 jaar werken ze aan de eigen ontwikkeling van innovatieve applicaties op het gebied van mobiliteit en infrastructuur. Met al hun jaren ervaring bedenken en ontwikkelen ze geografische oplossingen voor grote en bekende organisaties in Nederland. Momenteel maken duizenden gebruikers gebruik van hun applicaties en proberen ze constant vernieuwend te zijn in hun aanbod naar klanten. Je komt te werken in een informeel Agile minded team van 25 collega's, waarvan 6 andere (GIS) developers. Als Developer ben je in teamverband verantwoordelijk

Bekijk vacature »

IT Architect

Voel jij je thuis op het scheidsvlak tussen de Business en IT? Ben jij in staat om de behoefte van de organisatie te vertalen naar een passende (IT)architectuur? En wil je graag werken voor een internationale verzekeraar? Dan ben jij onze nieuwe IT Architect. IT Architect / Developer Wat je bij ons doet Jij bent verantwoordelijk voor het ontwerpen, inrichten en waarborgen van een markt-conforme (IT) architectuur die de organisatie ondersteund bij de realisatie van haar strategie. Daarnaast sta je in directe afstemming met je collega architecten op onder andere ons hoofdkantoor. Hoe kan een werkdag eruit zien? Je woont

Bekijk vacature »

Senior C# Developer

UPS Nederland zoekt een Senior Developer C# * Remote werken mogelijk Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire

Bekijk vacature »

Digital business owner

Heb jij ambitie om organisaties te helpen bij het behalen van hun doelstellingen? Wil je merken groter en succesvoller maken? Als digital business owner bij EF2 kom je op voor de belangen van onze klanten. Je weet te inspireren en brengt het digitale niveau van klanten naar het volgende niveau. Je organiseert kennis- en innovatiesessies. Door jouw jarenlange ervaring weet je wat er in de branche van onze klanten speelt en ben je in staat kansen te signaleren en de uitvoer te realiseren. Intern manage je cases op gestroomlijnde wijze, binnen een team van specialisten. Het resultaat? Blije klanten, geïnspireerde

Bekijk vacature »

Full Stack Java Developer - Infrastructure

Ben jij een ontwikkelaar die wil bijdragen aan de energietransitie? Lees dan verder! Wat ga je doen? Als Full Stack Java Ontwikkelaar draag je verantwoordelijkheid voor het gehele proces van het omzetten van wensen, problemen of vragen naar concrete oplossingen. Integratie, testen, vastleggen van kennis en beslissingen, problem management en automation zijn onderdeel van je takenpakket in SAFE of DevOps gestuurde omgevingen. Als ontwikkelaar krijg je alle mogelijkheden om je technisch verder te ontwikkelen en samen te werken met gedreven collega's. Wat breng je mee? Je hebt gedurende 1 tot 2 jaar een basis opgebouwd in applicatie ontwikkeling met .Net

Bekijk vacature »

.Net / C# Developer - Banking

When .Net/C# is your passion, apply now and join our team! Your day-to-day activities As an experienced .Net/C# developer you will use your skillset to develop new financial applications and services that are not fully automated by standard systems. You will ensure quality and security in ASP.Net and C#. You will work in a multidisciplinary Scrum/Agile team and together you will ensure that the transition to Cloud will go as smoothly as possible. What you need to be successful in this role You are customer focused and enthusiastic. You are at the forefront of architectures, tools and techniques that are

Bekijk vacature »

Fullstack Java Developer

Bedrijfsomschrijving Our relation is an international organization that is located in the area of Amsterdam. They are well known in the market due to their innovative service delivery on the IT side and their passionate employees. They have received several awards for their efforts in IT! They strive to stimulate working and self-development in order to bring out the best in every organization worldwide. IT is crucial in this organization in order to improve their services. Currently, they have a monolithic architecture and they want to make the shift to Microservices. As this project is just starting you will be

Bekijk vacature »

Web Developer (m/w/d)

Web Developer Location: Heidelberg, Germany Staff category: Staff Member Job type: IT and Infrastructure Contract duration: 4 years (project related) Grading: 6, 7 or 8; depending on experience (monthly salary starting from 3.7k€ up to 4.8k€ after tax, plus other benefits) Closing date: 23 May 2021 Reference number: HD01967 About this position IT Services operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. In collaboration with the EMBL-EBI in Cambridge our team is creating and implementing a new web infrastructure for all EMBL websites. We are looking

Bekijk vacature »
Tim Kusters

Tim Kusters

03/06/2013 17:36:59
Quote Anchor link
Beste gebruikers,

Ik ben al een aantal dagen bezig een poging te doen een goed werkend MVC framework te maken.
Maar daarbij loop ik tegen een aantal problemen aan.

Eerste even een korte uitleg hoe het nu bij mij werkt.

URL >
Router class >
Controller class
Fetch data from model & passed to register class
View class
Fecth data from register
> Show Template (template class)


Dit is even kort de route die er doorlopen wordt.
(Eventuele opmerkingen hoor ik graag!).

Nu loop ik er tegen aan dat er vaak functies zijn die dubbel worden uitgevoerd, en ophalen van metadata voor de website bijvoorbeeld. Moet ik nu in elke base controller deze serie calls naar models oproepen? Of mag ik een subcontroller maken die dat doet?

Graag jullie reactie.

Groeten, Tim
Gewijzigd op 03/06/2013 21:28:54 door Tim Kusters
 
PHP hulp

PHP hulp

14/05/2021 03:51:23
 
Jasper DS

Jasper DS

03/06/2013 19:21:30
Quote Anchor link
Hoi,

dus als ik je woorden even herschrijf volgen we deze route bij een request:

request >> router class (kijkt of de url overeenkomt met een route) >> front-controller (spreekt de juiste controller aan die bij de route hoort die men terug kreeg van de router class) >> controller >> models & views >> display

je "fetch-data" wordt slechts één keer in je controller uitgevoerd en per request is er slechts één controller?

Ik denk dat er daar iets fout loopt, hoe ziet je controller-werking er juist uit?

Jasper
 
Tim Kusters

Tim Kusters

03/06/2013 19:37:50
Quote Anchor link
Hey Jasper,

Klopt, de fecth data wordt maar 1x uitgevoerd, namelijk in de functie van de controller. Bijvoobeeld index of view. En per request is er dan maar 1 controller? (nu is dat inderdaad zo).

Maar dat betekend dat de lijnen code voor bijvoorbeeld het ophalen van de navigatie in elke controller zouden moeten worden herhaald, en dat lijkt me weer onlogisch?

Gr Tim
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/06/2013 22:43:50
Quote Anchor link
Tim Kusters op 03/06/2013 19:37:50:
Maar dat betekend dat de lijnen code voor bijvoorbeeld het ophalen van de navigatie in elke controller zouden moeten worden herhaald, en dat lijkt me weer onlogisch?


Nee dat is niet onlogisch. Want wat als je nu een pagina wilt genereren zonder navigatie? of wat als je nu een pagina wil genereren die een PDF uitspuugt of een JSON?

Bovendien je kunt toch een base-controller maken en dan een custom-controller die direct een menu aanmaakt en daaroverheen weer een eind-controller die voor iedere pagina weer anders is.
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 Controller {
    function
__construct() {
        // stuff here
    }
    
};


class PublicPageController extends Controller {
    function
__construct() {
        parent::__construct();
        $this->BuildMenu();
    }


    protected function BuildMenu() {
        // genereer menu en sla op voor de view
    }
};


class HomepageController extends PublicPageController {
    function
__construct() {
        parent::__construct();
    }


    public function Index() {
        // genereer index pagina
    }
};
Gewijzigd op 03/06/2013 23:33:07 door Frank Nietbelangrijk
 
Tim Kusters

Tim Kusters

03/06/2013 22:59:25
Quote Anchor link
Hey Frank,

Bedankt voor je reactie. Ik vindt het ook niet logisch vandaar mijn vraag.

Maar welke controller roept de router nu op in jouw voorbeeld?

En stel, we hebben niet alleen de navigatie, maar ook wat metadata, footer-data, header data etc, waar pas ik die dan in?

Groeten,
Tim
 
Wouter J

Wouter J

03/06/2013 23:17:12
Quote Anchor link
Ai frank, die code kan totaal niet. HomepageController kan nooit een IS EEN relatie hebben met MenuController.

Tim, wat je dan hebt is dat je meerdere controllers per request op moet roepen. De url wordt gekoppeld aan een controller, bijv. HomepageController. Vervolgens wordt er in de template van de homepage controller de menu controller aan geroepen, om jet menu te genereren.

Dit zou ik overigens niet voor menu's doen, daar vind ik controller heel vreemd klinken. Gebruik gewoon een klasse die een menu maakt en weergeeft, bijv. MenuBuilder. (kijk ook eens naar KnpMenu)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

03/06/2013 23:28:58
Quote Anchor link
Tim stel je wilt een website maken met vier pagina's:
-home (of index)
-about
-contact
-stats

de eerste drie zijn gewone publieke pagina's waar je altijd dezelfde menu zult zien en dezelfde footer
stats wordt een pagina die alleen bedoeld is voor de webmaster en die laat wat statistieken zien. er komt geen menu en een totaal ander footer.

de bovenste class is de basis. elke controller wordt hier verplicht van afgeleid. stats maakt direct gebruik van deze controller.
voor de overige drie pagina's zou je hetzelfde kunnen doen. maar dat betekend drie keer een menu maken en drie keer een footer maken die drie keer exact gelijk zijn. Wil je later iets wijzigen dan moet je dat drie keer gaan doen. Dat wil je dus niet. Dus maak je eerst een class die alles doet dat voor die drie pagina's gelijk is. hij maakt een menu, een footer en al wat je maar wilt. dat is de PublicPageController.
dan komen we bij de uiteindelijke pagina home. die moet natuurlijk een andere tekst krijgen dan de about of de contact pagina. dus dat wordt de HomepageController. zoals je ziet aan het woord extends erft HomepageController alles van PublicPageController en heeft die dus direct alles aan boord om een standaard gebruikers pagina te maken.

Overigens de Routing zorgt er enkel voor dat je bij de juiste controller komt.
De controller zorgt er voor dat het juiste Model/Modellen geladen worden en dat de juiste View geladen wordt.
Het Model haalt data op en geeft die terug aan de controller.
De controller geeft de data door aan de view.

Toevoeging op 03/06/2013 23:31:58:

ja MenuController is geen goede naam.. misleidend inderdaad.. hoe noemen we dat dan:

Controller
PublicPageController
HomepageController

is dat beter? Ik heb het aangepast
Gewijzigd op 03/06/2013 23:34:46 door Frank Nietbelangrijk
 
Ward van der Put
Moderator

Ward van der Put

04/06/2013 08:14:36
Quote Anchor link
Ik zou niet alles een "controller" noemen. Als je MVC implementeert, zou ik bovendien vooral een "view" nooit een "controller" noemen.

http://upload.wikimedia.org/wikipedia/commons/f/fd/MVC-Process.png
 



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.