사용자 지정 메서드는 어떻게 만듭니 까? 나는 POST, PUT, GET, DELETE 등과 같은 다른 HTTP 호출을 할 때를 이해하지만, 어떻게 작성하거나 주요 사용자 정의 방법을 제쳐 놓고 사용합니까?ZF2 AbstractRestfulController 사용자 지정 메서드
예 :
이메일로 사용자를 받으시겠습니까?
현재 ($ id) 만 얻을 수는 있지만 두 옵션을 모두 원한다면 어떻게해야합니까? 이드, 이메일로 얻을?
사용자 지정 메서드는 어떻게 만듭니 까? 나는 POST, PUT, GET, DELETE 등과 같은 다른 HTTP 호출을 할 때를 이해하지만, 어떻게 작성하거나 주요 사용자 정의 방법을 제쳐 놓고 사용합니까?ZF2 AbstractRestfulController 사용자 지정 메서드
예 :
이메일로 사용자를 받으시겠습니까?
현재 ($ id) 만 얻을 수는 있지만 두 옵션을 모두 원한다면 어떻게해야합니까? 이드, 이메일로 얻을?
여기에는 몇 가지 해결책이 있습니다.
사용자의 이메일에 대한 GET
/query 매개 변수와 함께 http 요청을 수집 경로 ('www.example.com/users')에 보낼 수 있습니다. 이 요청은 AbstractRestfulController
방법 getList
내부에서 처리해야하며 해당 이메일에 해당하는 사용자와 컬렉션/배열을 반환해야합니다.
그래서 이메일 [email protected]
와 사용자에 대한 요청은 다음과 같을 것이다 :
http://www.example.com/users?email=some_email%40example.com
당신은 당신이 검색어 매개 변수를 처리 할 수있는 방법으로 getList 동작을 사용자 정의 할 필요가있다. 이 같은 컨트롤러의 뭔가 :
$email = $this->params()->fromQuery('email');
그럼 당신은 $email
와 사용자 데이터베이스에서 검색 한 후 배열이나 컬렉션을 반환해야합니다. ZF2에서 일반적으로 같은 그 컨트롤러 액션에
public function myCustomAction(){
-- SOME CUSTOM CODE --
}
다음 라우터에 사용자 정의 경로를 소개하고지도 :
또 다른 방법은 컨트롤러에 사용자 지정 작업을 추가하는 것입니다
'my_custom_route' => array(
'type' => 'literal',
'options' => array(
'route' => '/my_custom_route',
'defaults' => array(
'controller' => 'MyControllerWithCustomAction',
'action' => 'myCustomAction',
),
),
),
이메일을 통해 사용자를 찾을 수있는 맞춤 경로를 추가한다는 의미입니다. 비록 ZF2가 이것을 가능하게 해줄지라도 그것은 적절한 Restful 연습에 따르지 않습니다.