MVC Routing

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Robot Programmeur

Een verantwoordelijke baan met leuke uitdagingen. Heb jij ervaring met het programmeren van robots? Kan jij goed samenwerken met collega's die verschillende specialisaties hebben? Ben je oplossingsgericht, analytisch en flexibel? Ga dan aan de slag als Robot Programmeur bij Gibas in Nijkerk! Als Robot Programmeur kom je te werken bij Gibas. Dat betekent dat je gegarandeerd meewerkt aan unieke oplossingen in productieprocessen. Bij elk project moet er opnieuw geëngineerd en geprogrammeerd worden. Dat maakt jouw werk uitdagend! Voordat je robots gaat programmeren komt er het volgende bij kijken: De opdracht gaat van de afdeling Sales naar de afdeling Operations door

Bekijk vacature »

Front-end PHP Developer

Dit ga je doen Bouwen van de frontend van een nieuwe applicaties; Verbeteren van de user experience; Opstellen van een style guide; Schakelen met collega developers over de te bouwen oplossing; Je speelt een belangrijke rol in het neerzetten van het nieuwe systeem; Werken met o.a. Symfony 6, API Platform, Twig, Javascript, Redis Automatiseren van processen; Koppelen van verschillende functionaliteiten; Unit tests, integration tests, end-to-end tests; In de toekomst ga je nog werken aan andere projecten. Hier ga je werken Voor onze vaste opdrachtgever in de regio Breda zijn wij op zoek naar een Frontend Developer. Het betreft een organisatie

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 »

Node.js developer looking for a challenging consul

Functie Under the guidance of 3 account managers, one of whom will be your point of contact within your expertise, you will start working for various clients. He or she will help you find a suitable and challenging assignment. Naturally, they will take your situation, experience and (technical) ambitions into account. The assignments last one to two years on average. This allows you to really commit to a project and make an impact as a consultant. Besides the assignment, you will regularly meet your colleagues from the IT department to share knowledge or discuss new trends, for example. Master classes

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Junior .NET developer

Functie Wij zijn bezig met het ontwikkelen van een nieuw product en wij hebben jouw hulp hierbij nodig! Als junior .NET ontwikkelaar krijg jij de kans om samen met ons deze nieuwe uitdaging aan te gaan! Momenteel bestaat ons team uit drie interim Software Engineers. Twee hiervan zijn zeer ervaren .NET specialisten die inmiddels hun strepen in dit vakgebied al hebben behaald. Ook hebben wij een junior als onderdeel van ons team die zich op dit moment nog bezig houdt met de Front-end (Angular/TypeScript), maar zich nu ook meer gaat verdiepen in de backend. Wij willen ons team graag verder

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

PHP ontwikkelaar

Functie Jij komt te werken in een development team van 9 man. Het grootste deel doet back end development en daarnaast is er 1 teamlead en 1 tester in het team. Dit Agile team is van groots belang voor de organisatie omdat zij voornamelijk alle eigen systemen in-house ontwikkelen. Naast het door ontwikkelen van het bestaande platform en de software die daarbij komt kijken, zul jij je ook bezighouden met het realiseren en opzetten van nieuwe projecten binnen het bedrijf. Je staat nauw met de klant in contact om zo hun wensen zo goed mogelijk te kunnen realiseren. Daarnaast ontwikkel

Bekijk vacature »

Pagina: « vorige 1 2

Roy B

Roy B

24/11/2014 13:07:02
Quote Anchor link
Dus als ik het goed begrepen heb..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
// controllers/newsitem.php
class NewsitemController extends Controller
{
    private _model;

    public function __construct()
    {

        $this->_model = new NewsitemModel();
    }


    public function getLatest()
    {

        return $this->_model->getLatest();
    }
}


// models/newsitem.php
class NewsitemModel extends Model
{
    public function getLatest()
    {

        $select = "SELECT * FROM newsitems ORDER BY id DESC";
        $query = $this->_database->query($select);

        if($query->rowCount() > 0)
        {

            return $query->fetchAll();
        }
    }
}


$controller = new NewsitemController();
$newsitems = $controller->getLatest();
?>
Gewijzigd op 24/11/2014 13:14:13 door Roy B
 
PHP hulp

PHP hulp

26/04/2024 00:07:07
 
Ozzie PHP

Ozzie PHP

