나는 모든 JSON 응답 (something like Standardised JSON response from views)을 원한다. 다음은 JSON 응답 예를젠드 프레임 워크 용 사용자 정의 표준 JSON 응답
{
"status" : "failure",
"errors" : {
"name" : [ "Error text 1", "Error text 2" ],
"email" : [ "Email error text" ]
}
}
입니다 그리고 여기에 클래스
class JsonResponse
{
protected $_errors = array();
public function addError($key, $value) {
$this->_errors[$key][] = $value;
return $this;
}
public function setFormErrors(Zend_Form_Abstract $form) {
$this->_errors = $form->getErrors();
return $this;
}
public function __toArray() {
if (!empty($this->errors)) {
return array(
'status' => 'fail',
'errors' => $errors,
);
}
return array(
'status' => 'success',
);
}
public function __toString() {
return json_encode($this->__toArray());
}
}
모든 위대한 내 standartised JSON 응답을 구현하지만,이 클래스를 사용하면 엉덩이에 진짜 고통이다.
class App_Controller extends Zend_Action_Controller
{
public function submitAction()
{
$form = new App_Form();
$form->isValid($this->getRequest()->getPost());
//disabling displaying layout
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$response = new JsonResponse();
$response->setFormErrors($form);
echo $response;
}
}
저는 젠드 프레임 워크에서 진짜 놈입니다. 가장 좋은 포장 방법은 무엇입니까 JsonResponse?
- 도우미
- 는
Zend_Controller_Response_Abstract
- 새로운 컨텍스트 스위치가
- 이
Form
가장 좋은 방법은 무엇인가에 구현 확장?
Creating a custom JSON response object with Zend Action Helper ContextSwitch - 좋은 방법이지만 여전히 너무 많은 코드가 필요합니다.