filicious / core

Filicious is a high level object oriented filesystem abstraction for PHP.
https://filicious.github.io/
31 stars 9 forks source link

Introduce factories #51

Closed tristanlins closed 11 years ago

tristanlins commented 11 years ago

Introduce factories that allow usage like this:

// --- init config

// Variante 1 (obsolet)
$config = new LocalFilesystemConfig();
$config->setBasePath("/var/www");

// Variante 2
$config = new FilesystemConfig();
$config->set(LocalFilesystem::CONFIG_BASEPATH, "/var/www");
$config->set(FilesystemConfig::FILESYSTEM, "Bit3\Filesystem\Local\LocalFilesystem");

// --- use factory

// Variante 1
$fs = FilesystemFactory::createFilesystem($config);

// Variante 2
$factory = FilesystemFactory::newFactory();
$factory->set(FilesystemFactory::CONFIG, $config);
$fs = $factory->createFilesystem();

// Variante 3
$factory = FilesystemFactory::newFactory();
$factory->set(FilesystemFactory::FILESYSTEM, "Bit3\Filesystem\Local\LocalFilesystem");
$factory->set(LocalFilesystem::CONFIG_BASEPATH, "/var/www");
$fs = $factory->createFilesystem();
$config = $fs->getConfig();

// --- direct use filesystem

// Variante 1
$fs = new LocalFilesystem($config);
tristanlins commented 11 years ago

This was the predecessor of #65 and #64.