require_once 'Exceptions/WrongAntiSpamAnswerException.php'; require_once 'Exceptions/EmailNotSentException.php'; // CREATE OBJECTS OF THE MODELS. $userDAL = new UserDAL(); $rssDAL = new RssDAL(); $serviceModel = new ServiceModel($userDAL, $rssDAL); $sessionModel = new SessionModel(); $homeModel = new HomeModel($serviceModel); $loginModel = new LoginModel($sessionModel, $serviceModel); $registerModel = new RegisterModel($sessionModel, $serviceModel); $newsfeedModel = new NewsfeedModel($serviceModel); $contactModel = new ContactModel(); // CREATE OBJECTS OF THE VIEWS. $navigationView = new NavigationView(); $homeView = new HomeView($sessionModel, $serviceModel); $registerView = new RegisterView($registerModel); $newsfeedView = new NewsfeedView($sessionModel); $loginView = new LoginView($loginModel, $sessionModel, $serviceModel); $contactView = new ContactView(); $layoutView = new LayoutView($homeView, $loginView, $registerView, $newsfeedView, $contactView); // CREATE OBJECTS OF CONTROLLERS. $homeController = new HomeController($homeView, $homeModel, $sessionModel); $loginController = new LoginController($loginView, $loginModel, $sessionModel); $registerController = new RegisterController($registerView, $registerModel, $navigationView); $newsfeedController = new NewsfeedController($newsfeedView, $newsfeedModel, $sessionModel); $contactController = new ContactController($contactView, $contactModel); $masterController = new MasterController($homeController, $loginController, $registerController, $newsfeedController, $contactController); // CALL FUNCTIONS. $masterController->handleUserRequest(); $layoutView->renderLayout();