Ik ben met een eigen MVC. Nu vraag ik mij af hoe ik mijn routes het beste kan opslaan. In een array? In een database? Ik zie dat Symfony dit doet in een XML. Daarnaast ben ik er nog niet helemaal uit hoe slugs precies werken? Stel ik heb een URL /nieuws/dit-is-een-titel, de route die hier bij hoort is dan /nieuws/{title}. Maar hoe dan? Hoe weet het systeem nu welke route aan welke Controller gekoppeld moet worden?

Tips graag :)
Je kunt in een eenvoudige opzet uitgaan van twee "formules":

route = controller + action

- of -

route = controller + view

Bijvoorbeeld de route /nieuws/dit-is-een-titel is een instructie aan een nieuwscontroller om het opgegeven nieuwsitem te tonen. De router moet daarvoor begrijpen dat /nieuws/ bestemd is voor die ene controller, niet voor andere controllers.

Wáár je die routes opslaat, is bijzaak. Ideaal is een ontwerp waarin maar één component weet waar Abraham de mosterd haalt. En dan alleen nog de eigen mosterd. Dat is de taak van de models, niet van de routes of de router en ook niet van de controllers.

Het model voor nieuws kan dan bijvoorbeeld een database gebruiken terwijl het model voor banners een geheel andere data resource aanboort.
Kun je een voorbeeldje geven?
Misschien is het beter om eerst een populair framework (zoals Laravel, Symfony of ZF) te gebruiken. Je duikt nu het diepe in door een framework te maken, terwijl je nog niet echt duidelijkheid hebt over wat een framework eigenlijk is en wat er verwacht wordt van een framework.

Als je eerst een tijdje met een framework werkt heb je dit beter door. Daarna kun je gaan beslissen of je het nog wel nodig vindt om zoveel tijd te steken in het maken van je eigen framework. :)
@Ward, vergeet niet variables in je voorbeelden.

route = controller (class) + view (function) + arguments

Reageren