CakePHP 를 사용 하여 Restful 서 비 스 를 빠르게 만 듭 니 다.

RESTful 은 인터넷(HTTP)을 위 한 WEB 서비스 구조 입 니 다.
CakePHP 1.3 을 사용 하여 Restful 서 비 스 를 만 드 는 것 은 매우 간결 하고 우아 합 니 다.
다음은 http(s)://yourhost.com/deals.format 를 예 로 들 어 생 성 과정 을 소개 합 니 다.
1.맵 HTTP 요청
routes.php 에 다음 문 구 를 추가 합 니 다.
/* Restful, add http mapping */ Router::mapResources('deals');
그 중에서 deals 는 인터넷 자원 을 대표 합 니 다.이 말 은 GET,POST,PUT,DELETE 방법 을 자원 의 index,view(show),add(creation),edit(update),delete 에 반영 합 니 다.
RESTful 을 만들어 야 할 모든 자원 에 대해 이 방법 은 반복 적 으로 호출 할 수 있다.
2.해석 요청 형식 접미사
Router::parseExtensions('json', 'xml'); CakePHP 는 xml,json,rss 형식의 요청 응답 을 지원 합 니 다.위의 코드 는 CakePHP 로 하여 금 json 이나 xml 응답 형식 을 해석 할 수 있 게 한다.
3.Controller 에 해당 하 는 component 와 helper 를 포함 합 니 다.
public$components=array('RequestHandler',//이것 이 빠 질 수 없습니다.그렇지 않 으 면 theme 를 xml/json 디 렉 터 리 로 가리 킬 수 없습니다.)public $helpers = array( 'Xml', //for xml 'Javascript', //for json );
4.결 성 된 레이아웃 만 들 기
theme(beforeFilter 에$this->theme 설정 가능)아래 layouts 에 xml 와 json 의 결 성 된 레이아웃 을 추가 합 니 다.
xml/default.ctp
json/default.ctp
내용
//xml
header('Content-type: application/xml'); echo $this->Xml->header(); echo $content_for_layout;?>
//json
header("Pragma: no-cache"); header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate"); header('Content-Type: text/x-json'); header("X-JSON: ".$content_for_layout); echo $content_for_layout;?>
5.보기 템 플 릿 만 들 기
테마 아래 view templates 추가
deals/xml/index.ctp
deals/json/index.ctp
내용
serialize($deals); ?>
object($deals); ?>
그 중 두 번 째 는 서버 제 이 슨 응답 처리 다.여기 서 이상 하 게 생각 하지 마 세 요.js 와 json 은 원래 밀접 한 관 계 를 가지 고 있 습 니 다.
6.테스트
현재 RESTful 서버 에 접근 하여 입력 하 십시오.http://yourhost.com/deals.xml(또는 json)
xml 또는 json 내용 의 출력 을 얻 을 수 있 습 니 다.예:

<deals>
	<deal id="416" slug="awardtest123" city_id="1011" region_id="" min_buyers="1" max_buyers="2" />
    <deal id="414" slug="hktest12345_02820870013164958611375" city_id="1030" region_id="" min_buyers="1" max_buyers="2" />
deals>

by iefreer
midnight again...

좋은 웹페이지 즐겨찾기