Я пытаюсь использовать XMLWriter для записи базовой таблицы mysql в xml, однако XMLWriter () всегда отображается как «неопределенный класс» в моей IDE или «класс не найден» в режиме отладки laravel и т. Д.
Насколько я понимаю, XMLWriter был базовым с установкой php, и даже мой phpinfo () показывает, что в моей текущей установке php (7.1.23) включен XMLWriter, хотя я не могу его использовать.php -m также подтверждает это.
Какие шаги я могу предпринять, чтобы диагностировать или решить эту проблему?Я сделал основы удаления / переустановки php, перезапуска apache и даже перезапуска своей машины.
Я довольно новичок в laravel / php, поэтому вполне возможно, что я упустил что-то очевидное в использованиисамого XMLWriter.Может кто-нибудь предложить некоторое представление о том, как я могу заставить это работать?
вот код, который я использую для справки
public function downloadXML($option)
{
switch($option) {
case 1: $list = Book::all()->toArray();break;
case 2: $list = Book::get('title')->toArray();break;
case 3: $list = Book::select('author')->groupBy('author')->get()->toArray();break;
}
$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument();
$xml->startElement('booklist');
foreach($list as $book)
{
$xml->startElement('data');
$xml->writeAttribute('id', $book->id);
$xml->writeAttribute('title', $book->title);
$xml->writeAttribute('author', $book->author);
$xml->endElement();
}
$xml->endElement();
$xml->endDocument();
$content = $xml->outputMemory();
$xml = null;
return response($content)->header('Content-Type', 'text/xml');
}