mirror of
https://github.com/friendica/friendica
synced 2024-11-14 11:02:55 +00:00
37 lines
1 KiB
PHP
37 lines
1 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Friendica\Factory;
|
||
|
|
||
|
use Friendica\App;
|
||
|
use Friendica\Core\Config\Cache;
|
||
|
use Friendica\Factory;
|
||
|
use Friendica\Util\BasePath;
|
||
|
|
||
|
class DependencyFactory
|
||
|
{
|
||
|
/**
|
||
|
* Setting all default-dependencies of a friendica execution
|
||
|
*
|
||
|
* @param string $channel The channel of this execution
|
||
|
* @param string $directory The base directory
|
||
|
* @param bool $isBackend True, if it's a backend execution, otherwise false (Default true)
|
||
|
*
|
||
|
* @return App The application
|
||
|
*
|
||
|
* @throws \Exception
|
||
|
*/
|
||
|
public static function setUp($channel, $directory, $isBackend = true)
|
||
|
{
|
||
|
$basedir = BasePath::create($directory, $_SERVER);
|
||
|
$configLoader = new Cache\ConfigCacheLoader($basedir);
|
||
|
$configCache = Factory\ConfigFactory::createCache($configLoader);
|
||
|
Factory\DBFactory::init($configCache, $_SERVER);
|
||
|
$config = Factory\ConfigFactory::createConfig($configCache);
|
||
|
// needed to call PConfig::init()
|
||
|
Factory\ConfigFactory::createPConfig($configCache);
|
||
|
Factory\LoggerFactory::create($channel, $config);
|
||
|
|
||
|
return new App($config, $isBackend);
|
||
|
}
|
||
|
}
|