Я пытаюсь получить файл с помощью этого кода $f = $resourceFactory->getFileObject($uid);
, но проблема в том, что uid
является защищенным полем в объекте ссылки на файл, как показано ниже, поэтому я не могу получить uid
, и getUid()
, очевидно, тоже не будет работать.
Итак, как я могу получить uid ссылки на файл (FAL)
/**
* A file reference object (File Abstraction Layer)
*
* @api experimental! This class is experimental and subject to change!
*/
class FileReference extends
\TYPO3\CMS\Extbase\Domain\Model\AbstractFileFolder
{
/**
* Uid of the referenced sys_file. Needed for extbase to serialize the
* reference correctly.
*
* @var int
*/
protected $uidLocal;
/**
* @param \TYPO3\CMS\Core\Resource\ResourceInterface $originalResource
*/
public function setOriginalResource(\TYPO3\CMS\Core\Resource\ResourceInterface $originalResource)
{
$this->originalResource = $originalResource;
$this->uidLocal = (int)$originalResource->getOriginalFile()->getUid();
}
/**
* @return \TYPO3\CMS\Core\Resource\FileReference
*/
public function getOriginalResource()
{
if ($this->originalResource === null) {
$this->originalResource = \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()->getFileReferenceObject($this->getUid());
}
return $this->originalResource;
}
}