9.3 Controllers output
Every Controller in his handle method must produce an output to be processed by Response. It can happen in 3 ways: 1) the Controller directly produce an output, using echo; 2) the Controller set an output content to Response: $Response->setContent($output); 3) the Controller ask to render a View: $Response->setView($view);
Lets see an example for each of them.
Direct output
<?php
/**
* @param \metadigit\core\http\Request $Req
* @param \metadigit\core\http\Response $Res
* @param string $name
*/
function myAction(Request $Req, Response $Res, $name) {
echo ‘Your name is ‘.$name;
}
Set output content to Response
<?php
/**
* @param \metadigit\core\http\Request $Req
* @param \metadigit\core\http\Response $Res
* @param string $name
*/
function myAction(Request $Req, Response $Res, $name) {
$output = 'Your name is '.$name;
$Response->setContent($output);
}
Render a View
<?php
/**
* @param \metadigit\core\http\Request $Req
* @param \metadigit\core\http\Response $Res
* @param string $name
*/
function myAction(Request $Req, Response $Res, $name) {
$Response->set([
‘name’ => $name,
‘var’ => ‘some value’
])->setView(‘my_view’);
}
Updated about 1 month ago