for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace ByTIC\MediaLibrary\Loaders;
use Nip\Filesystem\File;
/**
* Class Filesystem.
*/
class Filesystem extends AbstractLoader
{
* @return File[]
public function getMediaFiles()
$path = $this->getBasePath();
$contents = $this->getFilesystem()->listContents($path);
$directories = [];
$files = [];
foreach ($contents as $object) {
if ($object['type'] == 'dir') {
$directories[] = $object;
} else {
$files[] = $object;
}
if (count($directories) > 0) {
return $this->scanDirectoryContents($directories[0]['path']);
} elseif (count($files)) {
return $this->hydrateFileContents($files);
return [];
* @param $path
*
protected function scanDirectoryContents($path)
return $this->hydrateFileContents($contents);
* @param $contents
protected function hydrateFileContents($contents)
if ($object['type'] == 'file') {
$files[] = new File($this->getFilesystem(), $object['path']);
return $files;