MVC

Overzicht Reageren

Pagina: 1 2 volgende »

Mr.Moe

Mr.Moe

07/09/2009 17:01:00
Quote
Hallo, Ik zou graag MVC leren programeren binnen php. Maar weet niet direct hoe te starten,
Heb al heel wat lopen opzoeken, maar vind niet direct een ideale tutorial voor beginners.

Hoe kan ik het best beginnen met MVC?
Waar vind ik goede tutorials?

vriendelijke groeten,

Moe
 
PHP hulp

PHP hulp

09/02/2012 01:25:29
Gesponsorde koppelingen:
 
- Aar -

- Aar -

07/09/2009 18:36:00
Quote
Wil je gebruik maken van een bestaand framework, of een eigen framework bouwen?
 

07/09/2009 19:51:00
Quote
MVC gewoon doen wat je denkt te moeten doen in de aard van de theorie;

Begin eerst eens met models en los te maken; das voor vele al moeilijk genoeg.
 
Jan Koehoorn

Jan Koehoorn

07/09/2009 20:13:00
Quote
Paar tips als je MVC wilt leren:

1. Hou je View classes zo dom mogelijk. Een view doet eigenlijk niets meer dan je gegevens presenteren. De enige logica die erin zou zitten heeft met presentatie te maken. Dus bijvoorbeeld een for-loopje als je een array wilt laten zien, of misschien een class die een negatief getal in het rood laat zien via een if. View classes hebben vaak een array $viewdata, waarin je de waarden opslaat die nodig zijn voor een bepaalde view. Ook hangt er meestal een template aan een view, die je op de goede plek kunt requiren.

2. Laat alle DB logica aan je model classes over. Je database-laag kun je abstract maken met PDO. Daarop bouw je classes die basisdingen doen, zoals CRUD. Denk aan bijvoorbeeld een class PageModel, die de database-lociga afhandelt voor het aanmaken, bewerken en wissen van pagina's.

3. Stop de business-logica van je programma in je controllers. Veel MVC frameworks doen het op deze manier:

Door middel van een .htaccess bestandje maak je vriendelijke url's, zoals: http://www.mijnsite.nl/controller/action/id

Via GET haal je dan op, welke controller class er geladen moet worden, en welke action memberfunctie van die controller er uitgevoerd moet worden. Het id is dan handig als er iets bewerkt of gewist moet worden.

Om dit allemaal uit te vogelen wordt vaak een zgn. "FrontController" class gebruikt, die kijkt wat er allemaal in de GET array zit.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Bo az

Bo az

07/09/2009 21:23:00
Quote
@Jan, met het meeste ben ik het eens toch het volgende:
Toevoeging op FrontController: dit is een design pattern en hier is een goede uitleg te vinden: http://wiki.phpfreakz.nl/FrontController

Quote:
Stop de business-logica van je programma in je controllers.

Ik geef toe het is een punt waar over te discussiëren valt, maar ik zou dit ook in mijn models stoppen. Een controller dient voornamelijk als "doorgeefluik". Ik las eens "De enige goede controller is een lege controller." Beter bekend als "skinny controller fat model"
Code in een model is bijvoorbeeld veel makkelijker te hergebruiken dan code in een controller.

@TS:
Als je met MVC wilt leren werken is het volgens mij het makkelijkste om te beginnen met een bestaand MVC framework en gewoon wat tutorials te volgen, dan zal het van zelf duidelijker worden denk ik. Een goede om mee te beginnen is denk ik: codeigniter.
 
Jan Koehoorn

Jan Koehoorn

07/09/2009 21:48:00
Quote
@ Boaz: skinny controller fat model ken ik. Binnen MVC zijn er weer heel veel stijlen. Ik vind het overzichtelijker om de business-logica en de DB logica gescheiden te houden. Wat dat betreft is er voor elk wat wils.
 
Mr.Moe

Mr.Moe

07/09/2009 22:29:00
Quote
ik moet wel zeggen dat ik MVC ken van java! Dus de werking ervan ken ik wel. maar de opzet van de gebruikelijke router.class en registry.class zijn nieuw voor me.

Maar ik zal anders wel eens eerst beginnen met een bestaand framework, dan zal het me wel duidelijk worden.

is ZEND een goede om mee te starten?
 
Jan Koehoorn

Jan Koehoorn

07/09/2009 22:30:00
Quote
Zend is prima, maar je moet er wel in duiken. Ik raad je aan om eerst zelf een mini-framework in elkaar te sleutelen, zodat je tenminste ongeveer weet hoe het werkt.
 
Mar cel

Mar cel

07/09/2009 22:33:00
Quote
CakePHP is ook wel een goede:)
 
Mr.Moe

Mr.Moe

07/09/2009 22:40:00
Quote
@Jan: Ik leer eigenlijk het beste, als ik in de code van een goed voorbeeld kan duiken. Zeker als ik met iets nieuws begin.

Mss iemand een bestaand mini-framework?
 
Jan Koehoorn

Jan Koehoorn

07/09/2009 23:03:00
 
Mark PHP

Mark PHP

08/09/2009 00:07:00
Quote
MVC is een design pattern, wat wil zeggen dat het op 1001 manieren gerealiseerd kan worden. Bijna elk bestaand framework implementeert wel een MVC model.

In de posts hierboven wordt alles al een beetje beschreven, ben het alleen niet zo eens met de bewering dat views dom moeten zijn. Mijn insziens kan het een hoop gedoe besparen indien je de views enkele, read-only, permissies geeft.

