мой вопрос на самом деле
Какую структуру я бы использовал для отправки xml как части службы REST, если у меня больше всего логики в классе. Я вызываю/включаю класс в верхней части моей индексной страницы php, если становится ясно, что запрашивается услуга.
Кто-то упомянул мне, что метод класса не должен ничего выводить. Тогда где я должен вывести xml. Вне класса?
Также у меня есть проблема, заключающаяся в том, что принимающая сторона говорит, что объявление должно начинаться с самого начала документа.
Принимающая сторона имеет только эти две строки в документе. У меня пока нет кода для его обработки, а это уже выдает ошибку.
<?php
$url='http://www.woonbel.nl/gps/setgpsloc';
$xml =simplexml_load_string(file_get_contents($url));
?>
Я отправляю xml из этого класса, как вы видите, так что, возможно, здесь что-то не так, что-то с белыми линиями или что-то еще. В любом случае, мне нужен совет, как избежать ошибки объявления и как отправить xml, если я не должен делать это в методе? Сначала сохранить его в переменной класса, а затем, может быть?
<?php
class gps {
public $url;
public $test;
function __construct($url) {
$this->url = $url;
}
function invoke($methode_naam) {
switch($methode_naam){
case "test":
$this->setgpsloc();
break;
case "setgpsloc":
header('Content-type: text/xml');
$status_code = 2;
$output= "<?xml version=\"1.0\"encoding=\"utf-8\"?>\n";
$output.= "<response>\n";
$output.= "\t<status>$status_code</status>\n";
$output.= "\t<fout>Geen</fout>\n";
$output.= "</response>";
echo trim($output);
}
}//EINDE invoke
}
?>
Вот как я определяю, запрашивается ли служба, и вызываю класс
<?php
//WEBSERVICE SECTIE
$url = $_GET['url'];
$parts = split('/', $url); // Opslaan van delen van de aangevraagde url in $parts
$cparts=count($parts);
//if($cparts>=2){
$controller = $parts[0];
$wslijst=array("gps","gebruikers");
if(in_array($controller,$wslijst)){
include $controller .".php";
$clr = new $controller("test");
$clr->invoke($parts[1]);
exit();
}
//other code underneath for displaying normal page
?>
Это фактическая ошибка, которую получает принимающая сторона.
Предупреждение PHP: simplexml_load_string() [function.simplexml-load-string]: Объект: строка 4: ошибка синтаксического анализатора: объявление XML разрешено только в начале документа в D:\Domains\tsa.nl\wwwroot\index.php на строка 4 Предупреждение PHP: simplexml_load_string() [function.simplexml-load-string]: in D:\Domains\tsa.nl\wwwroot\index.php строка 4 Предупреждение PHP: simplexml_load_string() [function.simplexml-load-string ]: ^ в D:\Domains\tsa.nl\wwwroot\index.php в строке 4