OOP icm MVC, hoe doen jullie het?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Programmeren van zelflerende robots Werken op kantoor en testen in de bedrijfshal Je krijgt verantwoordelijkheid, vrijheid en je mag werken naar eigen inzicht De organisatie Hier ga je aan de slag Een bedrijf dat innovatieve robottoepassingen ontwerpt en bouwt voor onder andere de staal industrie, energie- bouw- en agrarische sector. De robots die vaak in combinatie met diverse randapparatuur geleverd worden vormen een totaaloplossing voor de klant. Dit zijn klanten over de hele wereld, van België en Duitsland tot China, India, maar ook in Nederland. Projecten waar momenteel aan wordt

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Front End Developer React Vue

Dit ga je doen Meewerken aan de implementaties en ontwikkeling van nieuwe functionaliteiten van de webapplicaties; Ontwikkelen met o.a. React en Vue en HTML/CSS, ook krijg je in verband met de samenwerking ook affiniteit met de backend Ruby on Rails; Ontwikkeling aan de front end voor de koppelingen tussen de diverse systemen; Ontwerpen van interfaces en een bijdrage leveren aan de gebruikerservaring; Zorgdragen voor hoge kwaliteit van code en jezelf (en anderen) blijven verbeteren; Als Senior Front End Developer begeleid je zelf ook FE-development projecten, hierin leid je de projecten en pak jij het initiatief op (bv integratieprojecten). Hier ga

Bekijk vacature »

.NET Developer

Dit ga je doen (Door)Ontwikkelen van het applicatielandschap; (Door)Ontwikkelen van microservices; Bouwen van nieuwe functionaliteiten; Verbeteringen aandragen voor het applicatielandschap; Sparren met de business. Hier ga je werken De organisatie is werkzaam in de financiële dienstverlening met meer dan 200 medewerkers en meer dan 250.000 eindgebruikers is het een van de grotere binnen haar branche. Je komt te werken in een team waarmee je verantwoordelijk bent voor het ontwikkelen en onderhouden van de financiële applicaties binnen de organisatie, denk hierbij aan het bouwen en onderhouden van portalen. Als .net developer ga jij het development team ondersteunen met de transitie naar

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

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 »

Junior PHP Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

.NET developer

Functie Als senior .NET ontwikkelaar en aankomend lead developer ben jij in één van de drie development teams verantwoordelijk voor het volgende: • Jij hebt een oogpunt op modernisering en bent verantwoordelijk voor de technische staat en architectuur van de applicatie; • Jij bent verantwoordelijk voor het reviewen van de technische haalbaarheid van verschillende onderwerpen; • Jij bent verantwoordelijk voor een goede aansluiting binnen het multidisciplinaire team en de bijbehorende taken; • Jij bent verantwoordelijk voor het aandragen van verbetervoorstellen en ontwikkelstandaarden in zowel de techniek als architectuur; • Jij bent meewerkend voorman en ondersteunt en coacht jouw team op

Bekijk vacature »

Software Developer

Functie omschrijving In deze functie ga je aan de slag met het door ontwikkelen van de interne software. Zij maken gebruik van een CRM, wat door de hele organisatie gebruikt wordt. Andere taken: Je gaat het CRM-systeem door middel van PHP verder ontwikkelen; Verder bouw je verschillende API's en koppelingen tussen systemen; Ook ga je collega's ondersteunen bij vragen over de software en applicaties; Deelnemen aan overleggen met het development team; Bij interesse is er de mogelijkheid om junioren te gaan begeleiden. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er

Bekijk vacature »

Back-end PHP Developer

Dit ga je doen Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Hier ga je werken Onze klant, gevestigd in de omgeving van Alkmaar, levert wereldwijd oplossingen op het gebied van IT. Dag in dag uit werken zij met veel passie aan hun product waarmee ze streven naar verbeteringen binnen zorg. Voor onze klant zijn we op zoek naar een medior PHP Developer. Je komt te werken

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

.NET developer

Functie The position we have for you As a .NET developer you will work for one of our customers active in the High Tech Industry. Our customers are mainly located in the Eindhoven area. We are very selective when it comes to the projects we accept and therefore only focus on innovative and complex projects. Because our customers are mainly specialized in machine construction, you often work close to the machines. Our team currently consists of Embedded engineers, IOT developers and Cloud engineers. We mainly work on Microsoft projects where WPF, UWP, .NET Core and Microsoft Azure are used. Eisen

Bekijk vacature »
Ivar

ivar

16/01/2009 18:08:00
Quote Anchor link
hallo,

ik wil graag een eigen php framework schrijven, vooral om OOP en MVC te leren en een beetje voor de lol.

nu wilde ik jullie vragen hoe jullie dit aanpakken.

ik wil in het speciaal weten waar jullie allemaal een class voor hebben, en hoe jullie map structuur eruit ziet. hoe handel je bijvoorbeeld een ajax request af? gebruik je één index bestand wat alle functies uitvoert, of gebruik je voor ieder deel van de site een andere (nieuw, gastenboek, admin).

