В настоящее время используется платформа SlimPHP 3 MVC и пытается вывести XML-адрес URL-адреса на шаблон Twig. Я использую последнюю сборку Guzzle, если это помогает.
Я настроил свой контроллер и функцию, как показано ниже:
public function getaws($request, $response, $args) {
$bucketname = $args['bucketname'];
$client = new \GuzzleHttp\Client();
$bucket = $client->request('GET', $bucketname . '.s3.amazonaws.com');
if ($bucket) {
$buck = $bucket->getBody();
return $this->view->render($response, 'aws.twig', ['buck' => $buck]);
}
else {
$res = Array();
$res['message'] = 'Bucket Disabled or Unknown';
return $this->view->render($response, 'aws.twig', ['buck' => $res]);
}
}
В файле Twig - aws.twig я смог вывести только весь ответ / тело XML, используя:
{{ buck }}
Я пробовал набирать:
{{ buck.Name }}
или
{{ buck.Key }}
Ни то, ни другое не сработало. Я тоже пробовал цикл ForEach, и из этого ничего не вышло. Я в полном недоумении. Я заметил, что SlimPHP, похоже, не очень помогает, но мне он нравится, и я предпочитаю использовать его в Laravel, и нет, я не буду переключаться на Laravel, чтобы облегчить жизнь, иначе просьба о помощи с этим была бы быть пустой тратой времени.
Любой, кто имел опыт работы с SlimPHP 3, шаблонами Twig и Guzzle - мне очень нужна помощь с этим.
Спасибо!
Похоже, что это так, поскольку {{ buck }}, кажется, выводит весь вывод XML. К сожалению, когда я попытался передать его в SimpleXML, мне это не понравилось.
Возможно, вам повезло больше с simplexml_load_string
@DarkBee Да, поскольку это происходит между комментариями здесь, использование функции simplexml_load_string() сработало, однако теперь у меня есть вывод таблицы с пятью пустыми строками перед выводом остальной части XML.
@DarkBee Nevermind Я разобрался с этой проблемой. Ваше предложение об использовании функции simplexml_load_string() сработало отлично, поэтому спасибо!





buck- это чистая струна? Если это так, вы не можете пройти его, прежде чем преобразовать его во что-то вроде SimpleXML