[PHP] MVC laden van meer modules

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben begonnen met een klein MVC framework voor PHP te schrijven/gebruiken.

Als ik bijvoorbeeld naar volgende link zou gaan:

http://example.com/users/login/inloggen

zal de controller de module users includen, en in de klasse login de functie "inloggen" uitvoeren.
Maar wat nu als ik bijvoorbeeld een pagina wil maken die een overzicht geeft van een aantal modules: bijvoorbeeld laatste 5 nieuws berichten, laatste 5 foto's,....

dan heb ik toch meerdere van deze modules nodig. hoe wordt dit dan meestal gerealiseerd?


En tenslotte nog een kleine vraag:
Bestaat er een mogelijkheid om in een java applicatie te weten te komen als mijn database aangepast wordt (dus een create of alter table statement). Bij elke create of alter table zou er iets moete uitgevoerd worden in mijn java applicatie, maar hoe kan dit het gemakkelijkst gemaakt worden?

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Gewoon meerdere modellen aanspreken in je controller...

Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Verwijderd schreef op woensdag 29 juli 2009 @ 19:45:
Ik ben begonnen met een klein MVC framework voor PHP te schrijven/gebruiken.

zal de controller de module users includen, en in de klasse login de functie "inloggen" uitvoeren.
Maar wat nu als ik bijvoorbeeld een pagina wil maken die een overzicht geeft van een aantal modules: bijvoorbeeld laatste 5 nieuws berichten, laatste 5 foto's,....

dan heb ik toch meerdere van deze modules nodig. hoe wordt dit dan meestal gerealiseerd?
Laten we even met de controller beginnen. Heb je je eigenlijk weleens afgevraagd wat een controller is en welk design pattern het gebruikt? Een controller is een facade en een goede controller doet zelf niets anders dan enkel een paar objecten aanmaken en het resultaat aan een view meegeven.

Bij een overzicht pagina zal je controller instanties aanmaken van je NewsRepository, PictureRepository, etc.
Zelf vind ik het gemakkelijkst om een 'data holder' te maken met de properties NewsItem, PictureItems, etc. De dataholder geef je dan door aan de view. Maar eventueel kun je de collecties ook los meegeven aan de view.

Daarnaast als je besluit zelf een MVC framework te schrijven, kijk dan wel in elk geval hoe andere frameworks de problemen waar jij tegen aanloopt oplossen. En beperk je niet alleen tot PHP frameworks, want er zijn ook zeer goede frameworks voor Ruby, Java en .NET en vrijwel elke framework heeft wel een paar handigheidjes.

Wel verwarrend vind ik dat je topic aangeeft dat het een PHP applicatie betreft, maar je start topic eindigt met het statement dat database wijzigingen moeten worden doorgegeven aan een Java applicatie. Je stelt nou toch geen twee verschillende vragen in 1 topic toch? Dat zorgt alleen maar voor verwarring en er is een grote kans dat je op beide vragen dan niet het juiste antwoord krijgt.

If it isn't broken, fix it until it is..


Acties:
  • 0 Henk 'm!

  • rednek
  • Registratie: Juli 1999
  • Laatst online: 01-09 17:44
Waarom gebruik je niet gewoon Zend Framework. Hoe jouw framework wordt zo is het al in ZF.

Acties:
  • 0 Henk 'm!

  • XiniX88
  • Registratie: December 2006
  • Laatst online: 17-09 19:30
Verwijderd schreef op woensdag 29 juli 2009 @ 19:45:
Ik ben begonnen met een klein MVC framework voor PHP te schrijven/gebruiken.

Als ik bijvoorbeeld naar volgende link zou gaan:

http://example.com/users/login/inloggen

zal de controller de module users includen, en in de klasse login de functie "inloggen" uitvoeren.
Maar wat nu als ik bijvoorbeeld een pagina wil maken die een overzicht geeft van een aantal modules: bijvoorbeeld laatste 5 nieuws berichten, laatste 5 foto's,....

dan heb ik toch meerdere van deze modules nodig. hoe wordt dit dan meestal gerealiseerd?
Als je MVC werkt neem ik aan dat je ook hebt leren UML'en, zou je deze modellen (mits je ze hebt gemaakt) kunnen geven, dan kan ik je precies vertellen waar je design flaw zit. Elk probleem waar je tegenaanloopt is namelijk niets anders dan een fout in je ontwerp.

Of ben je netjes MVC aan het programmeren maar vergeet je de hele ontwerpfase? Indien dat het geval is, kan je liever MVC ook maar laten zitten ;). Een completen eifeltoren maak je ook niet zonder dat er eerst over na is gedacht. Of kijk zoals hier boven is genoemd naar reeds werkende frameworks (een framework is dan nog geen MVC, maar dr staan genoeg tutorials over). OF gebruik eerst CakePHP (leert je goed MVC programmeren).

[ Voor 30% gewijzigd door XiniX88 op 30-07-2009 10:46 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bij een overzicht pagina zal je controller instanties aanmaken van je NewsRepository, PictureRepository, etc.
Zelf vind ik het gemakkelijkst om een 'data holder' te maken met de properties NewsItem, PictureItems, etc. De dataholder geef je dan door aan de view. Maar eventueel kun je de collecties ook los meegeven aan de view.
ok bedankt hier heb ik iets aan.

Ook de rest bedankt voor de reacties.


Ja idd ik stel eig een (kleine) tweede vraag in het topic (leek me irritant om 2 topics onmiddelijk na elkaar te starten en vraag is maar klein):

Bestaat er een mogelijkheid om in een java applicatie te weten te komen als mijn database aangepast wordt (dus een create of alter table statement). Bij elke create of alter table zou er iets moete uitgevoerd worden in mijn java applicatie, maar hoe kan dit het gemakkelijkst gemaakt worden?
Pagina: 1