ik hoe dus geen hele lappen voorbeeld code, maar vooral een beetje extra uitleg over het hoe en wat van het schrijven van een framework. en informatie over hoe jullie het aanpakken.

Ivar

PS links naar must-read site's zijn ook welkom (eventueel ook boeken, maar ik ben meer een voorstander van het {gratis->ik ben Hollander :P } internet)
 
PHP hulp

PHP hulp

29/04/2024 07:29:12
 
PHP Newbie

PHP Newbie

16/01/2009 18:13:00
Quote Anchor link
Kijk even naar het Zend framework.
 
Bo az

Bo az

16/01/2009 19:43:00
Quote Anchor link
Het design pattern Front Controller is wat mij betreft een 'must read'. Op phpfreakz staat er een toegankelijk artikel over: http://wiki.phpfreakz.nl/FrontController
 
Ivar

ivar

16/01/2009 21:33:00
Quote Anchor link
alvast bedankt voor deze antwoorden.

@PHP Newbie: ik zal even naar zend kijken, ik neem aan dat je het als voorbeeld bedoelde om te zien hoe zij het aanpakken?

@Boaz: dat is een erg handige pagina, daar kan ik wat mee! (ik zal ook even verder kijken in die wiki volgens mij staat er nog wel meer interessants)
 
Arian Stolwijk

Arian Stolwijk

17/01/2009 10:24:00
Quote Anchor link
Boaz schreef op 16.01.2009 19:43:
Het design pattern Front Controller is wat mij betreft een 'must read'. Op phpfreakz staat er een toegankelijk artikel over: http://wiki.phpfreakz.nl/FrontController


Daar wordt het inderdaad goed uitgelegd.

Meestal heb je een router/request object. Deze vertelt de frontcontroller wat de Controller en Action zijn.

De frontController include dan het bestand waar deze controller class instaat.
Eventueel wordt er dan eerst een init() method aangeroepen, dan de action, en eventueel wordt daarna met behulp van het view object alles weergegeven.

Nu ontbreekt het Model nog. Dit is een abstractie laag van de data. Bijvoorbeeld van een database tabel, met de methods fetchAll(), fetchRow($id), insert($data), update(), delete().
Om nog een stapje verder te gaan met je models, zou je voor elke rij een eigen object kunnen maken, en voor meerdere rijen (die je bijvoorbeeld met fetchAll) returnt een rowGroup object kunnen maken. Dat rowGroup object maak je dan 'iteratible' door de Iterator interface te gebruiken...

Even samengevat:
Controller handelt (icm de FrontController) alles af, die 'weet' wat er moet gebeuren, haalt de data op via models en stuurt die (met eventuele verwerkingen) door naar het view object.

Model zorgt dus voor je data abstractie. Zo hoef je in je controllers dus geen SQL queries te gaan maken, maar kan je dat eventueel in je models doen. Je model extend bijvoorbeeld Framework_Db_Table

View zorgt voor de weergave. Dit kan bijvoorbeeld een template parser zijn. Via de controller stop je er allemaal variabelen en data in, en via de render() method zet je dan alles op het scherm. Het is handig om dit dan via de FronController af te handelen, zodat je automatisch voor elke Action van de controller een eigen view script (template file) hebt.
die in hun eigen map van de Controller staan. (templates/Gastenboek/comment.php)

Quote:
edit:
Ik vind dit opzich wel een goed plaatje: MVC structuur
En dit is ook wel een makkelijk plaatje.
Gewijzigd op 01/01/1970 01:00:00 door Arian Stolwijk
 
Bo az

Bo az

17/01/2009 20:10:00
Quote Anchor link
Arian schreef op 17.01.2009 10:24:
Nu ontbreekt het Model nog. Dit is een abstractie laag van de data. Bijvoorbeeld van een database tabel, met de methods fetchAll(), fetchRow($id), insert($data), update(), delete().
Om nog een stapje verder te gaan met je models, zou je voor elke rij een eigen object kunnen maken, en voor meerdere rijen (die je bijvoorbeeld met fetchAll) returnt een rowGroup object kunnen maken. Dat rowGroup object maak je dan 'iteratible' door de Iterator interface te gebruiken...


Ook hier is weer een design pattern voor, deze keer heb ik niet zo'n mooie beschrijving kunnen vinden maar Wikipedia legt het wel goed uit: http://nl.wikipedia.org/wiki/Active_record_patroon

Deze kwam ik nog tegen en is wellicht interessant voor de TS:
http://www.phpfreakz.nl/documenten/18-11-06/Presentatie_OOP.pdf
 
M Ypma

M Ypma

17/01/2009 22:11:00
Quote Anchor link
Ik vind Zend Framework geen goed voorbeeld. Ik vind het al vreemd dat het zich een Framework noemt. Alles wat Zend Framework is is een verzameling Classes, een beetje PEAR nieuwe stijl. Maar een Framework, en al helemaal een MVC voorbeeld is het zeker niet.
 
TJVB tvb

TJVB tvb

