2011-11-21 3 views
2

나는이 튜토리얼 http://book.cakephp.org/2.0/en/development/rest.html을 통해 cakephp와의 편안한 웹 서비스 통합을 계속하고 있으며 xml과 관련된 몇 가지 문제가 있기 때문에 내 용도로 사용하지 않는 것으로 보인다. 자동 구성 (잘못된 문서 일 수 있습니까?)CakePHP RestFul WebService 적절한 문서 및 다운로드 코드

어쨌든 제 질문은 청원입니다. 어떤 경우든지 cakePHP 2.0 프레임 워크에서 Rest 웹 서비스를 만드는 데 관련된 좋은 다운로드 가능한 예제를 알고 계십니까? 여러분은 코드, 구조 등을 볼 수 있습니다. 간단하지만 좋은 예입니다.

답변

4

그래 어떻게 됐어? cakePHP 쿼리 결과 배열 구성과 xml 도우미가 xml 파일의 적절한 생성을 위해 그것을 보려고하는 형식 사이에 문제가 있습니다.

$posts = array(
    'post' => array(
     array(
      'id' => '1', 
      'tittle' => 'The title' 
     ), 
     array(
      'id' => '2', 
      'tittle' => 'A title once again' 
     ) 
    ) 
); 

이 CakePHP의에 $xml = Xml::build($xmlPosts); 같은 명령에 기대하는 것, 예를 들어, index.ctp에 모든 게시물 ($posts = $this->Post->find('all');)

을 얻기 위해 예를 들어, 당신은 이것은 당신이 무엇을 얻을 배열을 구성 파일 내에서 xml 폴더 아래보기/게시물 :

$posts = array(
    'posts' => array(
    'post' => array(
     array(
      'id' => '1', 
      'tittle' => 'The title' 
     ), 
     array(
      'id' => '2', 
      'tittle' => 'A title once again' 
     ) 
    ) 
) 
); 
$xml = Xml::build($post); 

이 문제는 XML 파서가 배열의 루트 요소를 필요로한다는 점에서 문제가됩니다.

cakePHP에 대한 설명은 없습니다. 따라서 요리 책 초보자 인 경우 REST 서비스에 대한 예를 따라야한다.

index.ctp xml 생성자에서 배열 재배치 문제를 해결할 수 있습니다. 다음과 같은 내용이 있습니다.

<?php 
$xmlPosts = array('posts' => array('post' => $posts)); 
$xml = Xml::build($xmlPosts); 
echo $xml->saveXML(); 
?> 

나는 최적의 해결책이 아님을 알고 있습니다. 그러나 나는 더 사려 깊은 대답에 열려 있습니다.