ma question est en faitprob! Em avec l'envoi xml (déclaration xml) avec php
Quelle est la structure type de ce que j'utiliser pour envoyer xml dans le cadre de un service REST si j'ai le plus large de la logique dans une classe. J'appelle/inclue la classe en haut de ma page d'index php s'il devient clair qu'un service est demandé.
Quelqu'un m'a mentionné qu'une méthode de classe ne devrait rien produire. Alors où dois-je sortir le fichier XML. En dehors de la classe?
Également j'ai un problème que l'extrémité de réception dise que la déclaration devrait commencer au début du document.
L'extrémité réceptrice n'a que ces deux lignes dans le document. Je n'ai pas encore de code pour le traiter, mais cela donne déjà une erreur.
<?php
$url='http://www.woonbel.nl/gps/setgpsloc';
$xml =simplexml_load_string(file_get_contents($url));
?>
J'envoyer le fichier XML de cette classe comme vous pouvez le voir, alors peut-être ici mal, de quelque chose aller quelque chose avec des lignes blanches ou autre chose. De toute façon, j'ai besoin de quelques conseils pour éviter l'erreur de déclaration et comment envoyer xml si je ne suis pas censé le faire dans une méthode? Stockez-le dans une variable de classe d'abord alors peut-être?
<?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
}
?>
Voilà comment je perçois si un service est demandé et appeler la classe
<?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
?>
Ceci est l'erreur réelle du
PHP get extrémité de réception de Warning: simplexml_load_string() [fonction. simplexml-load-string]: Entité: ligne 4: erreur de l'analyseur: déclaration XML autorisée uniquement au début du document dans D: \ Domains \ tsa.nl \ wwwroot \ index.php sur la ligne 4 PHP Warning: simplexml_load_string() [ function.simplexml-load-string]: dans D: \ Domains \ tsa.nl \ wwwroot \ index.php sur la ligne 4 PHP Wa rning: simplexml_load_string() [function.simplexml-load-chaîne]:^dans D: \ Domains \ tsa.nl \ wwwroot \ index.php sur la ligne 4
Je suis d'accord avec vous, le découpage est une solution de pansement, la meilleure solution consiste à trouver d'où proviennent ces espaces. C'était juste un "quick-fix" hehe – Nathan
J'ai édité ma question, le découpage n'a pas fonctionné non plus. Donc le reste de la classe a l'air ok? Je vais ajouter l'appel du code de la classe – Richard
@Nathan, rien de mal avec des solutions rapides;) –