私はCakePHP 2.0(私はv2.0.3と思われます)とPHP 5.3.8を使用しています。Cake w/url extensionsを使用する
私は、CakeのURL拡張のサポートを利用したアプリケーションに取り組んでいます。具体的には、URLリクエストが.xml拡張子で終わるたびにXMLを出力しています。拡張子なしでurlリクエストが行われた場合、私のアプリケーションはstardardビューを表示します。出力XMLに
1. Added support for url extension; added the following line to route.php -- Router::parseExtensions('xml');
2. Added support request handling; added the following line to MyController.php -- public $components = array('Session', 'RequestHandler');
、私はPHPの「にSimpleXMLElement」クラスと一緒にケーキの「XML」クラスを使用しています: - このすべてが美しく働く
request .../controller/action.xml renders via view/controller/xml/action.ctp while request .../controller/action renders via view/controller/action.ctp.
これを実現するために、私は次のようでした。私の問題は、完全なXMLが生成されないことです。クラスは入力されたPHP配列に基づいてXMLを生成すると仮定していますが、完全な配列は処理されていないようです。私のXML出力は部分的です。
次のように私のビューファイル(.ctp)での私のソースコードは次のとおりです。
$ simple_xml_elem = XML ::ビルド($ xml_array)。 echo $ simple_xml_elem-> asXML();
興味深いことに、この問題をデバッグしようとしているうちに、xmlビューファイル(../view/controller/xml/action)内にビューオブジェクトをダンプしようとすると、 .ctp)。 'var_dump($ this)'は、ビューの部分的なダンプだけを出力します。標準ビュー・ファイル(../view/controller/action.ctp)内で実行された同じビュー・ダンプは、ビューのフル・ダンプを出力します。
標準ビューが要求されているときよりもURL拡張のためにルーティングするとき、Cakeは何とかビュー環境を別々に設定していると私は考えます。
私は髪を失う前に、私のためにいくつかの光を当ててください。お願いします????ありがとう!