define('root', dirname(__FILE__)); use Controller\Controller; use Domain\Common\Communication\Request; use Domain\Context\Report\Aggregate\ReportAggregate; use Domain\Context\Task\Aggregate\TaskAggregate; use Domain\Context\Task\Entity\EntityFactory as TaskEntityFactory; use Domain\Context\Report\Entity\EntityFactory as ReportEntityFactory; /** * Controller setup */ $controller = new Controller(); $controller->set404(function () { return require_once root . '/public/404.html'; }); $controller->add('/', function () { return require_once root . '/public/index.html'; }); $controller->add('/task/create', function () { $factory = new TaskEntityFactory(); $taskAggregate = new TaskAggregate(); $taskAggregate->setFactory($factory); $request = new Request(); $response = $taskAggregate->saveTask($request); echo $response->getJSON(); }); $controller->add('/task/delete', function () { $factory = new TaskEntityFactory(); $taskAggregate = new TaskAggregate(); $taskAggregate->setFactory($factory); $request = new Request(); $response = $taskAggregate->deleteTask($request);