share(function($c){ return new API($c['AppName']); }); $newsContainer['Request'] = $newsContainer->share(function($c){ return new Request($_GET, $_POST, $_FILES); }); $newsContainer['Security'] = $newsContainer->share(function($c) { return new Security($c['AppName']); }); /** * MAPPERS */ $newsContainer['ItemMapper'] = $newsContainer->share(function($c){ return new ItemMapper($c['API']->getUserId()); }); $newsContainer['FeedMapper'] = $newsContainer->share(function($c){ return new FeedMapper($c['API']->getUserId()); }); $newsContainer['FolderMapper'] = $newsContainer->share(function($c){ return new FolderMapper($c['API']->getUserId()); }); /** * CONTROLLERS */ $newsContainer['NewsController'] = function($c){ return new NewsController($c['Request'], $c['API'], $c['FeedMapper'], $c['FolderMapper']); }; $newsContainer['NewsAjaxController'] = function($c){ return new NewsAjaxController($c['Request'], $c['API'], $c['FeedMapper'], $c['FolderMapper'], $c['ItemMapper']); }; /** * BUSINESS LAYER OBJECTS */ $newsContainer['FolderBl'] = $newsContainer->share(function($c){ return new FolderBl($c['FolderMapper']); }); $newsContainer['FeedBl'] = $newsContainer->share(function($c){ return new FeedBl($c['FeedMapper']); }); /** * EXTERNAL API LAYER */ $newsContainer['FolderApi'] = $newsContainer->share(function($c){ return new FolderApi($c['FolderBl']); }); $newsContainer['FeedApi'] = $newsContainer->share(function($c){ return new FeedApi($c['FeedBl']); }); return $newsContainer; }