Working with collections 

The \TYPO3\CMS\Core\Resource\ResourceFactory class provides a convenience method to retrieve a File Collection.

EXT:my_extension/Classes/CollectionExample.php
<?php

declare(strict_types=1);

namespace MyVendor\MyExtension;

use TYPO3\CMS\Core\Resource\ResourceFactory;

final class CollectionExample
{
  public function __construct(
    private readonly ResourceFactory $resourceFactory,
  ) {}

  public function doSomething(): void
  {
    // Get collection with uid 1
    $collection = $this->resourceFactory->getCollectionObject(1);

    // Load the contents of the collection
    $collection->loadContents();
  }
}
Copied!

In this example, we retrieve and load the content from the File Collection with a uid of "1". Any collection implements the \Iterator interface, which means that a collection can be looped over (once its content has been loaded). Thus, if the above code passed the $collection variable to a Fluid view, you could do the following:

EXT:my_extension/Resources/Private/Templates/SomeTemplate.fluid.html
<ul>
  <f:for each="{collection}" as="file">
    <li>{file.title}</li>
  </f:for>
</ul>
Copied!