Duik verder eens in de advanced discussies op phpfreakz, dat geeft je een goed beeld zonder direct vele regels code te moeten doorspitten.

Als je meteen naar een bestaand framework wilt kijken, zoek er dan wel een geschreven in PHP5.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Jan Koehoorn

Jan Koehoorn

08/09/2009 07:42:00
Quote
Nog een aanvulling:

binnen MVC wordt nog gebruik gemaakt van andere design patterns. Meestal het Registry Pattern, zodat je geen globals hoeft te gebruiken, het (reeds genoemde) Frontcontroller Pattern en het Singleton Pattern voor je database-connectie.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Tim

Tim

08/09/2009 09:43:00
Quote
Quote:
en het Singleton Pattern voor je database-connectie


Maar wat nu als je meerdere database-connecties wil hebben?

Zelf gebruik ik (haast) altijd een singleton registry waarin dus bijvoorbeeld meerdere databases kunnen worden opgenomen. Een registry hoeft maar één keer voor te komen, want indien er twee maal een bepaald element uit het registry nodig is, kan je er gewoon verschillende namen aan geven.
 
Mr.Moe

Mr.Moe

09/09/2009 16:34:00
Quote
@Aar: Ik zou graag zelf 1 maken, maar weet niet goed hoe eraan te beginnen.
 
Afra ca

Afra ca

09/09/2009 17:28:00
Quote
Agirre schreef op 08.09.2009 00:07:
MVC is een design pattern, wat wil zeggen dat het op 1001 manieren gerealiseerd kan worden. Bijna elk bestaand framework implementeert wel een MVC model.

In de posts hierboven wordt alles al een beetje beschreven, ben het alleen niet zo eens met de bewering dat views dom moeten zijn. Mijn insziens kan het een hoop gedoe besparen indien je de views enkele, read-only, permissies geeft.

Duik verder eens in de advanced discussies op phpfreakz, dat geeft je een goed beeld zonder direct vele regels code te moeten doorspitten.

Als je meteen naar een bestaand framework wilt kijken, zoek er dan wel een geschreven in PHP5.


Stem hiermee zeker in. Er is hier op het forum al eerder een discussie geweest over Frameworks, en daar werd toch wel enigszins geconcludeerd dat Kohana heel goed is op te pakken. Tevens is Kohana "Strict PHP 5 OOP" en "Uses the MVC pattern". Op de homepage staat nog wat meer en kan je het downloaden om een poging te wagen. Schroom natuurlijk niet hier je vragen te stellen!
 
Pepijn Schildkamp

Pepijn Schildkamp

09/09/2009 17:32:00
Quote
Waarom ga je niet eerst met 1 werken? Misschien snap je het dan allemaal wat beter.

PHPCake en CodeIgniter raad ik je aan om mee te beginnen. Voor het meer serieuze werk kun je er zelf 1 maken of kijken naar Zend.
 
Afra ca

Afra ca

09/09/2009 19:18:00
Quote
Pepijn schreef op 09.09.2009 17:32:
Waarom ga je niet eerst met 1 werken? Misschien snap je het dan allemaal wat beter.

PHPCake en CodeIgniter raad ik je aan om mee te beginnen. Voor het meer serieuze werk kun je er zelf 1 maken of kijken naar Zend.


Agree @ eerste , echter:

(lekker weer framework topic herhalen ^_^ ):

Ga geen codeigniter gebruiken. Als je nu toch begint, doe het dan gelijk goed en begin aan php5 OOP. Kohana bouwt voor op codeigniter maar dan met php5. En dan mag je van mij zelfs nog zend gaan gebruiken, die is ook nog wel wat bij de tijd ;) (maar wel wat lastig te leren) )maar wel MVC)
 
Pepijn Schildkamp

Pepijn Schildkamp

09/09/2009 19:23:00
Quote
Afra schreef op 09.09.2009 19:18:
Pepijn schreef op 09.09.2009 17:32:
Waarom ga je niet eerst met 1 werken? Misschien snap je het dan allemaal wat beter.

PHPCake en CodeIgniter raad ik je aan om mee te beginnen. Voor het meer serieuze werk kun je er zelf 1 maken of kijken naar Zend.


Agree @ eerste , echter:

(lekker weer framework topic herhalen ^_^ ):

Ga geen codeigniter gebruiken. Als je nu toch begint, doe het dan gelijk goed en begin aan php5 OOP. Kohana bouwt voor op codeigniter maar dan met php5. En dan mag je van mij zelfs nog zend gaan gebruiken, die is ook nog wel wat bij de tijd ;) (maar wel wat lastig te leren) )maar wel MVC)


klopt als een bus. Jammer aan codeigniter is dat het php 4 is. echter heb ik het wel via dat platform geleerd. En het gaat er hier toch om hoe je het best met MCV kunt werken?
 
Flip van Rijn

Flip van Rijn

09/09/2009 19:54:00
Quote
Ga dan Kohana gebruiken als je per se aan CodeIgniter wilt blijven kleven. Kohana is namelijk de PHP5 port van CodeIgniter en iet wat verbeterd.
 
Niborx Trump

Niborx Trump

09/09/2009 20:20:00
Quote
Codeigniter om mee te beginnen, daarna uiteraard Zend.
 

Pagina: 1 2 volgende »



Overzicht Reageren