17/01/2009 22:42:00
Quote Anchor link
Ypma dat ligt eraan hoe jij een framework ziet.
Zend Framework is een componenten framework, je kunt het als 1 geheel framework gebruiken maar je kunt er ook voor kiezen om er gedeeltes (componenten) van te gebruiken. Tevens heb je de mogelijkheid om het framework te gebruiken en voor sommige onderdelen je eigen classes in te zetten.

Het gebruik van een componenten framework biedt je meer vrijheid, het ligt alleen aan de programmeur of het nuttig gebruikt wordt of niet.

In phparch is vorig jaar een korte serie geweest waar 3 verschillende frameworks vergeleken werden om duidelijk te maken wat de verschillen waren. Het laat zien geen enkel framework heilig is, je moet gewoon gebruiken wat het beste past bij een taak. Maar een componenten framework als ZF is in ieder geval in mijn ogen wel een framework.

En hoezo denk jij dat het geen MVC voorbeeld is? Hier ben ik wel nieuwsgierig naar.
 
M Ypma

M Ypma

17/01/2009 22:55:00
Quote Anchor link
@TJVB
Omdat de TS specifiek vraagt naar een mappenstructuur/klassen opzet, dan ben ik van mening dat er betere voorbeelden zijn dan ZF welke ook de MVC onderdelen als components biedt. Hier vind hij moeilijk de informatie waar hij naar op zoek is.
Ik vond laatst trouwens een mooi artikel die een groot nadeel van ZF uit ligt... zal hem ff zoeken en bij een edit hier neer zetten

edit:
gevonden, merk op de chaos bij ZF:
http://phpimpact.wordpress.com/2008/08/04/php-applications-where-is-the-include-coming-from/
Gewijzigd op 01/01/1970 01:00:00 door M Ypma
 
Ivar

ivar

18/01/2009 07:39:00
Quote Anchor link
alweer bedankt allemaal voor de input.

ik dacht al dat het aan mij lag dat ik in m'n zend download erg weinig structuur (lees: mappen) aantrof, maar dat hoort dus zo.
is codeignitor een beter voorbeeld? ik heb deze een keer voor m'n neus gehad en die had duidelijk wel veel mapjes en structuur.
 
TJVB tvb

TJVB tvb

18/01/2009 10:49:00
Quote Anchor link
@Ypma, dat het misschien een wat ingewikkelder structuur klopt, maar dit heeft volgens mij ook veel te maken met de overerving van alles.

Ik heb de afbeeldingen van de verschillende pakketten bekeken
De meeste laden alles vanuit 1 of enkele bestanden, maar wie zegt dat het altijd nodig is. De structuur van requite/include heeft te maken met het feit dat er zo veel mogelijk geprobeerd wordt het pas te laden als het nodig is (oftewel niet gewoon alles in het geheugen stoppen zonder dat het zin heeft).

Ik vindt een mappen structuur van een applicatie niet zo heel spannend, het is veel belangrijker dat het classdiagram goed is. Als je een goede IDE hebt kan die je zo door de bestanden waar de classes staan linken.
Als je het class diagram van ZF bekijkt zie je zeer veel overerving wat een mooi principe is van OOP. Dat het daardoor gelaagd wordt en er soms op het eerste gezicht ingewikkeld uit ziet moet geen probleem zijn.

Dat het dan voor iemand die geen of weinig ervaring met OOP heeft misschien een lastig voorbeeld heeft klopt, maar dat komt niet omdat het niet klopt/slecht is. Juist doordat het meer kennis/inzicht in OOP verlangd.

Ivar ik denk dat het voor een framework belangrijk is dat je de eisen opstelt, een analyse doet en een technisch ontwerp maakt. De mappen structuur komt daarna en is vaak een kwestie van smaak.
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
 
Jelmer -

Jelmer -

18/01/2009 11:04:00
Quote Anchor link
ZF is niet een framework in de zin van dat het je een invulapplicatie geeft. Het laat het aan jou over om de losse onderdelen aan elkaar te koppelen. Voordeel van de componenten van ZF boven die van anderen is dat ze met elkaar overweg kunnen. Nadeel is dat het een one-size-fits-all oplossing probeert te zijn, waardoor de code niet meer simpel genoemd kan worden. Allemaal lagen van adaptors en decorators, en voor je ene website gebruik je er maar eentje.

Ruby on Rails is bijvoorbeeld een invul-framework om het zo maar even te noemen. Symphony ook. Zodra je het installeert heb je al een werkende website, en die kan je uitbreiden door de juiste bestandjes in de juiste mapjes te gooien. Het voordeel is dat alles veel simpeler is omdat het framework al van een heleboel dingen uitgaat (de mappenstructuur, hoe requests worden afgehandeld, waar en hoe je model eruit ziet) en het nadeel is dat je moet voldoen aan die verwachtingen.
 
Ivar

ivar

20/01/2009 20:10:00
Quote Anchor link
Ik heb het eea uitgetekend (weet iemand hier een goed gratis progje hiervoor, ik heb nu een trial :P ):

Afbeelding

Is dit een aardige opzet? Zal ik voor iedere functie én een frontend én een backend class maken?

PS schrik niet, de download is voor eigen werk :D
Gewijzigd op 01/01/1970 01:00:00 door ivar
 



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.