24/11/2014 13:13:34
Quote Anchor link
@Roy:

Ja, lijkt me prima.

Je moet alleen nog wel het resultaat van getLatest() ergens in stoppen ...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$recent_news
= $controller->getLatest();
?>
 
Roy B

Roy B

24/11/2014 13:16:10
Quote Anchor link
@Ozzie,
Klopt, had ik al gezien. Heb mijn post al aangepast :)

Hoe zit dit dan verder met de route?
Stel mijn url is /nieuws, dan wil ik een overzicht tonen van alle nieuwsitems. Stel mijn url is /nieuws/dit-is-mijn-eerste-nieuwsitem, dan wil ik het specifieke nieuwsitem tonen. En zo verder...
 
Ward van der Put
Moderator

Ward van der Put

24/11/2014 13:32:20
Quote Anchor link
Ja, precies: je kunt nu honderden of duizenden applicaties tegelijk verbouwen door alleen die ene controller te herschrijven.

Als je meerdere nieuwsitems hebt, wat niet onwaarschijnlijk klinkt, kun je er beter nog een controller naast zetten. De methode getLatest() heeft binnen één nieuwsitem zelf immers geen betekenis. Er is geen laatste nieuwsitem binnen één nieuwsitem.

Wel kunnen ze eventueel hetzelfde model delen: dáárin dient de methode getLatest() een duidelijk doel, net zoals bijvoorbeeld getPrevious() en getNext() om te bladeren.

Google anders maar eens op het data mapper pattern en het factory method pattern. Een factory is een oplossing voor wat je nu met getLatest() doet: je wilt niet zomaar een nieuwsitem, maar specifiek het laatste nieuwsitem. Dat is in alle opzichten identiek aan andere nieuwsitems, met één verschil: het is het item met de laatste publicatiedatum en -tijd.
 
Ozzie PHP

Ozzie PHP

24/11/2014 13:33:18
Quote Anchor link
>> Hoe zit dit dan verder met de route?

Dat is weer een heel andere discussie. Ik heb je alleen even geholpen met het model-verhaal ;)

Een route koppel je aan een action (actie). Uit de route moet je afleiden om welke actie het gaat. Dus /nieuws koppel je bijvoorbeeld aan een showNewsAction() en /nieuws/item/1/mijn-eerste-nieuws-item koppel je aan showItemAction waarbij in dit geval 1 het ID van het item in de database is.

Toevoeging op 24/11/2014 13:38:24:

@Ward:

>> Er is geen laatste nieuwsitem binnen één nieuwsitem.

Ik snap wat je bedoelt. Wellicht is het dan handiger om de controller niet NewsItemController te noemen, maar simpelweg NewsController, met als actions bijvoorbeeld show($amount), showItem($id) en showRecent($amount).

Valt me nog even op nu dat Roy dit doet:

$newsitems = $controller->getLatest();

Eigenlijk is een MVC patroon bedoeld om direct dingen te tonen (de V staat voor View). In dat geval zou het dus logischer zijn om te kiezen voor:

$controller->showRecent();

De controller zorgt dan ook dat de recente items daadwerkelijk worden getoond in de browser.
Gewijzigd op 24/11/2014 13:40:54 door Ozzie PHP
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/11/2014 14:42:10
Quote Anchor link
Routes:

stel je hebt

'http://mydomain.com/news/' // alle nieuwsitems moeten getoond worden (in een lijst met titels)
'http://mydomain.com/news/latest' // de laatste 20 nieuwsitems moeten getoond worden (in een lijst met titels)
'http://mydomain.com/news/show/12' // laat één nieuwsbericht zien met id=12


en je hebt een NewsController:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
class NewsController
{
    public function indexAction() {}
    public function latestAction() {}
    public function showAction($id) {}
}

?>


Dan moet de Dispatcher (Of hoe je dat geval ook wilt noemen) er voor zorgen dat bij de eerste route in mijn lijstje de indexAction methode wordt aangeroepen en dat bij de tweede route in mijn lijstje de latestAction methode wordt aangeroepen. Bij de derde wordt het extra interessant want daar zit een variabele waarde in.
Die 12 kan immers net zo goed een ander getal zijn. Leuke uitdaging :p

Je zult dus ergens een lijst, array, xml of whatever moeten opslaan waarin aangegeven staat welke controller aangeroepen moet worden bij welke route er opgevraagd wordt.

