1
0
mirror of https://github.com/typemill/typemill.git synced 2025-08-06 14:16:46 +02:00

latest 20171218

This commit is contained in:
Sebastian
2017-12-18 10:20:36 +01:00
parent 4cb743c2ae
commit 5fa14fb838
18 changed files with 175 additions and 115 deletions

View File

@@ -1,7 +1,7 @@
<?php
use Typemill\Models\Helpers;
$timer['before session start']=microtime(true);
use Typemill\Events\LoadSettingsEvent;
use Typemill\Events\LoadPluginsEvent;
/************************
* START SESSION *
@@ -9,11 +9,18 @@ $timer['before session start']=microtime(true);
session_start();
/****************************
* CREATE EVENT DISPATCHER *
****************************/
$dispatcher = new \Symfony\Component\EventDispatcher\EventDispatcher();
/************************
* LOAD SETTINGS *
************************/
$settings = Typemill\settings::loadSettings();
$settings = $dispatcher->dispatch('onSettingsLoaded', new LoadSettingsEvent($settings))->getData();
/************************
* INITIATE SLIM *
@@ -27,12 +34,6 @@ $app = new \Slim\App($settings);
$container = $app->getContainer();
/****************************
* CREATE EVENT DISPATCHER *
****************************/
$dispatcher = new \Symfony\Component\EventDispatcher\EventDispatcher();
/************************
* LOAD PLUGINS *
************************/
@@ -45,11 +46,11 @@ foreach($pluginClassNames as $pluginClassName)
{
$routes = $plugins->getNewRoutes($pluginClassName, $routes);
$middleware = $plugins->getNewMiddleware($pluginClassName, $middleware);
$dispatcher->addSubscriber(new $pluginClassName($container, $app));
$dispatcher->addSubscriber(new $pluginClassName($container));
}
$dispatcher->dispatch('onPluginsInitialized');
$dispatcher->dispatch('onPluginsLoaded', new LoadPluginsEvent($pluginClassNames));
/******************************
* ADD DISPATCHER TO CONTAINER *
@@ -107,15 +108,29 @@ $container['view'] = function ($container) use ($settings)
$container->dispatcher->dispatch('onTwigLoaded');
/************************
* ADD MIDDLEWARE *
************************/
/***************************
* ADD NOT FOUND HANDLER *
***************************/
$container['notFoundHandler'] = function($c)
{
return new \Typemill\Handlers\NotFoundHandler($c['view']);
};
/************************
* ADD MIDDLEWARE *
************************/
foreach($middleware as $pluginMiddleware)
{
$middlewareClass = $pluginMiddleware['classname'];
$middlewareParams = $pluginMiddleware['params'];
if(class_exists($middlewareClass))
{
$app->add(new $middlewareClass($middlewareParams));
}
}
/************************
* ADD ROUTES *
************************/