제목 | XML-RPC 다른 컨트롤러 메서드 실행이 안되는거 같아요. | ||
---|---|---|---|
글쓴이 | coens | 작성시각 | 2010/12/27 10:54:16 |
|
|||
제목처럼 XML-RPC쓸때 실행할 메서드가 다른 컨트롤러에 있으면 실행이 안되는거 같은데욥... XML-RPC 서버 생성 Creating an XML-RPC ServerXML-RPC 서버는 교통경찰같이 동작합니다. 요청을 기다리고 들어온 요청에 대해서는 적합한 함수로 연결(redirect) 해 줍니다. XML-RPC 서버를 생성하려면,요청을 받을 컨트롤러에서 XML-RPC 서버 클래스를 초기화하고 들어온 요청을 적절한 클래스/함수로 연결하는 규칙을 배열로 설정해야 합니다. 아래 예제를 보세요:
위예제는 서버가 받아들일 두가지 요청처리 메소드를 정의하고 있습니다. 요청을 받는 메소드는 배열의 왼쪽에 있습니다. 둘중 하나의 요청이 들어오면, 오른쪽에 있는 클래스/함수로 매핑됩니다. 'object'키는 실재객체(instantiated class object)를 전달하는 특별한 키입니다. 매핑하고자하는 메소드가 CodeIgniter 부모객체(super object)의 일부가 아닐때 필요합니다. 다시말해, XML-RPC 클라이언트가 new_post 메소드에 대한 요청을 전송하면, 여러분의 서버는 My_blog 클래스를 로드한후 new_entry 함수를 호출합니다.update_post 메소드에 대한 요청이 들어오면 , 서버는 My_blog 클래스를 로드한 후 update_entry 함수를 호출 합니다. 위 예제의 함수이름은 임의로 지은것입니다. 서버 요청 처리 Processing Server RequestsXML-RPC 서버가 요청을 받고 클래스/메소드 를 로드하면, 클라이언트로 부터 받은 데이터를 그 메소드로 넘겨주게 됩니다. 위의 예제에서 new_post 메소드가 요청되면, 서버는 아래와 같은 형태의 클래스가 있을것이라고 기대합니다:
$request 변수는 서버에서 구성(compile)된 객체이며,클라이언트로부터 전달된 데이터를 포함하고 있습니다.요청을 처리하기위해 요청파라미터(request parameters)에 접근하려면 이 객체를 사용합니다. 처리가 끝나면 여러분은 응답(Response)을 클라인트에게 되돌려줄것입니다. |
|||
다음글 | ci로 모바일 페이지 구축하기 (2) | ||
이전글 | CI 이용시 실행시간이 어떻게 되나요..? (2) | ||
변종원(웅파)
/
2010/12/27 13:26:36 /
추천
0
|
matchbox 라이브러리(포럼에서 검색)를 보시면 참고하실 만한 소스가 있습니다.
(기존 라이브러리를 어떻게 확장하고 application 이외의 디렉토리에서 controller를 찾는지)