Esempio n. 1
0
try {
    // Read the configuration
    $config = new ConfigIni(CONFIG_PATH);
    // Register an autoloader
    $loader = new Loader();
    $loader->registerDirs(array(APP_PATH . $config->application->controllersDir, APP_PATH . $config->application->modelsDir, APP_PATH . "/app/library/", APP_PATH . "/app/config/", APP_PATH . "/app/logics/"))->register();
    // Create a DI
    $di = new FactoryDefault();
    // db profiler
    $di->set('profiler', function () {
        return new \Phalcon\Db\Profiler();
    }, true);
    // Set the database service
    $di['db'] = function () use($config, $di) {
        $eventsManager = new \Phalcon\Events\Manager();
        $profiler = $di->getProfiler();
        $eventsManager->attach('db', function ($event, $connection) use($profiler) {
            $type = $event->getType();
            if ($type == 'beforeQuery') {
                $profiler->startProfile($connection->getSQLStatement());
            }
            if ($type == 'beforeUpdate') {
                $profiler->startProfile($connection->getSQLStatement());
            } else {
                if ($type == 'beforeCreate') {
                    $profiler->startProfile($connection->getSQLStatement());
                } else {
                    if ($type == 'beforeSave') {
                        $profiler->startProfile($connection->getSQLStatement());
                    } else {
                        if ($type == 'afterQuery') {