Als je het slim wilt doen dan zorg je ook dat je heel makkelijk linkjes (denk aan <a href="..." >blabla</a> kunt maken in je view.

DUS:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$routes
= array(
    'latest_news' => new $route('news/latest'),
    // en nog véél meer routes ...
);
?>

en in de view:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="{{ path('latest_news') }}">Laatste nieuws</a>


Dit is dan even hoe het in Symfony & Twig gedaan wordt. path maakt dan van de route-label een echte route als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
/news/latest
Gewijzigd op 24/11/2014 15:01:11 door Frank Nietbelangrijk
 
Roy B

Roy B

24/11/2014 15:31:14
Quote Anchor link
@Ozzie,
Ozzie PHP op 24/11/2014 13:33:18:
Valt me nog even op nu dat Roy dit doet:

$newsitems = $controller->getLatest();

Eigenlijk is een MVC patroon bedoeld om direct dingen te tonen (de V staat voor View). In dat geval zou het dus logischer zijn om te kiezen voor:

$controller->showRecent();

De controller zorgt dan ook dat de recente items daadwerkelijk worden getoond in de browser.

Hoe zou ik de view dan kunnen koppelen?

@Frank,
Frank Nietbelangrijk op 24/11/2014 14:42:10:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$routes
= array(
    'latest_news' => new $route('news/latest'),
    // en nog véél meer routes ...
);
?>


en in de view:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<a href="{{ path('latest_news') }}">Laatste nieuws</a>


Dit is dan even hoe het in Symfony & Twig gedaan wordt. path maakt dan van de route-label een echte route als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
/news/latest

Dus stel ik zet mijn routes in een array...
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$routes
= array(
    "nieuws" => new $route("nieuws'),
    ...
);

?>

Hoe weet de route dan welke controller moet worden aangeroepen?
En welke methode vervolgens moet worden aangeroepen?
Gewijzigd op 24/11/2014 15:32:30 door Roy B
 
Ozzie PHP

Ozzie PHP

24/11/2014 15:43:35
Quote Anchor link
>> Hoe zou ik de view dan kunnen koppelen?

Dat moet je dus gaan inbouwen. Vanuit de betreffende action ga je dan een view genereren. In je showNewsItemAction() komt dus aan het eind iets te staan als $this->render('newsitem.phtml').
 
Roy B

Roy B

24/11/2014 16:01:21
Quote Anchor link
Ozzie PHP op 24/11/2014 15:43:35:
Dat moet je dus gaan inbouwen. Vanuit de betreffende action ga je dan een view genereren. In je showNewsItemAction() komt dus aan het eind iets te staan als $this->render('newsitem.phtml').

Dan krijg ik dus zoiets?
En wat gebeurt er dan in render()?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
class Controller
{
    public function render($file)
    {

    }
}


class NewsitemController extends Controller
{
    private _model;

    public function __construct()
    {

        $this->_model = new NewsitemModel();
    }


    public function getLatest()
    {

        $newsitems = $this->_model->getLatest();

        $this->render("nieuws.html");
    }
}


// models/newsitem.php
class NewsitemModel extends Model
{
    public function getLatest()
    {

        $select = "SELECT * FROM newsitems ORDER BY id DESC";
        $query = $this->_database->query($select);

        if($query->rowCount() > 0)
        {

            return $query->fetchAll();
        }
    }
}


$controller = new NewsitemController();
$controller->getLatest();
?>
Gewijzigd op 24/11/2014 16:02:26 door Roy B
 
Ward van der Put
Moderator

Ward van der Put

24/11/2014 16:04:25
Quote Anchor link
>> En wat gebeurt er dan in render()?

Daarin roept de controller de view aan.
Die methode wordt ook vaak index() genoemd, omdat deze zich gedraagt als een index.html of index.php.
 
Ozzie PHP

Ozzie PHP

24/11/2014 16:08:04
Quote Anchor link
>> En wat gebeurt er dan in render()?

Die include de view die jij meegeeft, waarschijnlijk met daarbij ook nog een array, waarvan je de data in de view kunt gebruiken. De view laten we dan meestal eindigen op de extensie .phtml (een combinatie van html en PHP).
 
Roy B

Roy B

24/11/2014 16:11:17
Quote Anchor link
Kun je eens een voorbeeldje geven hoe dat precies werkt dan?
 
Ozzie PHP

Ozzie PHP

24/11/2014 16:20:47
Quote Anchor link
Zoiets als dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php

// in je news controller
    public function getLatest()
    {

        $newsitems = $this->_model->getLatest();

        $this->render("nieuws.phtml", array('newsitems' => $newsitems, 'title' => 'nieuws'));
    }


// in je controller
public function render($view, $data) {
    extract($data);
    include 'path/to/views/' . $view;
}


// in je view

echo $title;

print_r($newsitems);

?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

24/11/2014 17:00:50
Quote Anchor link
Goed even een starter voor je om op gang te komen.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php

class Route
{
    private $path;
    private $controller;
    private $action;
    
    function
__construct($path, $controller, $action = 'index') {
        $this->path = $path;
        $this->controller = $controller;
        $this->action = $action;
    }
    
    function
getPath()
    {

        return $this->path;
    }
    
    function
getController()
    {

        return $this->$controller;
    }
    
    function
getAction()
    {

        return $this->$action;
    }
}


class Dispatcher
{
    private $routes;
    
    function
__construct($routes) {
        $this->routes = $routes;
    }

    
    public function matchRoute($path)
    {

        $pathParts = explode('/', $path);
        
        foreach($this->routes as $route)
        {

            if($this->compareRouteParts(explode('/', $route->getPath()), $pathParts))
                return $route;
        }

        
        return NULL;
    }

    
    private function compareRouteParts($routeParts, $pathParts)
    {

        // als de twee arrays ongelijk zijn van lengte dan zijn de routes sowiezo niet gelijk
        if(count($routeParts) != count($pathParts))
            return FALSE;
        
        // loop dan nu door alle elementen in de array's
        for($i = 0 ; $i < count($routeParts) ; $i++)
        {

            // variabelen zijn altijd geldig
            if($routeParts[$i][0] == ':')
                continue;
            
            // indien dit deel geen variabele is dan moeten de elementen dus gelijk zijn
            if($pathParts[$i] != $routeParts[$i])
                return FALSE;
        }

        
        return TRUE;
    }
}


$routes = array(
    'news' => new Route('news', 'News'),
    'news_latest' => new Route('news/latest', 'News', 'latest'),
    'news_show' => new Route('news/show/:id', 'News', 'show'),
);


$dispatcher = new Dispatcher($routes);

$route = $dispatcher->matchRoute('news');
if($route) {
    var_dump($route); echo '<br>';
}
else
    echo 'ongeldige route<br>';

$route = $dispatcher->matchRoute('news/latest');
if($route) {
    var_dump($route); echo '<br>';
}
else
    echo 'ongeldige route<br>';

$route = $dispatcher->matchRoute('news/show/12');
if($route) {
    var_dump($route); echo '<br>';
}
else
    echo 'ongeldige route<br>';

$route = $dispatcher->matchRoute('news/pannekoek');
if($route) {
    var_dump($route); echo '<br>';
}
else
    echo 'ongeldige route<br>';

?>
Gewijzigd op 24/11/2014 18:18:34 door Frank Nietbelangrijk
 
Roy B

Roy B

20/01/2015 16:09:29
Quote Anchor link
Oke, nog even terugkomend op deze discussie...
Het is even geleden, maar ik had niet eerder tijd ervoor.

Ik heb nu het volgende:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// routes.php
$routes = array();
$routes[] = array("route" => "nieuws", "controller" => "Newsitem", "action" => "index");
$routes[] = array("route" => "nieuws/{titel}", "controller" => "Newsitem", "action" => "show");

// index.php
include "includes/config.php";
include "includes/routes.php";

$request = new Request();

// Save our request
$registry = new Registry();
$registry->set("request", $request);

// En hoe dan verder?
?>


Stel mijn route is /nieuws/dit-is-een-titel.
Dan moet er dus gekeken worden welke controller hier aan gekoppeld moet worden en welke action uitgevoerd moet worden. In dit geval zou dat de show action zijn van de NewsitemController. Maar hoe bepaal ik nu welke controller moet worden aangeroepen bij welke URL?
Gewijzigd op 20/01/2015 16:11:12 door Roy B
 

Pagina: « vorige 1 2



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.