RawFetcherResult.php in Feeds 8.3
Namespace
Drupal\feeds\ResultFile
src/Result/RawFetcherResult.phpView source
<?php
namespace Drupal\feeds\Result;
use Drupal\Core\DependencyInjection\DependencySerializationTrait;
use Drupal\Core\File\FileSystemInterface;
/**
* A fetcher result object that accepts a raw string.
*
* This will write the string to a file on-demand if the parser requests it.
*/
class RawFetcherResult extends FetcherResult {
use DependencySerializationTrait;
/**
* The raw input string.
*
* @var string
*/
protected $raw;
/**
* The file system service.
*
* @var \Drupal\Core\File\FileSystemInterface
*/
protected $fileSystem;
/**
* Constructs a RawFetcherResult object.
*
* @param string $raw
* The raw result string.
* @param \Drupal\Core\File\FileSystemInterface $file_system
* (optional) The file system service.
*/
public function __construct($raw, FileSystemInterface $file_system = NULL) {
$this->raw = $raw;
if (is_null($file_system)) {
$file_system = \Drupal::service('file_system');
}
$this->fileSystem = $file_system;
}
/**
* {@inheritdoc}
*/
public function getRaw() {
return $this
->sanitizeRaw($this->raw);
}
/**
* {@inheritdoc}
*/
public function getFilePath() {
// Write to a temporary file if the parser expects a file.
if ($this->filePath) {
return $this->filePath;
}
$this->filePath = $this->fileSystem
->tempnam('temporary://', 'feeds-raw');
file_put_contents($this->filePath, $this
->getRaw());
return $this->filePath;
}
}
Classes
Name | Description |
---|---|
RawFetcherResult | A fetcher result object that accepts a raw string. |