renatocassino/dephpugger

View on GitHub
src/Dephpug/Exporter/Type/ArrayExporter.php

Summary

Maintainability
A
2 hrs
Test Coverage
<?php

namespace Dephpug\Exporter\Type;

use Dephpug\Exporter\iExporter;
use Dephpug\Dbgp\Client;

class ArrayExporter implements iExporter
{
    public static function getType()
    {
        return 'array';
    }

    public function getExportedVar($xml)
    {
        $command = "var_export({$xml->property->attributes()['name']}, true);";
        $responseXDebug = $this->getResponseByCommand($command);
        $newXml = simplexml_load_string($responseXDebug);
        $content = base64_decode((string) $newXml->property);

        return $content;
    }

    public function getResponseByCommand($command)
    {
        $dbgpClient = new Client();
        $dbgpClient->eval($command);

        return $dbgpClient->getResponse();
    }
}