Example #1
0
File: app.php Project: nirolph/todo
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);