3 namespace Friendica\Factory;
6 use Friendica\Core\Config\Cache;
8 use Friendica\Util\BasePath;
10 class DependencyFactory
13 * Setting all default-dependencies of a friendica execution
15 * @param string $channel The channel of this execution
16 * @param string $directory The base directory
17 * @param bool $isBackend True, if it's a backend execution, otherwise false (Default true)
19 * @return App The application
23 public static function setUp($channel, $directory, $isBackend = true)
25 $basePath = BasePath::create($directory, $_SERVER);
26 $configLoader = new Cache\ConfigCacheLoader($basePath);
27 $configCache = Factory\ConfigFactory::createCache($configLoader);
28 $profiler = Factory\ProfilerFactory::create($configCache);
29 Factory\DBFactory::init($basePath, $configCache, $profiler, $_SERVER);
30 $config = Factory\ConfigFactory::createConfig($configCache);
31 // needed to call PConfig::init()
32 Factory\ConfigFactory::createPConfig($configCache);
33 $logger = Factory\LoggerFactory::create($channel, $config, $profiler);
34 Factory\LoggerFactory::createDev($channel, $config);
36 return new App($basePath, $config, $logger, $profiler, $isBackend);