rename formatter to responder, formatResponse to buildResponse
This commit is contained in:
parent
c590244fa1
commit
cb666c18d6
4 changed files with 19 additions and 19 deletions
|
@ -171,7 +171,7 @@ class Dispatcher {
|
|||
}
|
||||
}
|
||||
|
||||
$response = $controller->formatResponse($response, $format);
|
||||
$response = $controller->buildResponse($response, $format);
|
||||
}
|
||||
|
||||
return $response;
|
||||
|
|
|
@ -51,7 +51,7 @@ abstract class Controller {
|
|||
protected $request;
|
||||
|
||||
private $serializer;
|
||||
private $formatters;
|
||||
private $responders;
|
||||
|
||||
/**
|
||||
* constructor of the controller
|
||||
|
@ -71,8 +71,8 @@ abstract class Controller {
|
|||
$this->appName = $appName;
|
||||
$this->request = $request;
|
||||
|
||||
// default formatters
|
||||
$this->formatters = array(
|
||||
// default responders
|
||||
$this->responders = array(
|
||||
'json' => function ($response) {
|
||||
return new JSONResponse($response);
|
||||
}
|
||||
|
@ -94,34 +94,34 @@ abstract class Controller {
|
|||
/**
|
||||
* Registers a formatter for a type
|
||||
* @param string $format
|
||||
* @param \Closure $closure
|
||||
* @param \Closure $responder
|
||||
*/
|
||||
protected function registerFormatter($format, \Closure $formatter) {
|
||||
$this->formatters[$format] = $formatter;
|
||||
protected function registerResponder($format, \Closure $responder) {
|
||||
$this->responders[$format] = $responder;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Serializes and formats a response
|
||||
* @param mixed response the value that was returned from a controller and
|
||||
* @param mixed $response the value that was returned from a controller and
|
||||
* is not a Response instance
|
||||
* @param string $format the format for which a formatter has been registered
|
||||
* @throws \DomainException if format does not match a registered formatter
|
||||
* @return Response
|
||||
*/
|
||||
public function formatResponse($response, $format='json') {
|
||||
if(array_key_exists($format, $this->formatters)) {
|
||||
public function buildResponse($response, $format='json') {
|
||||
if(array_key_exists($format, $this->responders)) {
|
||||
|
||||
if ($this->serializer) {
|
||||
$response = $this->serializer->serialize($response);
|
||||
}
|
||||
|
||||
$formatter = $this->formatters[$format];
|
||||
$responder = $this->responders[$format];
|
||||
|
||||
return $formatter($response);
|
||||
return $responder($response);
|
||||
|
||||
} else {
|
||||
throw new \DomainException('No formatter registered for format ' .
|
||||
throw new \DomainException('No responder registered for format ' .
|
||||
$format . '!');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ class ToUpperCaseSerializer implements IResponseSerializer {
|
|||
|
||||
class ChildController extends Controller {
|
||||
public function custom($in) {
|
||||
$this->registerFormatter('json', function ($response) {
|
||||
$this->registerResponder('json', function ($response) {
|
||||
return new JSONResponse(array(strlen($response)));
|
||||
});
|
||||
|
||||
|
@ -155,12 +155,12 @@ class ControllerTest extends \PHPUnit_Framework_TestCase {
|
|||
* @expectedException \DomainException
|
||||
*/
|
||||
public function testFormatResonseInvalidFormat() {
|
||||
$this->controller->formatResponse(null, 'test');
|
||||
$this->controller->buildResponse(null, 'test');
|
||||
}
|
||||
|
||||
|
||||
public function testFormat() {
|
||||
$response = $this->controller->formatResponse(array('hi'), 'json');
|
||||
$response = $this->controller->buildResponse(array('hi'), 'json');
|
||||
|
||||
$this->assertEquals(array('hi'), $response->getData());
|
||||
}
|
||||
|
@ -168,7 +168,7 @@ class ControllerTest extends \PHPUnit_Framework_TestCase {
|
|||
|
||||
public function testCustomFormatter() {
|
||||
$response = $this->controller->custom('hi');
|
||||
$response = $this->controller->formatResponse($response, 'json');
|
||||
$response = $this->controller->buildResponse($response, 'json');
|
||||
|
||||
$this->assertEquals(array(2), $response->getData());
|
||||
}
|
||||
|
@ -176,7 +176,7 @@ class ControllerTest extends \PHPUnit_Framework_TestCase {
|
|||
|
||||
public function testCustomSerializer() {
|
||||
$response = $this->controller->serializer('hi');
|
||||
$response = $this->controller->formatResponse($response, 'json');
|
||||
$response = $this->controller->buildResponse($response, 'json');
|
||||
|
||||
$this->assertEquals(array('HI'), $response->getData());
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ class TestController extends Controller {
|
|||
* @param bool $bool
|
||||
*/
|
||||
public function exec($int, $bool) {
|
||||
$this->registerFormatter('text', function($in) {
|
||||
$this->registerResponder('text', function($in) {
|
||||
return new JSONResponse(array('text' => $in));
|
||||
});
|
||||
return array($int, $bool);
|
||||
|
|
Loading…
Reference in a new issue