OOP icm MVC, hoe doen jullie het?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Klein team zoekt grote fullstack .NET developer to

Bedrijfsomschrijving Deze werkgever is marktleider in de Benelux en is Europees ook al aardig aan de weg aan het timmeren. Ze voorzien technische winkels van apparatuur om producten een langer leven te geven. Hiermee reduceren ze flink wat CO2 uitstoot en dat is natuurlijk goed voor iedereen! IT speelt een belangrijke rol in de bedrijfsvoering en de applicaties zijn van goed niveau. Als fullstack .NET developer ga jij je bijdrage leveren aan het verder verbeteren van de applicaties en de interne processen. Ze zijn nu met ruim 50 medewerkers in totaal en de afdeling development bestaat uit een 5tal developers.

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 »

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 »

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

PHP Developer (junior functie)

Functie omschrijving Ben jij een starter en wil je werken bij een jong en leuk bedrijf? Lees dan verder! Wij zijn op zoek naar een PHP Developer binnen een junior functie. Binnen dit bedrijf gaat het om persoonlijke aandacht en ontwikkeling! Je komt te werken voor een leuk communicatiebureau die alles op het gebied van online en offline communicatie doet. Dit doen zij voor verschillende branches, waardoor je aan diverse soorten projecten mag werken, dit maakt deze baan erg leuk! Daarbij werk je aan een door hun zelf ontwikkeld framework welke goed leesbaar is. Je maakt voor bedrijven op maat

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Python (Django) developer - Remote in The Netherla

Functie Together with your team, consisting of a senior, 2 mediors and one junior developer, you will work on their software in an Agile-based approach. You have an eye for quality, risk, and customer interest. Communication with your colleagues and, where necessary, with customers, plays an important role in achieving a successful result. As a person, you are smart, get things done, and are result-oriented. There is a lot of independence within the development team, apart from the stand-up (10:00 am) and occasional pair-programming sessions. Techniques they use include Python, Django, MySQL, Mercurial, Ubuntu Linux, Nginx. In terms of front-end

Bekijk vacature »

SAP ABAP Developer

Dit ga je doen Software ontwikkeling met behulp van o.a. ABAP, Sapscript en Smartforms Maatwerk development op SAP ECC 6.0, in de toekomst S/4 HANA Samenwerken met Business Analisten die functioneel en technisch ontwerpen aanleveren Testen van opgeleverde software Bugfixing Ondersteuning van eindgebruikers Hier ga je werken Onze klant, een internationaal gevestigd productiebedrijf dat mensen blij maakt, is ter versterking op zoek naar een ABAP Developer voor hun SAP team. Het team van 4 mensen verzorgt de ontwikkeling van maatwerk voor de SAP omgeving waar wordt gewerkt met modules SD, FI/CO, PM en MM. Momenteel draait het bedrijf op SAP

Bekijk vacature »

Account Developer

Voor Bol.com zijn wij per direct op zoek naar een Account Developer voor 32-40 uur per week op het kantoor in Utrecht. Wil jij een directe bijdrage leveren door partners van de juiste data-inzichten te voorzien en via campagnes op nieuwe platformkansen en features te wijzen? Ben jij analytisch sterk en kun jij dit vertalen naar plannen en inspirerende gesprekken? Lees dan snel verder! wat bieden wij jou Salaris van €2400 - €2600 obv 40 uur Minimaal 6 maanden Werklocatie is Utrecht Werken bij bol.com wie ben jij Jij bent commercieel gedreven en weet altijd aan de juiste knoppen te

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

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 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 »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Senior front end developer Digital Agency Amsterda

Functie Wij werken in multidisciplinaire teams aan verschillende projecten, echter blijf je niet gebonden aan 1 team. Dit houdt in dat wij verschillende specialisten in dienst hebben en deze door middel van een roulatiesysteem in multidisciplinaire teams laten werken. Het team bestaat vaak uit Frontend developer(s), Backend Developer(s), Designer(s), Tester(s) en Mobile Developer(s). Deze teams worden afgewisseld waardoor jij de mogelijkheid krijgt om met iedereen een keer samen te werken. Als Frontend Developer ben jij ónze Specialist op dit gebied. Jij werkt mee aan verschillende projecten voor verschillende klanten. Denk bijvoorbeeld aan klanten, zoals’; BAM, IDFA en Ultimaker. Hierbij zorg

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

15/05/2024 04:21:22
 
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.