function core_load_modules($modulos, $app) { foreach ($modulos as $moduleName) { core_autoload(BASEPATH . '/modules/' . $moduleName); // obtem todas as classes que devem ser instanciadas $autoInstanceFiles = core_get_file_by_dir(BASEPATH . '/modules/' . $moduleName . '/Controllers'); foreach ($autoInstanceFiles as $instanceFiles) { $moduleClassName = '\\Modules\\' . $moduleName . '\\Controller\\' . $instanceFiles; if (class_exists($moduleClassName)) { new $moduleClassName($app); } } } }
error_reporting(0); define("ENVIRONMENT", "prod"); define("DEBUG", FALSE); require_once "config/config.prod.php"; } else { die("Nenhum arquivo de configuração encontrado"); } // Carrega outras configurações / funções require_once "autoload.php"; // obrigatório if (file_exists("mimes.php")) { require_once "mimes.php"; } if (file_exists("doctypes.php")) { require_once "doctypes.php"; } // Define os módulos utilizados $modulos = array('Base', 'Api', 'Clientes', 'Categorias', 'Produtos'); // Inicia aplicação $app = new Silex\Application(); $app['debug'] = DEBUG; // Inicia os controllers foreach ($modulos as $modulo) { core_autoload(BASEPATH . '/modules/' . $modulo); $className = '\\Modules\\' . $modulo . '\\Controller\\' . $modulo; if (class_exists($className)) { new $className($app); } } // Roda a aplicação $app->run();