0

Cakephp のコントローラー アクションから xml 応答を送信したいと考えています。私は公式ガイドに従おうとしています: http://book.cakephp.org/2.0/en/views/json-and-xml-views.html

しかし、私はこのエラーが発生し続けます:

Missing View

Error: The view for ServicesController::index() was not found.

これは私のサービスコントローラがどのように見えるかです:

<?php
class ServicesController extends AppController {

    var $uses = array();
    var $components = array('Auth','Session','RequestHandler');

    function beforeFilter() {
        $this->Auth->allow('index');
    }

    function index(){
        $output = array(
            "status" => "OK",
            "message" => "You are good"
        );

        $this->set('output', $output );
        $this->set('_serialize', array("output"));
   }
}
?>

次の行も追加しましたroutes.php

Router::parseExtensions('json', 'xml');

私が間違っていることは何ですか??

4

1 に答える 1

-1

配列を XML に変換し、出力をエコーし​​て関数を終了することができます。

function index(){
    $output = array(
        "root" => array( // It needs one top element (http://book.cakephp.org/2.0/en/core-utility-libraries/xml.html#transforming-an-array-into-a-string-of-xml)
            "status" => "OK",
            "message" => "You are good"
        )
    );

    $xmlObject = Xml::fromArray($output);
    echo $xmlObject->asXML();
    exit;
}
于 2013-10-15T16:18:48.327 に答える