示例#1
0
文件: index.php 项目: fkali/yupp
// Dejo algunas variables globales utiles:
/*
 * Directorio base de la aplicacion, donde se encuentra EntryPoint,
 * desde el cual se pueden calcular URLs relativas y absolutisarlas
 * concatenandoles el base_dir. Necesario para el helper de links.
 */
$_base_dir = substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/'));
$lg = Logger::getInstance();
$lg->setFile('log.log');
$lg->on();
// TODO: considerar el language de la app
$ctx = YuppContext::getInstance();
$locale = $ctx->setLocale('en');
// Hace el request y catchea por posibles errores.
try {
    RequestManager::doRequest();
} catch (Exception $e) {
    // FIXME: mostrar la vista de error 500
    // FIXME: en modo PROD NUNCA deberia mostrar paths ni el stacktrace.
    // http://code.google.com/p/yupp/issues/detail?id=147
    if (YuppConfig::getInstance()->getCurrentMode() === YuppConfig::MODE_PROD) {
        echo 'Disculpe las molestias, verificaremos el error en breve.';
        // FIXME: i18n
        // Redirect a pagina de error por defecto?
        if (file_exists('ylogs/500')) {
            FileSystem::write('ylogs/500/err_' . date("Ymd.his") . '.log', print_r($ctx, true));
        }
    } else {
        echo '<html><body>';
        echo '<h1>Ha ocurrido un error!</h1>';
        // TODO: i18n