X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=index.php;h=87778308a5713a0b7846f511c73b2d346b613e2c;hb=da65f0bea71ac8892a403a711ba63b36232ff3c9;hp=66f02396540e170e62b1542fe5a8dff143743b59;hpb=80f1feabe5ecf9b09b76627ba4b114ae10ddcaf6;p=friendica.git diff --git a/index.php b/index.php index 66f0239654..87778308a5 100644 --- a/index.php +++ b/index.php @@ -1,13 +1,27 @@ . + * */ -use Friendica\App; -use Friendica\Core\Config\Cache; -use Friendica\Factory; -use Friendica\Util\BasePath; +use Dice\Dice; + +$start_time = microtime(true); if (!file_exists(__DIR__ . '/vendor/autoload.php')) { die('Vendor path not found. Please execute "bin/composer.phar --no-dev install" on the command line in the web root.'); @@ -15,18 +29,28 @@ if (!file_exists(__DIR__ . '/vendor/autoload.php')) { require __DIR__ . '/vendor/autoload.php'; -$basedir = BasePath::create(__DIR__, $_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); -$logger = Factory\LoggerFactory::create('index', $config); -$profiler = Factory\ProfilerFactory::create($logger, $config); - -// We assume that the index.php is called by a frontend process -// The value is set to "true" by default in App -$a = new App($config, $logger, $profiler, false); - -$a->runFrontend(); +$dice = (new Dice())->addRules(include __DIR__ . '/static/dependencies.config.php'); +/** @var \Friendica\Core\Addon\Capability\ICanLoadAddons $addonLoader */ +$addonLoader = $dice->create(\Friendica\Core\Addon\Capability\ICanLoadAddons::class); +$dice = $dice->addRules($addonLoader->getActiveAddonConfig('dependencies')); +$dice = $dice->addRule(Friendica\App\Mode::class, ['call' => [['determineRunMode', [false, $_SERVER], Dice::CHAIN_CALL]]]); + +\Friendica\DI::init($dice); + +\Friendica\Core\Logger\Handler\ErrorHandler::register($dice->create(\Psr\Log\LoggerInterface::class)); + +$a = \Friendica\DI::app(); + +\Friendica\DI::mode()->setExecutor(\Friendica\App\Mode::INDEX); + +$a->runFrontend( + $dice->create(\Friendica\App\Router::class), + $dice->create(\Friendica\Core\PConfig\Capability\IManagePersonalConfigValues::class), + $dice->create(\Friendica\Security\Authentication::class), + $dice->create(\Friendica\App\Page::class), + $dice->create(\Friendica\Content\Nav::class), + $dice->create(Friendica\Module\Special\HTTPException::class), + new \Friendica\Util\HTTPInputData($_SERVER), + $start_time, + $_SERVER +);