Phalcon Framework 3.4.5

Phalcon\Mvc\Dispatcher\Exception: IndexController handler class cannot be loaded

/home/gunessurucukursu/public_html/app/Bootstrap.php (393)
#0Phalcon\Mvc\Dispatcher->_throwDispatchException(IndexController handler class cannot be loaded, 2)
#1Phalcon\Dispatcher->dispatch()
/home/gunessurucukursu/public_html/app/Bootstrap.php (393)
<?php
 
namespace App;
 
use Application\Cache\Manager as CacheManager;
use Konsol\Model\Options;
 
 
class Bootstrap{
 
    public function run(){
 
        try {
 
            $this->initDefined();
 
            $di = new \Phalcon\DI\FactoryDefault();
            $loader = new \Phalcon\Loader();
 
            // Config
            $config = require_once PATHS['APPS'] . '/config/application.php';
 
 
            $config = new \Phalcon\Config($config);
 
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            $di->set('config', $config);
 
 
            // URL
            $url = new \Phalcon\Mvc\Url();
            $url->setBasePath($config->base_path);
            $url->setBaseUri($config->base_path);
            $di->set('url', $url);
 
 
 
            // Database
            $di->set('db', new \Phalcon\Db\Adapter\Pdo\Mysql([
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->dbname,
                "charset" => $config->database->charset,
                "port" => $config->database->port,
            ]));
 
 
            //SET MODULES
            $this->getModules($di);
 
 
            // Loader
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            // View
            $this->initView($di,$config);
 
 
            // Cache
            $this->initCache($di);
 
            // Application
            $application = new \Phalcon\Mvc\Application();
            $application->registerModules($config->modules->toArray());
 
 
            // Events Manager, Dispatcher
            $this->initEventManager($di);
 
 
            $di->set('session', function () use ($di) {
                $session = new \Phalcon\Session\Adapter\Files();
                session_name(HOST_HASH);
                $session->start();
                return $session;
            });
 
            $di->set('cookies', function () {
                $cookies = new \Phalcon\Http\Response\Cookies();
                $cookies->useEncryption(false);
                return $cookies;
            });
 
            $di->set('crypt', function () {
                $crypt = new \Phalcon\Crypt();
                $crypt->setCipher('aes-256-ctr');
                $crypt->setKey("T4\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\x5c");
                return $crypt;
            });
 
            $di->set('localization', new \YobisiKonsol\Plugin\Localization());
 
            $di->set('helper', new \Application\Mvc\Helper());
 
            $di->set('auth', new \Konsol\Model\Auth());
 
            $di->set('acl', new \YobisiKonsol\Plugin\Acl());
 
 
            // JS Assets
            $this->initAssetsManager($di);
 
 
            // Toast helper
            $di->set('toast', new \Application\Mvc\Helper\Toast());
 
            // Flash helper
            $di->set('flash', new \Phalcon\Flash\Session());
 
 
            // Routing
            $this->initRouting($application, $di);
 
            $application->setDI($di);
 
 
            // Main dispatching process
            $response = $this->dispatch($di);
            $response->send();
 
 
        } catch (\Exception $e) {
 
            return $this->initCatch($di, "run_catch", $e);
 
        }
 
    }
 
    private function initRouting($application, $di){
 
 
 
 
            foreach ($application->getModules() as $module) {
                try {
                    $initClassName = str_replace('\Module', '\Init', $module['className']);
                    if (class_exists($initClassName)) {
                        new $initClassName();
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Init.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
 
            $router = new \Application\Mvc\Router\DefaultRouter();
            $router->setDi($di);
            foreach ($application->getModules() as $module) {
                try {
                    $routesClassName = str_replace('\Module', '\Routes', $module['className']);
                    if (class_exists($routesClassName)) {
                        $routesClass = new $routesClassName();
                        $router = $routesClass->init($router);
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Routes.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
            $di->set('router', $router);
 
    }
 
 
    private function initAssetsManager($di){
 
        $assetsManager = new \Application\Assets\Manager();
 
        $di->set('assets', $assetsManager);
    }
 
    private function initEventManager($di)
    {
 
 
        $eventsManager = new \Phalcon\Events\Manager();
        $dispatcher    = new \Phalcon\Mvc\Dispatcher();
 
 
        $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) use ($di) {
            if ($event->getType() == 'beforeException') {
 
                switch ($exception->getCode()) {
                    case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
                    case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
 
                        return $this->initCatch($di, "dispatch:beforeException", $exception);
                }
            }//error pages redirect
        });
 
        /*
         * Plugins
         */
        $events  = [];
        $plugins = glob(PATHS['APPS']  .'plugins/*.php');
 
        foreach ($plugins as $plugin_path):
 
            $plugin_name = rtrim(basename($plugin_path), ".php");
            $namespace = "YobisiKonsol\Plugin\\" . $plugin_name;
 
            $variables = get_class_vars($namespace);
            if(!$event_type = $variables['event_type']) continue;
 
            $events[$event_type][] = $namespace;//plugin
 
        endforeach;
 
        foreach ($events as $event_type => $namespaces):
 
           $eventsManager->attach($event_type, function ($event, $dispatcher) use ($di, $namespaces) {
                foreach ($namespaces as $namespace):
                        $item = new $namespace();
                        if(method_exists($item,"execute")) $item->execute();
                endforeach;
           });
 
        endforeach;
 
 
 
 
        // Profiler
 
        //$is_profiler = Options::findFirstByKey('profiler');
        $is_profiler = false;
        if ($is_profiler) {
            $profiler = new \Phalcon\Db\Profiler();
            $di->set('profiler', $profiler);
            $eventsManager->attach('db', function ($event, $db) use ($profiler) {
 
                if ($event->getType() == 'beforeQuery') {
                    $profiler->startProfile($db->getSQLStatement());
                }
                if ($event->getType() == 'afterQuery') {
                    $profiler->stopProfile();
                }
            });
            $di->get('view')->setVar('profiler',$di->get('profiler'));
        }
 
        $db = $di->get('db');
        $db->setEventsManager($eventsManager);
 
        $dispatcher->setEventsManager($eventsManager);
        $di->set('dispatcher', $dispatcher);
    }
 
    private function initView($di,$config = [])
    {
 
 
        $view = new \Phalcon\Mvc\View();
 
        define('MAIN_VIEW_PATH', PATHS['MODULES'] . "Konsol/Views/");
 
        $view->setViewsDir(MAIN_VIEW_PATH);
        $view->setMainView(MAIN_VIEW_PATH . '/konsol');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('/konsol');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
 
        // Volt
        $volt = new \Application\Mvc\View\Engine\Volt($view, $di);
 
 
        $volt->setOptions([
            'compiledPath' => PATHS['APPS'] . '/../data/cache/volt/',
            'compileAlways' => (DEBUG_MODE) ? true : false
        ]);
        $volt->initCompiler();
 
 
        $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di);
        $viewEngines = [
            ".volt" => $volt,
            ".phtml" => $phtml,
        ];
 
        $view->registerEngines($viewEngines);
 
        $ajax = $di->get('request')->getQuery('_ajax');
 
        if ($ajax) $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
 
 
        $view->setVar('config',$config);
        $di->set('view', $view);
 
        return $view;
    }
 
    private function initCache($di)
    {
        $config = $di->get('config');
 
 
        $cacheFrontend = new \Phalcon\Cache\Frontend\Data([
            "lifetime" => 60,
            "prefix" => HOST_HASH,
        ]);
 
        $cache = null;
        switch ($config->cache) {
            case 'file':
                $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [
                    "cacheDir" => PATHS['APPS'] . "/../data/cache/backend/",
                    'lifetime' => 172800
                ]);
                break;
            case 'memcache':
                $cache = new \Phalcon\Cache\Backend\Memcache(
                    $cacheFrontend, [
                    "host" => $config->memcache->host,
                    "port" => $config->memcache->port,
                ]);
                break;
            case 'memcached':
                $cache = new \Phalcon\Cache\Backend\Libmemcached(
                    $cacheFrontend, [
                    "host" => $config->memcached->host,
                    "port" => $config->memcached->port,
                ]);
                break;
        }
 
        \Application\Widget\Proxy::$cache = $cache; // Modules Widget System
 
        $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory();
 
        $di->set('cache', $cache, true);
        $di->set('modelsCache', $cache, true);
        $di->set('modelsMetadata', $modelsMetadata);
        $di->set('cacheManager', new CacheManager());
    }
 
    private function dispatch($di){
 
 
        $router = $di->get('router');
 
        $router->handle();
 
 
        $view       = $di->get('view');
        $dispatcher = $di->get('dispatcher');
        $response   = $di->get('response');
 
        $dispatcher->setModuleName($router->getModuleName());
        $dispatcher->setControllerName($router->getControllerName());
        $dispatcher->setActionName($router->getActionName());
        $dispatcher->setParams($router->getParams());
 
        $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName());
 
 
        $ModuleClassName = $moduleName . '\Module';
        if (class_exists($ModuleClassName)) {
            $module = new $ModuleClassName();
            $module->registerAutoloaders();
            $module->registerServices($di);
        }
 
        $view->start();
 
        try {
 
            $dispatcher->dispatch();
 
        } catch (\Phalcon\Exception $error) {
 
            return $this->initCatch($di, "dispatch:catch", $error);
 
        }
 
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
 
        // AJAX
        $request = $di['request'];
        $_ajax = $request->getQuery('_ajax');
 
        if ($_ajax) {
 
            $view->setLayout('ajax');
 
            $contents = $view->getContent();
 
            $return = new \stdClass();
            $return->status = true;
            $return->title  = $di->get('helper')->title()->get();
            $return->html   = $contents;
 
 
            $headers = $response->getHeaders()->toArray();
            if (isset($headers[404]) || isset($headers[503])) {
                $return->status = false;
            }
            $response->setContentType('application/json', 'UTF-8');
            $response->setContent(json_encode($return));
        } else {
            $response->setContent($view->getContent());
        }
 
        return $response;
    }
 
    private function getModules($di){
 
        $config = $di->get('config');
        $db     = $di->get('db');
        $cache  = new \Application\Mvc\Helper\CmsCache;
 
        if(APPLICATION_ENV == "development") $db->query("SET @@GLOBAL.sql_mode=''");
 
        $user_modules = $cache::getInstance()->get('modules');
 
 
        if (!$user_modules):
 
            //GET_MODULES
            $statement = $db->prepare('SELECT * FROM modules WHERE status = ? order by priority ASC');
            $statement->execute(array("active"));
            $user_modules = $statement->fetchAll(\Phalcon\Db::FETCH_ASSOC);
 
 
            $cache::getInstance()->save('modules', $user_modules);
 
        endif;
 
 
        //SET_MODULES
        require_once PATHS['APPS'] . '/modules/Application/Loader/Modules.php';
 
        $modules = new \Application\Loader\Modules();
        $modules_config = $modules->modulesConfig($user_modules);
 
 
        foreach ($modules_config['loader']['namespaces'] as $key => $module)
            $config->loader->namespaces[$key] = $module;
 
        foreach ($modules_config['modules'] as $key => $module)
            $config->modules[$key] = $module;
 
 
        return $config;
 
    }
 
 
    private function initDefined(){
        /*
         * geliştirici modunu açar
         */
 
 
 
        $root_dir = rtrim(__DIR__,'app');
        define('PATHS',[
            "ROOT"     => $root_dir,
            "APPS"     => $root_dir  . 'app/',
            "MODULES"  => $root_dir  . "app/modules/",
            "PLUGINS"  => $root_dir  . "app/plugins/",
            "DATA"     => $root_dir  . "data/",
            "CACHE"    => $root_dir  . "data/cache/",
            "PUBLIC"   => $root_dir  . 'public/',
            "MEDIA"    => $root_dir  . "public/media/",
            "ASSETS"   => $root_dir  . "public/assets/",
        ]);
 
 
 
 
 
 
 
    }
 
    private function initCatch($di, $catch_code, \Exception $exception)
    {
        
           $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
        if (DEBUG_MODE)://Geliştirici modunda hataları göster
 
            $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
            return true;
 
        else://Geliştirici modun değilse hata sayfasıan yönlendir
 
 
            $params = http_build_query([
                "code" => $exception->getCode(),
                "catch_code" => $catch_code,
                "message" => $exception->getMessage(),
                "file" => $exception->getFile() . ":" . $exception->getLine()
            ]);
 
            return $di->get('response')->redirect('hata/500?' . $params)->send();
            //return $di->get('response')->redirect('public/error.php?' . $params)->send();
            //header("Location: " . $url->get('public/error.php?' . $params));
        endif;
 
    }
 
}
#2App\Bootstrap->dispatch(Object(Phalcon\Di\FactoryDefault))
/home/gunessurucukursu/public_html/app/Bootstrap.php (128)
<?php
 
namespace App;
 
use Application\Cache\Manager as CacheManager;
use Konsol\Model\Options;
 
 
class Bootstrap{
 
    public function run(){
 
        try {
 
            $this->initDefined();
 
            $di = new \Phalcon\DI\FactoryDefault();
            $loader = new \Phalcon\Loader();
 
            // Config
            $config = require_once PATHS['APPS'] . '/config/application.php';
 
 
            $config = new \Phalcon\Config($config);
 
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            $di->set('config', $config);
 
 
            // URL
            $url = new \Phalcon\Mvc\Url();
            $url->setBasePath($config->base_path);
            $url->setBaseUri($config->base_path);
            $di->set('url', $url);
 
 
 
            // Database
            $di->set('db', new \Phalcon\Db\Adapter\Pdo\Mysql([
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->dbname,
                "charset" => $config->database->charset,
                "port" => $config->database->port,
            ]));
 
 
            //SET MODULES
            $this->getModules($di);
 
 
            // Loader
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            // View
            $this->initView($di,$config);
 
 
            // Cache
            $this->initCache($di);
 
            // Application
            $application = new \Phalcon\Mvc\Application();
            $application->registerModules($config->modules->toArray());
 
 
            // Events Manager, Dispatcher
            $this->initEventManager($di);
 
 
            $di->set('session', function () use ($di) {
                $session = new \Phalcon\Session\Adapter\Files();
                session_name(HOST_HASH);
                $session->start();
                return $session;
            });
 
            $di->set('cookies', function () {
                $cookies = new \Phalcon\Http\Response\Cookies();
                $cookies->useEncryption(false);
                return $cookies;
            });
 
            $di->set('crypt', function () {
                $crypt = new \Phalcon\Crypt();
                $crypt->setCipher('aes-256-ctr');
                $crypt->setKey("T4\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\x5c");
                return $crypt;
            });
 
            $di->set('localization', new \YobisiKonsol\Plugin\Localization());
 
            $di->set('helper', new \Application\Mvc\Helper());
 
            $di->set('auth', new \Konsol\Model\Auth());
 
            $di->set('acl', new \YobisiKonsol\Plugin\Acl());
 
 
            // JS Assets
            $this->initAssetsManager($di);
 
 
            // Toast helper
            $di->set('toast', new \Application\Mvc\Helper\Toast());
 
            // Flash helper
            $di->set('flash', new \Phalcon\Flash\Session());
 
 
            // Routing
            $this->initRouting($application, $di);
 
            $application->setDI($di);
 
 
            // Main dispatching process
            $response = $this->dispatch($di);
            $response->send();
 
 
        } catch (\Exception $e) {
 
            return $this->initCatch($di, "run_catch", $e);
 
        }
 
    }
 
    private function initRouting($application, $di){
 
 
 
 
            foreach ($application->getModules() as $module) {
                try {
                    $initClassName = str_replace('\Module', '\Init', $module['className']);
                    if (class_exists($initClassName)) {
                        new $initClassName();
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Init.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
 
            $router = new \Application\Mvc\Router\DefaultRouter();
            $router->setDi($di);
            foreach ($application->getModules() as $module) {
                try {
                    $routesClassName = str_replace('\Module', '\Routes', $module['className']);
                    if (class_exists($routesClassName)) {
                        $routesClass = new $routesClassName();
                        $router = $routesClass->init($router);
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Routes.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
            $di->set('router', $router);
 
    }
 
 
    private function initAssetsManager($di){
 
        $assetsManager = new \Application\Assets\Manager();
 
        $di->set('assets', $assetsManager);
    }
 
    private function initEventManager($di)
    {
 
 
        $eventsManager = new \Phalcon\Events\Manager();
        $dispatcher    = new \Phalcon\Mvc\Dispatcher();
 
 
        $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) use ($di) {
            if ($event->getType() == 'beforeException') {
 
                switch ($exception->getCode()) {
                    case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
                    case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
 
                        return $this->initCatch($di, "dispatch:beforeException", $exception);
                }
            }//error pages redirect
        });
 
        /*
         * Plugins
         */
        $events  = [];
        $plugins = glob(PATHS['APPS']  .'plugins/*.php');
 
        foreach ($plugins as $plugin_path):
 
            $plugin_name = rtrim(basename($plugin_path), ".php");
            $namespace = "YobisiKonsol\Plugin\\" . $plugin_name;
 
            $variables = get_class_vars($namespace);
            if(!$event_type = $variables['event_type']) continue;
 
            $events[$event_type][] = $namespace;//plugin
 
        endforeach;
 
        foreach ($events as $event_type => $namespaces):
 
           $eventsManager->attach($event_type, function ($event, $dispatcher) use ($di, $namespaces) {
                foreach ($namespaces as $namespace):
                        $item = new $namespace();
                        if(method_exists($item,"execute")) $item->execute();
                endforeach;
           });
 
        endforeach;
 
 
 
 
        // Profiler
 
        //$is_profiler = Options::findFirstByKey('profiler');
        $is_profiler = false;
        if ($is_profiler) {
            $profiler = new \Phalcon\Db\Profiler();
            $di->set('profiler', $profiler);
            $eventsManager->attach('db', function ($event, $db) use ($profiler) {
 
                if ($event->getType() == 'beforeQuery') {
                    $profiler->startProfile($db->getSQLStatement());
                }
                if ($event->getType() == 'afterQuery') {
                    $profiler->stopProfile();
                }
            });
            $di->get('view')->setVar('profiler',$di->get('profiler'));
        }
 
        $db = $di->get('db');
        $db->setEventsManager($eventsManager);
 
        $dispatcher->setEventsManager($eventsManager);
        $di->set('dispatcher', $dispatcher);
    }
 
    private function initView($di,$config = [])
    {
 
 
        $view = new \Phalcon\Mvc\View();
 
        define('MAIN_VIEW_PATH', PATHS['MODULES'] . "Konsol/Views/");
 
        $view->setViewsDir(MAIN_VIEW_PATH);
        $view->setMainView(MAIN_VIEW_PATH . '/konsol');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('/konsol');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
 
        // Volt
        $volt = new \Application\Mvc\View\Engine\Volt($view, $di);
 
 
        $volt->setOptions([
            'compiledPath' => PATHS['APPS'] . '/../data/cache/volt/',
            'compileAlways' => (DEBUG_MODE) ? true : false
        ]);
        $volt->initCompiler();
 
 
        $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di);
        $viewEngines = [
            ".volt" => $volt,
            ".phtml" => $phtml,
        ];
 
        $view->registerEngines($viewEngines);
 
        $ajax = $di->get('request')->getQuery('_ajax');
 
        if ($ajax) $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
 
 
        $view->setVar('config',$config);
        $di->set('view', $view);
 
        return $view;
    }
 
    private function initCache($di)
    {
        $config = $di->get('config');
 
 
        $cacheFrontend = new \Phalcon\Cache\Frontend\Data([
            "lifetime" => 60,
            "prefix" => HOST_HASH,
        ]);
 
        $cache = null;
        switch ($config->cache) {
            case 'file':
                $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [
                    "cacheDir" => PATHS['APPS'] . "/../data/cache/backend/",
                    'lifetime' => 172800
                ]);
                break;
            case 'memcache':
                $cache = new \Phalcon\Cache\Backend\Memcache(
                    $cacheFrontend, [
                    "host" => $config->memcache->host,
                    "port" => $config->memcache->port,
                ]);
                break;
            case 'memcached':
                $cache = new \Phalcon\Cache\Backend\Libmemcached(
                    $cacheFrontend, [
                    "host" => $config->memcached->host,
                    "port" => $config->memcached->port,
                ]);
                break;
        }
 
        \Application\Widget\Proxy::$cache = $cache; // Modules Widget System
 
        $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory();
 
        $di->set('cache', $cache, true);
        $di->set('modelsCache', $cache, true);
        $di->set('modelsMetadata', $modelsMetadata);
        $di->set('cacheManager', new CacheManager());
    }
 
    private function dispatch($di){
 
 
        $router = $di->get('router');
 
        $router->handle();
 
 
        $view       = $di->get('view');
        $dispatcher = $di->get('dispatcher');
        $response   = $di->get('response');
 
        $dispatcher->setModuleName($router->getModuleName());
        $dispatcher->setControllerName($router->getControllerName());
        $dispatcher->setActionName($router->getActionName());
        $dispatcher->setParams($router->getParams());
 
        $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName());
 
 
        $ModuleClassName = $moduleName . '\Module';
        if (class_exists($ModuleClassName)) {
            $module = new $ModuleClassName();
            $module->registerAutoloaders();
            $module->registerServices($di);
        }
 
        $view->start();
 
        try {
 
            $dispatcher->dispatch();
 
        } catch (\Phalcon\Exception $error) {
 
            return $this->initCatch($di, "dispatch:catch", $error);
 
        }
 
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
 
        // AJAX
        $request = $di['request'];
        $_ajax = $request->getQuery('_ajax');
 
        if ($_ajax) {
 
            $view->setLayout('ajax');
 
            $contents = $view->getContent();
 
            $return = new \stdClass();
            $return->status = true;
            $return->title  = $di->get('helper')->title()->get();
            $return->html   = $contents;
 
 
            $headers = $response->getHeaders()->toArray();
            if (isset($headers[404]) || isset($headers[503])) {
                $return->status = false;
            }
            $response->setContentType('application/json', 'UTF-8');
            $response->setContent(json_encode($return));
        } else {
            $response->setContent($view->getContent());
        }
 
        return $response;
    }
 
    private function getModules($di){
 
        $config = $di->get('config');
        $db     = $di->get('db');
        $cache  = new \Application\Mvc\Helper\CmsCache;
 
        if(APPLICATION_ENV == "development") $db->query("SET @@GLOBAL.sql_mode=''");
 
        $user_modules = $cache::getInstance()->get('modules');
 
 
        if (!$user_modules):
 
            //GET_MODULES
            $statement = $db->prepare('SELECT * FROM modules WHERE status = ? order by priority ASC');
            $statement->execute(array("active"));
            $user_modules = $statement->fetchAll(\Phalcon\Db::FETCH_ASSOC);
 
 
            $cache::getInstance()->save('modules', $user_modules);
 
        endif;
 
 
        //SET_MODULES
        require_once PATHS['APPS'] . '/modules/Application/Loader/Modules.php';
 
        $modules = new \Application\Loader\Modules();
        $modules_config = $modules->modulesConfig($user_modules);
 
 
        foreach ($modules_config['loader']['namespaces'] as $key => $module)
            $config->loader->namespaces[$key] = $module;
 
        foreach ($modules_config['modules'] as $key => $module)
            $config->modules[$key] = $module;
 
 
        return $config;
 
    }
 
 
    private function initDefined(){
        /*
         * geliştirici modunu açar
         */
 
 
 
        $root_dir = rtrim(__DIR__,'app');
        define('PATHS',[
            "ROOT"     => $root_dir,
            "APPS"     => $root_dir  . 'app/',
            "MODULES"  => $root_dir  . "app/modules/",
            "PLUGINS"  => $root_dir  . "app/plugins/",
            "DATA"     => $root_dir  . "data/",
            "CACHE"    => $root_dir  . "data/cache/",
            "PUBLIC"   => $root_dir  . 'public/',
            "MEDIA"    => $root_dir  . "public/media/",
            "ASSETS"   => $root_dir  . "public/assets/",
        ]);
 
 
 
 
 
 
 
    }
 
    private function initCatch($di, $catch_code, \Exception $exception)
    {
        
           $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
        if (DEBUG_MODE)://Geliştirici modunda hataları göster
 
            $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
            return true;
 
        else://Geliştirici modun değilse hata sayfasıan yönlendir
 
 
            $params = http_build_query([
                "code" => $exception->getCode(),
                "catch_code" => $catch_code,
                "message" => $exception->getMessage(),
                "file" => $exception->getFile() . ":" . $exception->getLine()
            ]);
 
            return $di->get('response')->redirect('hata/500?' . $params)->send();
            //return $di->get('response')->redirect('public/error.php?' . $params)->send();
            //header("Location: " . $url->get('public/error.php?' . $params));
        endif;
 
    }
 
}
#3App\Bootstrap->run()
/home/gunessurucukursu/public_html/public/index.php (29)
<?php
 
/*
     * Yobisi.Konsol
     *
     */
//session_name('subdomain_session');
 
 
error_reporting(@$_GET['debug'] ? E_ALL : 1);
 
define('APPLICATION_ENV', ($_SERVER['HTTP_HOST'] == "localhost") ? "development" : "production");
 
 
if (isset($_GET['debug_mode'])) :
    define('DEBUG_MODE', $_SESSION['DEBUG_MODE'] = (bool) $_GET['debug_mode']);
elseif (isset($_SESSION['DEBUG_MODE'])) :
    define('DEBUG_MODE', (bool)$_SESSION['DEBUG_MODE']);
else :
    define('DEBUG_MODE', (APPLICATION_ENV == "development") ? true : false);
endif;
 
 
 
try {
 
    require_once '../app/Bootstrap.php';
    $bootstrap = new App\Bootstrap();
    $bootstrap->run();
} catch (Exception $e) {
 
 
    if (DEBUG_MODE) :
 
        $debug = new \Phalcon\Debug();
        die($debug->listen()->onUncaughtException($e));
 
    else :
 
        include "error.php";
 
    endif;
}
KeyValue
_url/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
KeyValue
PATH/usr/local/bin:/bin:/usr/bin
HTTP_ACCEPT*/*
HTTP_HOSTwww.gunessurucukursu.com
HTTP_USER_AGENTclaudebot
HTTP_X_HTTPS1
DOCUMENT_ROOT/home/gunessurucukursu/public_html
REMOTE_ADDR3.238.228.191
REMOTE_PORT45834
SERVER_ADDR78.142.210.105
SERVER_NAMEwww.gunessurucukursu.com
SERVER_ADMINwebmaster@gunessurucukursu.com
SERVER_PORT443
REQUEST_SCHEMEhttps
REQUEST_URI/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
REDIRECT_URL/public/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
REDIRECT_REQUEST_METHODGET
GEOIP_ADDR3.238.228.191
GEOIP_COUNTRY_CODEUS
GEOIP_CONTINENT_CODENA
GEOIP_REGIONVA
GEOIP_REGION_NAMEVirginia
GEOIP_METRO_CODE511
GEOIP_LATITUDE39.04690
GEOIP_LONGITUDE-77.49030
GEOIP_POSTAL_CODE20149
GEOIP_CITYAshburn
HTTPSon
REDIRECT_STATUS200
APPLICATION_ENVdevelopment
X_SPDYHTTP2
SSL_PROTOCOLTLSv1.3
SSL_CIPHERTLS_AES_256_GCM_SHA384
SSL_CIPHER_USEKEYSIZE256
SSL_CIPHER_ALGKEYSIZE256
SCRIPT_FILENAME/home/gunessurucukursu/public_html/public/index.php
QUERY_STRING_url=/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_URIhttps://www.gunessurucukursu.com/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_URL/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_NAME/public/index.php
SERVER_PROTOCOLHTTP/1.1
SERVER_SOFTWARELiteSpeed
REQUEST_METHODGET
X-LSCACHEon
PHP_SELF/public/index.php
REQUEST_TIME_FLOAT1711662367.9573
REQUEST_TIME1711662367
argvArray([0] => _url=/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/)
argc1
#Path
0/home/gunessurucukursu/public_html/public/index.php
1/home/gunessurucukursu/public_html/app/Bootstrap.php
2/home/gunessurucukursu/public_html/app/config/application.php
3/home/gunessurucukursu/public_html/app/config/environment/production.php
4/home/gunessurucukursu/public_html/vendor/autoload.php
5/home/gunessurucukursu/public_html/vendor/composer/autoload_real.php
6/home/gunessurucukursu/public_html/vendor/composer/ClassLoader.php
7/home/gunessurucukursu/public_html/vendor/composer/autoload_static.php
8/home/gunessurucukursu/public_html/vendor/symfony/polyfill-intl-normalizer/bootstrap.php
9/home/gunessurucukursu/public_html/vendor/symfony/polyfill-mbstring/bootstrap.php
10/home/gunessurucukursu/public_html/vendor/symfony/polyfill-php72/bootstrap.php
11/home/gunessurucukursu/public_html/vendor/ralouphie/getallheaders/src/getallheaders.php
12/home/gunessurucukursu/public_html/vendor/symfony/polyfill-intl-idn/bootstrap.php
13/home/gunessurucukursu/public_html/vendor/guzzlehttp/promises/src/functions_include.php
14/home/gunessurucukursu/public_html/vendor/guzzlehttp/promises/src/functions.php
15/home/gunessurucukursu/public_html/vendor/symfony/deprecation-contracts/function.php
16/home/gunessurucukursu/public_html/vendor/guzzlehttp/guzzle/src/functions_include.php
17/home/gunessurucukursu/public_html/vendor/guzzlehttp/guzzle/src/functions.php
18/home/gunessurucukursu/public_html/vendor/symfony/polyfill-iconv/bootstrap.php
19/home/gunessurucukursu/public_html/vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php
20/home/gunessurucukursu/public_html/vendor/swiftmailer/swiftmailer/lib/swift_required.php
21/home/gunessurucukursu/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php
22/home/gunessurucukursu/public_html/vendor/mtdowling/jmespath.php/src/JmesPath.php
23/home/gunessurucukursu/public_html/vendor/aws/aws-sdk-php/src/functions.php
24/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/CmsCache.php
25/home/gunessurucukursu/public_html/app/modules/Application/Loader/Modules.php
26/home/gunessurucukursu/public_html/app/modules/Application/Mvc/View/Engine/Volt.php
27/home/gunessurucukursu/public_html/app/modules/Application/Widget/Proxy.php
28/home/gunessurucukursu/public_html/app/modules/Application/Cache/Manager.php
29/home/gunessurucukursu/public_html/app/plugins/Acl.php
30/home/gunessurucukursu/public_html/app/plugins/Localization.php
31/home/gunessurucukursu/public_html/app/plugins/MobileDetect.php
32/home/gunessurucukursu/public_html/app/plugins/PhoneFormat.php
33/home/gunessurucukursu/public_html/app/plugins/SendEmail.php
34/home/gunessurucukursu/public_html/app/plugins/SendSMS.php
35/home/gunessurucukursu/public_html/app/plugins/Slugger.php
36/home/gunessurucukursu/public_html/app/plugins/StaticMenu.php
37/home/gunessurucukursu/public_html/app/plugins/TimeAgo.php
38/home/gunessurucukursu/public_html/app/plugins/Title.php
39/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Language.php
40/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/Translate.php
41/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper.php
42/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Auth.php
43/home/gunessurucukursu/public_html/app/modules/Users/Model/Users.php
44/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Model/Model.php
45/home/gunessurucukursu/public_html/app/modules/Application/Assets/Manager.php
46/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/Toast.php
47/home/gunessurucukursu/public_html/app/modules/Konsol/Init.php
48/home/gunessurucukursu/public_html/app/modules/Konsol/Helper/Cdn.php
49/home/gunessurucukursu/public_html/app/modules/Konsol/Helper/Position.php
50/home/gunessurucukursu/public_html/app/modules/Konsol/Form/Options/IntegrationForm.php
51/home/gunessurucukursu/public_html/app/modules/Application/Form/Form.php
52/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Options.php
53/home/gunessurucukursu/public_html/app/modules/Users/Init.php
54/home/gunessurucukursu/public_html/app/modules/Logs/Init.php
55/home/gunessurucukursu/public_html/app/modules/Logs/Helper/Logger.php
56/home/gunessurucukursu/public_html/app/modules/Logs/Helper/AbstractLogger.php
57/home/gunessurucukursu/public_html/app/modules/Logs/Helper/LogLevel.php
58/home/gunessurucukursu/public_html/app/modules/ModuleBuilder/Init.php
59/home/gunessurucukursu/public_html/app/modules/Posts/Init.php
60/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostTypes.php
61/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostTaxonomies.php
62/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostsFinder.php
63/home/gunessurucukursu/public_html/app/modules/Posts/Helper/TermsFinder.php
64/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Router/Resources.php
65/home/gunessurucukursu/public_html/app/modules/Pages/Init.php
66/home/gunessurucukursu/public_html/app/modules/PageBuilder/Init.php
67/home/gunessurucukursu/public_html/app/modules/Constants/Init.php
68/home/gunessurucukursu/public_html/app/modules/MenuMaker/Init.php
69/home/gunessurucukursu/public_html/app/modules/News/Init.php
70/home/gunessurucukursu/public_html/app/modules/Students/Init.php
71/home/gunessurucukursu/public_html/app/modules/Teachers/Init.php
72/home/gunessurucukursu/public_html/app/modules/Appointments/Init.php
73/home/gunessurucukursu/public_html/app/modules/FileManager/Init.php
74/home/gunessurucukursu/public_html/app/modules/Reports/Init.php
75/home/gunessurucukursu/public_html/app/modules/GunesSurucu/Init.php
76/home/gunessurucukursu/public_html/app/modules/YobiForm/Init.php
77/home/gunessurucukursu/public_html/app/modules/App/Init.php
78/home/gunessurucukursu/public_html/app/modules/Whatsapp/Init.php
79/home/gunessurucukursu/public_html/app/modules/Whatsapp/Widget/WhatsappWidget.php
80/home/gunessurucukursu/public_html/app/modules/Application/Widget/AbstractWidget.php
81/home/gunessurucukursu/public_html/data/cache/volt/%%home%%gunessurucukursu%%public_html%%app%%modules%%whatsapp%%views%%widget%%floating.volt.php
82/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Router/DefaultRouter.php
83/home/gunessurucukursu/public_html/app/modules/Konsol/Routes.php
84/home/gunessurucukursu/public_html/app/modules/Logs/Routes.php
85/home/gunessurucukursu/public_html/app/modules/Posts/Routes.php
86/home/gunessurucukursu/public_html/app/modules/PageBuilder/Routes.php
87/home/gunessurucukursu/public_html/app/modules/Constants/Routes.php
88/home/gunessurucukursu/public_html/app/modules/MenuMaker/Routes.php
89/home/gunessurucukursu/public_html/app/modules/News/Routes.php
90/home/gunessurucukursu/public_html/app/modules/Students/Routes.php
91/home/gunessurucukursu/public_html/app/modules/Teachers/Routes.php
92/home/gunessurucukursu/public_html/app/modules/Appointments/Routes.php
93/home/gunessurucukursu/public_html/app/modules/FileManager/Routes.php
94/home/gunessurucukursu/public_html/app/modules/Reports/Routes.php
95/home/gunessurucukursu/public_html/app/modules/GunesSurucu/Routes.php
96/home/gunessurucukursu/public_html/app/modules/YobiForm/Routes.php
97/home/gunessurucukursu/public_html/app/modules/App/Routes.php
98/home/gunessurucukursu/public_html/app/modules/Application/Utils/ModuleName.php
99/home/gunessurucukursu/public_html/vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php
Memory
Usage2097152
Phalcon\Mvc\Dispatcher\Exception: IndexController handler class cannot be loaded
Phalcon Framework 3.4.5

Phalcon\Mvc\Dispatcher\Exception: IndexController handler class cannot be loaded

/home/gunessurucukursu/public_html/app/Bootstrap.php (393)
#0Phalcon\Mvc\Dispatcher->_throwDispatchException(IndexController handler class cannot be loaded, 2)
#1Phalcon\Dispatcher->dispatch()
/home/gunessurucukursu/public_html/app/Bootstrap.php (393)
<?php
 
namespace App;
 
use Application\Cache\Manager as CacheManager;
use Konsol\Model\Options;
 
 
class Bootstrap{
 
    public function run(){
 
        try {
 
            $this->initDefined();
 
            $di = new \Phalcon\DI\FactoryDefault();
            $loader = new \Phalcon\Loader();
 
            // Config
            $config = require_once PATHS['APPS'] . '/config/application.php';
 
 
            $config = new \Phalcon\Config($config);
 
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            $di->set('config', $config);
 
 
            // URL
            $url = new \Phalcon\Mvc\Url();
            $url->setBasePath($config->base_path);
            $url->setBaseUri($config->base_path);
            $di->set('url', $url);
 
 
 
            // Database
            $di->set('db', new \Phalcon\Db\Adapter\Pdo\Mysql([
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->dbname,
                "charset" => $config->database->charset,
                "port" => $config->database->port,
            ]));
 
 
            //SET MODULES
            $this->getModules($di);
 
 
            // Loader
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            // View
            $this->initView($di,$config);
 
 
            // Cache
            $this->initCache($di);
 
            // Application
            $application = new \Phalcon\Mvc\Application();
            $application->registerModules($config->modules->toArray());
 
 
            // Events Manager, Dispatcher
            $this->initEventManager($di);
 
 
            $di->set('session', function () use ($di) {
                $session = new \Phalcon\Session\Adapter\Files();
                session_name(HOST_HASH);
                $session->start();
                return $session;
            });
 
            $di->set('cookies', function () {
                $cookies = new \Phalcon\Http\Response\Cookies();
                $cookies->useEncryption(false);
                return $cookies;
            });
 
            $di->set('crypt', function () {
                $crypt = new \Phalcon\Crypt();
                $crypt->setCipher('aes-256-ctr');
                $crypt->setKey("T4\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\x5c");
                return $crypt;
            });
 
            $di->set('localization', new \YobisiKonsol\Plugin\Localization());
 
            $di->set('helper', new \Application\Mvc\Helper());
 
            $di->set('auth', new \Konsol\Model\Auth());
 
            $di->set('acl', new \YobisiKonsol\Plugin\Acl());
 
 
            // JS Assets
            $this->initAssetsManager($di);
 
 
            // Toast helper
            $di->set('toast', new \Application\Mvc\Helper\Toast());
 
            // Flash helper
            $di->set('flash', new \Phalcon\Flash\Session());
 
 
            // Routing
            $this->initRouting($application, $di);
 
            $application->setDI($di);
 
 
            // Main dispatching process
            $response = $this->dispatch($di);
            $response->send();
 
 
        } catch (\Exception $e) {
 
            return $this->initCatch($di, "run_catch", $e);
 
        }
 
    }
 
    private function initRouting($application, $di){
 
 
 
 
            foreach ($application->getModules() as $module) {
                try {
                    $initClassName = str_replace('\Module', '\Init', $module['className']);
                    if (class_exists($initClassName)) {
                        new $initClassName();
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Init.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
 
            $router = new \Application\Mvc\Router\DefaultRouter();
            $router->setDi($di);
            foreach ($application->getModules() as $module) {
                try {
                    $routesClassName = str_replace('\Module', '\Routes', $module['className']);
                    if (class_exists($routesClassName)) {
                        $routesClass = new $routesClassName();
                        $router = $routesClass->init($router);
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Routes.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
            $di->set('router', $router);
 
    }
 
 
    private function initAssetsManager($di){
 
        $assetsManager = new \Application\Assets\Manager();
 
        $di->set('assets', $assetsManager);
    }
 
    private function initEventManager($di)
    {
 
 
        $eventsManager = new \Phalcon\Events\Manager();
        $dispatcher    = new \Phalcon\Mvc\Dispatcher();
 
 
        $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) use ($di) {
            if ($event->getType() == 'beforeException') {
 
                switch ($exception->getCode()) {
                    case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
                    case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
 
                        return $this->initCatch($di, "dispatch:beforeException", $exception);
                }
            }//error pages redirect
        });
 
        /*
         * Plugins
         */
        $events  = [];
        $plugins = glob(PATHS['APPS']  .'plugins/*.php');
 
        foreach ($plugins as $plugin_path):
 
            $plugin_name = rtrim(basename($plugin_path), ".php");
            $namespace = "YobisiKonsol\Plugin\\" . $plugin_name;
 
            $variables = get_class_vars($namespace);
            if(!$event_type = $variables['event_type']) continue;
 
            $events[$event_type][] = $namespace;//plugin
 
        endforeach;
 
        foreach ($events as $event_type => $namespaces):
 
           $eventsManager->attach($event_type, function ($event, $dispatcher) use ($di, $namespaces) {
                foreach ($namespaces as $namespace):
                        $item = new $namespace();
                        if(method_exists($item,"execute")) $item->execute();
                endforeach;
           });
 
        endforeach;
 
 
 
 
        // Profiler
 
        //$is_profiler = Options::findFirstByKey('profiler');
        $is_profiler = false;
        if ($is_profiler) {
            $profiler = new \Phalcon\Db\Profiler();
            $di->set('profiler', $profiler);
            $eventsManager->attach('db', function ($event, $db) use ($profiler) {
 
                if ($event->getType() == 'beforeQuery') {
                    $profiler->startProfile($db->getSQLStatement());
                }
                if ($event->getType() == 'afterQuery') {
                    $profiler->stopProfile();
                }
            });
            $di->get('view')->setVar('profiler',$di->get('profiler'));
        }
 
        $db = $di->get('db');
        $db->setEventsManager($eventsManager);
 
        $dispatcher->setEventsManager($eventsManager);
        $di->set('dispatcher', $dispatcher);
    }
 
    private function initView($di,$config = [])
    {
 
 
        $view = new \Phalcon\Mvc\View();
 
        define('MAIN_VIEW_PATH', PATHS['MODULES'] . "Konsol/Views/");
 
        $view->setViewsDir(MAIN_VIEW_PATH);
        $view->setMainView(MAIN_VIEW_PATH . '/konsol');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('/konsol');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
 
        // Volt
        $volt = new \Application\Mvc\View\Engine\Volt($view, $di);
 
 
        $volt->setOptions([
            'compiledPath' => PATHS['APPS'] . '/../data/cache/volt/',
            'compileAlways' => (DEBUG_MODE) ? true : false
        ]);
        $volt->initCompiler();
 
 
        $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di);
        $viewEngines = [
            ".volt" => $volt,
            ".phtml" => $phtml,
        ];
 
        $view->registerEngines($viewEngines);
 
        $ajax = $di->get('request')->getQuery('_ajax');
 
        if ($ajax) $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
 
 
        $view->setVar('config',$config);
        $di->set('view', $view);
 
        return $view;
    }
 
    private function initCache($di)
    {
        $config = $di->get('config');
 
 
        $cacheFrontend = new \Phalcon\Cache\Frontend\Data([
            "lifetime" => 60,
            "prefix" => HOST_HASH,
        ]);
 
        $cache = null;
        switch ($config->cache) {
            case 'file':
                $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [
                    "cacheDir" => PATHS['APPS'] . "/../data/cache/backend/",
                    'lifetime' => 172800
                ]);
                break;
            case 'memcache':
                $cache = new \Phalcon\Cache\Backend\Memcache(
                    $cacheFrontend, [
                    "host" => $config->memcache->host,
                    "port" => $config->memcache->port,
                ]);
                break;
            case 'memcached':
                $cache = new \Phalcon\Cache\Backend\Libmemcached(
                    $cacheFrontend, [
                    "host" => $config->memcached->host,
                    "port" => $config->memcached->port,
                ]);
                break;
        }
 
        \Application\Widget\Proxy::$cache = $cache; // Modules Widget System
 
        $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory();
 
        $di->set('cache', $cache, true);
        $di->set('modelsCache', $cache, true);
        $di->set('modelsMetadata', $modelsMetadata);
        $di->set('cacheManager', new CacheManager());
    }
 
    private function dispatch($di){
 
 
        $router = $di->get('router');
 
        $router->handle();
 
 
        $view       = $di->get('view');
        $dispatcher = $di->get('dispatcher');
        $response   = $di->get('response');
 
        $dispatcher->setModuleName($router->getModuleName());
        $dispatcher->setControllerName($router->getControllerName());
        $dispatcher->setActionName($router->getActionName());
        $dispatcher->setParams($router->getParams());
 
        $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName());
 
 
        $ModuleClassName = $moduleName . '\Module';
        if (class_exists($ModuleClassName)) {
            $module = new $ModuleClassName();
            $module->registerAutoloaders();
            $module->registerServices($di);
        }
 
        $view->start();
 
        try {
 
            $dispatcher->dispatch();
 
        } catch (\Phalcon\Exception $error) {
 
            return $this->initCatch($di, "dispatch:catch", $error);
 
        }
 
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
 
        // AJAX
        $request = $di['request'];
        $_ajax = $request->getQuery('_ajax');
 
        if ($_ajax) {
 
            $view->setLayout('ajax');
 
            $contents = $view->getContent();
 
            $return = new \stdClass();
            $return->status = true;
            $return->title  = $di->get('helper')->title()->get();
            $return->html   = $contents;
 
 
            $headers = $response->getHeaders()->toArray();
            if (isset($headers[404]) || isset($headers[503])) {
                $return->status = false;
            }
            $response->setContentType('application/json', 'UTF-8');
            $response->setContent(json_encode($return));
        } else {
            $response->setContent($view->getContent());
        }
 
        return $response;
    }
 
    private function getModules($di){
 
        $config = $di->get('config');
        $db     = $di->get('db');
        $cache  = new \Application\Mvc\Helper\CmsCache;
 
        if(APPLICATION_ENV == "development") $db->query("SET @@GLOBAL.sql_mode=''");
 
        $user_modules = $cache::getInstance()->get('modules');
 
 
        if (!$user_modules):
 
            //GET_MODULES
            $statement = $db->prepare('SELECT * FROM modules WHERE status = ? order by priority ASC');
            $statement->execute(array("active"));
            $user_modules = $statement->fetchAll(\Phalcon\Db::FETCH_ASSOC);
 
 
            $cache::getInstance()->save('modules', $user_modules);
 
        endif;
 
 
        //SET_MODULES
        require_once PATHS['APPS'] . '/modules/Application/Loader/Modules.php';
 
        $modules = new \Application\Loader\Modules();
        $modules_config = $modules->modulesConfig($user_modules);
 
 
        foreach ($modules_config['loader']['namespaces'] as $key => $module)
            $config->loader->namespaces[$key] = $module;
 
        foreach ($modules_config['modules'] as $key => $module)
            $config->modules[$key] = $module;
 
 
        return $config;
 
    }
 
 
    private function initDefined(){
        /*
         * geliştirici modunu açar
         */
 
 
 
        $root_dir = rtrim(__DIR__,'app');
        define('PATHS',[
            "ROOT"     => $root_dir,
            "APPS"     => $root_dir  . 'app/',
            "MODULES"  => $root_dir  . "app/modules/",
            "PLUGINS"  => $root_dir  . "app/plugins/",
            "DATA"     => $root_dir  . "data/",
            "CACHE"    => $root_dir  . "data/cache/",
            "PUBLIC"   => $root_dir  . 'public/',
            "MEDIA"    => $root_dir  . "public/media/",
            "ASSETS"   => $root_dir  . "public/assets/",
        ]);
 
 
 
 
 
 
 
    }
 
    private function initCatch($di, $catch_code, \Exception $exception)
    {
        
           $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
        if (DEBUG_MODE)://Geliştirici modunda hataları göster
 
            $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
            return true;
 
        else://Geliştirici modun değilse hata sayfasıan yönlendir
 
 
            $params = http_build_query([
                "code" => $exception->getCode(),
                "catch_code" => $catch_code,
                "message" => $exception->getMessage(),
                "file" => $exception->getFile() . ":" . $exception->getLine()
            ]);
 
            return $di->get('response')->redirect('hata/500?' . $params)->send();
            //return $di->get('response')->redirect('public/error.php?' . $params)->send();
            //header("Location: " . $url->get('public/error.php?' . $params));
        endif;
 
    }
 
}
#2App\Bootstrap->dispatch(Object(Phalcon\Di\FactoryDefault))
/home/gunessurucukursu/public_html/app/Bootstrap.php (128)
<?php
 
namespace App;
 
use Application\Cache\Manager as CacheManager;
use Konsol\Model\Options;
 
 
class Bootstrap{
 
    public function run(){
 
        try {
 
            $this->initDefined();
 
            $di = new \Phalcon\DI\FactoryDefault();
            $loader = new \Phalcon\Loader();
 
            // Config
            $config = require_once PATHS['APPS'] . '/config/application.php';
 
 
            $config = new \Phalcon\Config($config);
 
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            $di->set('config', $config);
 
 
            // URL
            $url = new \Phalcon\Mvc\Url();
            $url->setBasePath($config->base_path);
            $url->setBaseUri($config->base_path);
            $di->set('url', $url);
 
 
 
            // Database
            $di->set('db', new \Phalcon\Db\Adapter\Pdo\Mysql([
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->dbname,
                "charset" => $config->database->charset,
                "port" => $config->database->port,
            ]));
 
 
            //SET MODULES
            $this->getModules($di);
 
 
            // Loader
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            // View
            $this->initView($di,$config);
 
 
            // Cache
            $this->initCache($di);
 
            // Application
            $application = new \Phalcon\Mvc\Application();
            $application->registerModules($config->modules->toArray());
 
 
            // Events Manager, Dispatcher
            $this->initEventManager($di);
 
 
            $di->set('session', function () use ($di) {
                $session = new \Phalcon\Session\Adapter\Files();
                session_name(HOST_HASH);
                $session->start();
                return $session;
            });
 
            $di->set('cookies', function () {
                $cookies = new \Phalcon\Http\Response\Cookies();
                $cookies->useEncryption(false);
                return $cookies;
            });
 
            $di->set('crypt', function () {
                $crypt = new \Phalcon\Crypt();
                $crypt->setCipher('aes-256-ctr');
                $crypt->setKey("T4\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\x5c");
                return $crypt;
            });
 
            $di->set('localization', new \YobisiKonsol\Plugin\Localization());
 
            $di->set('helper', new \Application\Mvc\Helper());
 
            $di->set('auth', new \Konsol\Model\Auth());
 
            $di->set('acl', new \YobisiKonsol\Plugin\Acl());
 
 
            // JS Assets
            $this->initAssetsManager($di);
 
 
            // Toast helper
            $di->set('toast', new \Application\Mvc\Helper\Toast());
 
            // Flash helper
            $di->set('flash', new \Phalcon\Flash\Session());
 
 
            // Routing
            $this->initRouting($application, $di);
 
            $application->setDI($di);
 
 
            // Main dispatching process
            $response = $this->dispatch($di);
            $response->send();
 
 
        } catch (\Exception $e) {
 
            return $this->initCatch($di, "run_catch", $e);
 
        }
 
    }
 
    private function initRouting($application, $di){
 
 
 
 
            foreach ($application->getModules() as $module) {
                try {
                    $initClassName = str_replace('\Module', '\Init', $module['className']);
                    if (class_exists($initClassName)) {
                        new $initClassName();
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Init.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
 
            $router = new \Application\Mvc\Router\DefaultRouter();
            $router->setDi($di);
            foreach ($application->getModules() as $module) {
                try {
                    $routesClassName = str_replace('\Module', '\Routes', $module['className']);
                    if (class_exists($routesClassName)) {
                        $routesClass = new $routesClassName();
                        $router = $routesClass->init($router);
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Routes.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
            $di->set('router', $router);
 
    }
 
 
    private function initAssetsManager($di){
 
        $assetsManager = new \Application\Assets\Manager();
 
        $di->set('assets', $assetsManager);
    }
 
    private function initEventManager($di)
    {
 
 
        $eventsManager = new \Phalcon\Events\Manager();
        $dispatcher    = new \Phalcon\Mvc\Dispatcher();
 
 
        $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) use ($di) {
            if ($event->getType() == 'beforeException') {
 
                switch ($exception->getCode()) {
                    case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
                    case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
 
                        return $this->initCatch($di, "dispatch:beforeException", $exception);
                }
            }//error pages redirect
        });
 
        /*
         * Plugins
         */
        $events  = [];
        $plugins = glob(PATHS['APPS']  .'plugins/*.php');
 
        foreach ($plugins as $plugin_path):
 
            $plugin_name = rtrim(basename($plugin_path), ".php");
            $namespace = "YobisiKonsol\Plugin\\" . $plugin_name;
 
            $variables = get_class_vars($namespace);
            if(!$event_type = $variables['event_type']) continue;
 
            $events[$event_type][] = $namespace;//plugin
 
        endforeach;
 
        foreach ($events as $event_type => $namespaces):
 
           $eventsManager->attach($event_type, function ($event, $dispatcher) use ($di, $namespaces) {
                foreach ($namespaces as $namespace):
                        $item = new $namespace();
                        if(method_exists($item,"execute")) $item->execute();
                endforeach;
           });
 
        endforeach;
 
 
 
 
        // Profiler
 
        //$is_profiler = Options::findFirstByKey('profiler');
        $is_profiler = false;
        if ($is_profiler) {
            $profiler = new \Phalcon\Db\Profiler();
            $di->set('profiler', $profiler);
            $eventsManager->attach('db', function ($event, $db) use ($profiler) {
 
                if ($event->getType() == 'beforeQuery') {
                    $profiler->startProfile($db->getSQLStatement());
                }
                if ($event->getType() == 'afterQuery') {
                    $profiler->stopProfile();
                }
            });
            $di->get('view')->setVar('profiler',$di->get('profiler'));
        }
 
        $db = $di->get('db');
        $db->setEventsManager($eventsManager);
 
        $dispatcher->setEventsManager($eventsManager);
        $di->set('dispatcher', $dispatcher);
    }
 
    private function initView($di,$config = [])
    {
 
 
        $view = new \Phalcon\Mvc\View();
 
        define('MAIN_VIEW_PATH', PATHS['MODULES'] . "Konsol/Views/");
 
        $view->setViewsDir(MAIN_VIEW_PATH);
        $view->setMainView(MAIN_VIEW_PATH . '/konsol');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('/konsol');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
 
        // Volt
        $volt = new \Application\Mvc\View\Engine\Volt($view, $di);
 
 
        $volt->setOptions([
            'compiledPath' => PATHS['APPS'] . '/../data/cache/volt/',
            'compileAlways' => (DEBUG_MODE) ? true : false
        ]);
        $volt->initCompiler();
 
 
        $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di);
        $viewEngines = [
            ".volt" => $volt,
            ".phtml" => $phtml,
        ];
 
        $view->registerEngines($viewEngines);
 
        $ajax = $di->get('request')->getQuery('_ajax');
 
        if ($ajax) $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
 
 
        $view->setVar('config',$config);
        $di->set('view', $view);
 
        return $view;
    }
 
    private function initCache($di)
    {
        $config = $di->get('config');
 
 
        $cacheFrontend = new \Phalcon\Cache\Frontend\Data([
            "lifetime" => 60,
            "prefix" => HOST_HASH,
        ]);
 
        $cache = null;
        switch ($config->cache) {
            case 'file':
                $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [
                    "cacheDir" => PATHS['APPS'] . "/../data/cache/backend/",
                    'lifetime' => 172800
                ]);
                break;
            case 'memcache':
                $cache = new \Phalcon\Cache\Backend\Memcache(
                    $cacheFrontend, [
                    "host" => $config->memcache->host,
                    "port" => $config->memcache->port,
                ]);
                break;
            case 'memcached':
                $cache = new \Phalcon\Cache\Backend\Libmemcached(
                    $cacheFrontend, [
                    "host" => $config->memcached->host,
                    "port" => $config->memcached->port,
                ]);
                break;
        }
 
        \Application\Widget\Proxy::$cache = $cache; // Modules Widget System
 
        $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory();
 
        $di->set('cache', $cache, true);
        $di->set('modelsCache', $cache, true);
        $di->set('modelsMetadata', $modelsMetadata);
        $di->set('cacheManager', new CacheManager());
    }
 
    private function dispatch($di){
 
 
        $router = $di->get('router');
 
        $router->handle();
 
 
        $view       = $di->get('view');
        $dispatcher = $di->get('dispatcher');
        $response   = $di->get('response');
 
        $dispatcher->setModuleName($router->getModuleName());
        $dispatcher->setControllerName($router->getControllerName());
        $dispatcher->setActionName($router->getActionName());
        $dispatcher->setParams($router->getParams());
 
        $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName());
 
 
        $ModuleClassName = $moduleName . '\Module';
        if (class_exists($ModuleClassName)) {
            $module = new $ModuleClassName();
            $module->registerAutoloaders();
            $module->registerServices($di);
        }
 
        $view->start();
 
        try {
 
            $dispatcher->dispatch();
 
        } catch (\Phalcon\Exception $error) {
 
            return $this->initCatch($di, "dispatch:catch", $error);
 
        }
 
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
 
        // AJAX
        $request = $di['request'];
        $_ajax = $request->getQuery('_ajax');
 
        if ($_ajax) {
 
            $view->setLayout('ajax');
 
            $contents = $view->getContent();
 
            $return = new \stdClass();
            $return->status = true;
            $return->title  = $di->get('helper')->title()->get();
            $return->html   = $contents;
 
 
            $headers = $response->getHeaders()->toArray();
            if (isset($headers[404]) || isset($headers[503])) {
                $return->status = false;
            }
            $response->setContentType('application/json', 'UTF-8');
            $response->setContent(json_encode($return));
        } else {
            $response->setContent($view->getContent());
        }
 
        return $response;
    }
 
    private function getModules($di){
 
        $config = $di->get('config');
        $db     = $di->get('db');
        $cache  = new \Application\Mvc\Helper\CmsCache;
 
        if(APPLICATION_ENV == "development") $db->query("SET @@GLOBAL.sql_mode=''");
 
        $user_modules = $cache::getInstance()->get('modules');
 
 
        if (!$user_modules):
 
            //GET_MODULES
            $statement = $db->prepare('SELECT * FROM modules WHERE status = ? order by priority ASC');
            $statement->execute(array("active"));
            $user_modules = $statement->fetchAll(\Phalcon\Db::FETCH_ASSOC);
 
 
            $cache::getInstance()->save('modules', $user_modules);
 
        endif;
 
 
        //SET_MODULES
        require_once PATHS['APPS'] . '/modules/Application/Loader/Modules.php';
 
        $modules = new \Application\Loader\Modules();
        $modules_config = $modules->modulesConfig($user_modules);
 
 
        foreach ($modules_config['loader']['namespaces'] as $key => $module)
            $config->loader->namespaces[$key] = $module;
 
        foreach ($modules_config['modules'] as $key => $module)
            $config->modules[$key] = $module;
 
 
        return $config;
 
    }
 
 
    private function initDefined(){
        /*
         * geliştirici modunu açar
         */
 
 
 
        $root_dir = rtrim(__DIR__,'app');
        define('PATHS',[
            "ROOT"     => $root_dir,
            "APPS"     => $root_dir  . 'app/',
            "MODULES"  => $root_dir  . "app/modules/",
            "PLUGINS"  => $root_dir  . "app/plugins/",
            "DATA"     => $root_dir  . "data/",
            "CACHE"    => $root_dir  . "data/cache/",
            "PUBLIC"   => $root_dir  . 'public/',
            "MEDIA"    => $root_dir  . "public/media/",
            "ASSETS"   => $root_dir  . "public/assets/",
        ]);
 
 
 
 
 
 
 
    }
 
    private function initCatch($di, $catch_code, \Exception $exception)
    {
        
           $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
        if (DEBUG_MODE)://Geliştirici modunda hataları göster
 
            $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
            return true;
 
        else://Geliştirici modun değilse hata sayfasıan yönlendir
 
 
            $params = http_build_query([
                "code" => $exception->getCode(),
                "catch_code" => $catch_code,
                "message" => $exception->getMessage(),
                "file" => $exception->getFile() . ":" . $exception->getLine()
            ]);
 
            return $di->get('response')->redirect('hata/500?' . $params)->send();
            //return $di->get('response')->redirect('public/error.php?' . $params)->send();
            //header("Location: " . $url->get('public/error.php?' . $params));
        endif;
 
    }
 
}
#3App\Bootstrap->run()
/home/gunessurucukursu/public_html/public/index.php (29)
<?php
 
/*
     * Yobisi.Konsol
     *
     */
//session_name('subdomain_session');
 
 
error_reporting(@$_GET['debug'] ? E_ALL : 1);
 
define('APPLICATION_ENV', ($_SERVER['HTTP_HOST'] == "localhost") ? "development" : "production");
 
 
if (isset($_GET['debug_mode'])) :
    define('DEBUG_MODE', $_SESSION['DEBUG_MODE'] = (bool) $_GET['debug_mode']);
elseif (isset($_SESSION['DEBUG_MODE'])) :
    define('DEBUG_MODE', (bool)$_SESSION['DEBUG_MODE']);
else :
    define('DEBUG_MODE', (APPLICATION_ENV == "development") ? true : false);
endif;
 
 
 
try {
 
    require_once '../app/Bootstrap.php';
    $bootstrap = new App\Bootstrap();
    $bootstrap->run();
} catch (Exception $e) {
 
 
    if (DEBUG_MODE) :
 
        $debug = new \Phalcon\Debug();
        die($debug->listen()->onUncaughtException($e));
 
    else :
 
        include "error.php";
 
    endif;
}
KeyValue
_url/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
KeyValue
PATH/usr/local/bin:/bin:/usr/bin
HTTP_ACCEPT*/*
HTTP_HOSTwww.gunessurucukursu.com
HTTP_USER_AGENTclaudebot
HTTP_X_HTTPS1
DOCUMENT_ROOT/home/gunessurucukursu/public_html
REMOTE_ADDR3.238.228.191
REMOTE_PORT45834
SERVER_ADDR78.142.210.105
SERVER_NAMEwww.gunessurucukursu.com
SERVER_ADMINwebmaster@gunessurucukursu.com
SERVER_PORT443
REQUEST_SCHEMEhttps
REQUEST_URI/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
REDIRECT_URL/public/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
REDIRECT_REQUEST_METHODGET
GEOIP_ADDR3.238.228.191
GEOIP_COUNTRY_CODEUS
GEOIP_CONTINENT_CODENA
GEOIP_REGIONVA
GEOIP_REGION_NAMEVirginia
GEOIP_METRO_CODE511
GEOIP_LATITUDE39.04690
GEOIP_LONGITUDE-77.49030
GEOIP_POSTAL_CODE20149
GEOIP_CITYAshburn
HTTPSon
REDIRECT_STATUS200
APPLICATION_ENVdevelopment
X_SPDYHTTP2
SSL_PROTOCOLTLSv1.3
SSL_CIPHERTLS_AES_256_GCM_SHA384
SSL_CIPHER_USEKEYSIZE256
SSL_CIPHER_ALGKEYSIZE256
SCRIPT_FILENAME/home/gunessurucukursu/public_html/public/index.php
QUERY_STRING_url=/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_URIhttps://www.gunessurucukursu.com/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_URL/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_NAME/public/index.php
SERVER_PROTOCOLHTTP/1.1
SERVER_SOFTWARELiteSpeed
REQUEST_METHODGET
X-LSCACHEon
PHP_SELF/public/index.php
REQUEST_TIME_FLOAT1711662367.9573
REQUEST_TIME1711662367
argvArray([0] => _url=/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/)
argc1
#Path
0/home/gunessurucukursu/public_html/public/index.php
1/home/gunessurucukursu/public_html/app/Bootstrap.php
2/home/gunessurucukursu/public_html/app/config/application.php
3/home/gunessurucukursu/public_html/app/config/environment/production.php
4/home/gunessurucukursu/public_html/vendor/autoload.php
5/home/gunessurucukursu/public_html/vendor/composer/autoload_real.php
6/home/gunessurucukursu/public_html/vendor/composer/ClassLoader.php
7/home/gunessurucukursu/public_html/vendor/composer/autoload_static.php
8/home/gunessurucukursu/public_html/vendor/symfony/polyfill-intl-normalizer/bootstrap.php
9/home/gunessurucukursu/public_html/vendor/symfony/polyfill-mbstring/bootstrap.php
10/home/gunessurucukursu/public_html/vendor/symfony/polyfill-php72/bootstrap.php
11/home/gunessurucukursu/public_html/vendor/ralouphie/getallheaders/src/getallheaders.php
12/home/gunessurucukursu/public_html/vendor/symfony/polyfill-intl-idn/bootstrap.php
13/home/gunessurucukursu/public_html/vendor/guzzlehttp/promises/src/functions_include.php
14/home/gunessurucukursu/public_html/vendor/guzzlehttp/promises/src/functions.php
15/home/gunessurucukursu/public_html/vendor/symfony/deprecation-contracts/function.php
16/home/gunessurucukursu/public_html/vendor/guzzlehttp/guzzle/src/functions_include.php
17/home/gunessurucukursu/public_html/vendor/guzzlehttp/guzzle/src/functions.php
18/home/gunessurucukursu/public_html/vendor/symfony/polyfill-iconv/bootstrap.php
19/home/gunessurucukursu/public_html/vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php
20/home/gunessurucukursu/public_html/vendor/swiftmailer/swiftmailer/lib/swift_required.php
21/home/gunessurucukursu/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php
22/home/gunessurucukursu/public_html/vendor/mtdowling/jmespath.php/src/JmesPath.php
23/home/gunessurucukursu/public_html/vendor/aws/aws-sdk-php/src/functions.php
24/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/CmsCache.php
25/home/gunessurucukursu/public_html/app/modules/Application/Loader/Modules.php
26/home/gunessurucukursu/public_html/app/modules/Application/Mvc/View/Engine/Volt.php
27/home/gunessurucukursu/public_html/app/modules/Application/Widget/Proxy.php
28/home/gunessurucukursu/public_html/app/modules/Application/Cache/Manager.php
29/home/gunessurucukursu/public_html/app/plugins/Acl.php
30/home/gunessurucukursu/public_html/app/plugins/Localization.php
31/home/gunessurucukursu/public_html/app/plugins/MobileDetect.php
32/home/gunessurucukursu/public_html/app/plugins/PhoneFormat.php
33/home/gunessurucukursu/public_html/app/plugins/SendEmail.php
34/home/gunessurucukursu/public_html/app/plugins/SendSMS.php
35/home/gunessurucukursu/public_html/app/plugins/Slugger.php
36/home/gunessurucukursu/public_html/app/plugins/StaticMenu.php
37/home/gunessurucukursu/public_html/app/plugins/TimeAgo.php
38/home/gunessurucukursu/public_html/app/plugins/Title.php
39/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Language.php
40/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/Translate.php
41/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper.php
42/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Auth.php
43/home/gunessurucukursu/public_html/app/modules/Users/Model/Users.php
44/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Model/Model.php
45/home/gunessurucukursu/public_html/app/modules/Application/Assets/Manager.php
46/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/Toast.php
47/home/gunessurucukursu/public_html/app/modules/Konsol/Init.php
48/home/gunessurucukursu/public_html/app/modules/Konsol/Helper/Cdn.php
49/home/gunessurucukursu/public_html/app/modules/Konsol/Helper/Position.php
50/home/gunessurucukursu/public_html/app/modules/Konsol/Form/Options/IntegrationForm.php
51/home/gunessurucukursu/public_html/app/modules/Application/Form/Form.php
52/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Options.php
53/home/gunessurucukursu/public_html/app/modules/Users/Init.php
54/home/gunessurucukursu/public_html/app/modules/Logs/Init.php
55/home/gunessurucukursu/public_html/app/modules/Logs/Helper/Logger.php
56/home/gunessurucukursu/public_html/app/modules/Logs/Helper/AbstractLogger.php
57/home/gunessurucukursu/public_html/app/modules/Logs/Helper/LogLevel.php
58/home/gunessurucukursu/public_html/app/modules/ModuleBuilder/Init.php
59/home/gunessurucukursu/public_html/app/modules/Posts/Init.php
60/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostTypes.php
61/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostTaxonomies.php
62/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostsFinder.php
63/home/gunessurucukursu/public_html/app/modules/Posts/Helper/TermsFinder.php
64/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Router/Resources.php
65/home/gunessurucukursu/public_html/app/modules/Pages/Init.php
66/home/gunessurucukursu/public_html/app/modules/PageBuilder/Init.php
67/home/gunessurucukursu/public_html/app/modules/Constants/Init.php
68/home/gunessurucukursu/public_html/app/modules/MenuMaker/Init.php
69/home/gunessurucukursu/public_html/app/modules/News/Init.php
70/home/gunessurucukursu/public_html/app/modules/Students/Init.php
71/home/gunessurucukursu/public_html/app/modules/Teachers/Init.php
72/home/gunessurucukursu/public_html/app/modules/Appointments/Init.php
73/home/gunessurucukursu/public_html/app/modules/FileManager/Init.php
74/home/gunessurucukursu/public_html/app/modules/Reports/Init.php
75/home/gunessurucukursu/public_html/app/modules/GunesSurucu/Init.php
76/home/gunessurucukursu/public_html/app/modules/YobiForm/Init.php
77/home/gunessurucukursu/public_html/app/modules/App/Init.php
78/home/gunessurucukursu/public_html/app/modules/Whatsapp/Init.php
79/home/gunessurucukursu/public_html/app/modules/Whatsapp/Widget/WhatsappWidget.php
80/home/gunessurucukursu/public_html/app/modules/Application/Widget/AbstractWidget.php
81/home/gunessurucukursu/public_html/data/cache/volt/%%home%%gunessurucukursu%%public_html%%app%%modules%%whatsapp%%views%%widget%%floating.volt.php
82/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Router/DefaultRouter.php
83/home/gunessurucukursu/public_html/app/modules/Konsol/Routes.php
84/home/gunessurucukursu/public_html/app/modules/Logs/Routes.php
85/home/gunessurucukursu/public_html/app/modules/Posts/Routes.php
86/home/gunessurucukursu/public_html/app/modules/PageBuilder/Routes.php
87/home/gunessurucukursu/public_html/app/modules/Constants/Routes.php
88/home/gunessurucukursu/public_html/app/modules/MenuMaker/Routes.php
89/home/gunessurucukursu/public_html/app/modules/News/Routes.php
90/home/gunessurucukursu/public_html/app/modules/Students/Routes.php
91/home/gunessurucukursu/public_html/app/modules/Teachers/Routes.php
92/home/gunessurucukursu/public_html/app/modules/Appointments/Routes.php
93/home/gunessurucukursu/public_html/app/modules/FileManager/Routes.php
94/home/gunessurucukursu/public_html/app/modules/Reports/Routes.php
95/home/gunessurucukursu/public_html/app/modules/GunesSurucu/Routes.php
96/home/gunessurucukursu/public_html/app/modules/YobiForm/Routes.php
97/home/gunessurucukursu/public_html/app/modules/App/Routes.php
98/home/gunessurucukursu/public_html/app/modules/Application/Utils/ModuleName.php
99/home/gunessurucukursu/public_html/vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php
Memory
Usage2097152
Phalcon\Http\Response\Exception: Response was already sent
Phalcon Framework 3.4.5

Phalcon\Http\Response\Exception: Response was already sent

phalcon/http/response.zep (626)
#0Phalcon\Http\Response->send()
/home/gunessurucukursu/public_html/app/Bootstrap.php (533)
<?php
 
namespace App;
 
use Application\Cache\Manager as CacheManager;
use Konsol\Model\Options;
 
 
class Bootstrap{
 
    public function run(){
 
        try {
 
            $this->initDefined();
 
            $di = new \Phalcon\DI\FactoryDefault();
            $loader = new \Phalcon\Loader();
 
            // Config
            $config = require_once PATHS['APPS'] . '/config/application.php';
 
 
            $config = new \Phalcon\Config($config);
 
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            $di->set('config', $config);
 
 
            // URL
            $url = new \Phalcon\Mvc\Url();
            $url->setBasePath($config->base_path);
            $url->setBaseUri($config->base_path);
            $di->set('url', $url);
 
 
 
            // Database
            $di->set('db', new \Phalcon\Db\Adapter\Pdo\Mysql([
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->dbname,
                "charset" => $config->database->charset,
                "port" => $config->database->port,
            ]));
 
 
            //SET MODULES
            $this->getModules($di);
 
 
            // Loader
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            // View
            $this->initView($di,$config);
 
 
            // Cache
            $this->initCache($di);
 
            // Application
            $application = new \Phalcon\Mvc\Application();
            $application->registerModules($config->modules->toArray());
 
 
            // Events Manager, Dispatcher
            $this->initEventManager($di);
 
 
            $di->set('session', function () use ($di) {
                $session = new \Phalcon\Session\Adapter\Files();
                session_name(HOST_HASH);
                $session->start();
                return $session;
            });
 
            $di->set('cookies', function () {
                $cookies = new \Phalcon\Http\Response\Cookies();
                $cookies->useEncryption(false);
                return $cookies;
            });
 
            $di->set('crypt', function () {
                $crypt = new \Phalcon\Crypt();
                $crypt->setCipher('aes-256-ctr');
                $crypt->setKey("T4\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\x5c");
                return $crypt;
            });
 
            $di->set('localization', new \YobisiKonsol\Plugin\Localization());
 
            $di->set('helper', new \Application\Mvc\Helper());
 
            $di->set('auth', new \Konsol\Model\Auth());
 
            $di->set('acl', new \YobisiKonsol\Plugin\Acl());
 
 
            // JS Assets
            $this->initAssetsManager($di);
 
 
            // Toast helper
            $di->set('toast', new \Application\Mvc\Helper\Toast());
 
            // Flash helper
            $di->set('flash', new \Phalcon\Flash\Session());
 
 
            // Routing
            $this->initRouting($application, $di);
 
            $application->setDI($di);
 
 
            // Main dispatching process
            $response = $this->dispatch($di);
            $response->send();
 
 
        } catch (\Exception $e) {
 
            return $this->initCatch($di, "run_catch", $e);
 
        }
 
    }
 
    private function initRouting($application, $di){
 
 
 
 
            foreach ($application->getModules() as $module) {
                try {
                    $initClassName = str_replace('\Module', '\Init', $module['className']);
                    if (class_exists($initClassName)) {
                        new $initClassName();
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Init.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
 
            $router = new \Application\Mvc\Router\DefaultRouter();
            $router->setDi($di);
            foreach ($application->getModules() as $module) {
                try {
                    $routesClassName = str_replace('\Module', '\Routes', $module['className']);
                    if (class_exists($routesClassName)) {
                        $routesClass = new $routesClassName();
                        $router = $routesClass->init($router);
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Routes.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
            $di->set('router', $router);
 
    }
 
 
    private function initAssetsManager($di){
 
        $assetsManager = new \Application\Assets\Manager();
 
        $di->set('assets', $assetsManager);
    }
 
    private function initEventManager($di)
    {
 
 
        $eventsManager = new \Phalcon\Events\Manager();
        $dispatcher    = new \Phalcon\Mvc\Dispatcher();
 
 
        $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) use ($di) {
            if ($event->getType() == 'beforeException') {
 
                switch ($exception->getCode()) {
                    case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
                    case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
 
                        return $this->initCatch($di, "dispatch:beforeException", $exception);
                }
            }//error pages redirect
        });
 
        /*
         * Plugins
         */
        $events  = [];
        $plugins = glob(PATHS['APPS']  .'plugins/*.php');
 
        foreach ($plugins as $plugin_path):
 
            $plugin_name = rtrim(basename($plugin_path), ".php");
            $namespace = "YobisiKonsol\Plugin\\" . $plugin_name;
 
            $variables = get_class_vars($namespace);
            if(!$event_type = $variables['event_type']) continue;
 
            $events[$event_type][] = $namespace;//plugin
 
        endforeach;
 
        foreach ($events as $event_type => $namespaces):
 
           $eventsManager->attach($event_type, function ($event, $dispatcher) use ($di, $namespaces) {
                foreach ($namespaces as $namespace):
                        $item = new $namespace();
                        if(method_exists($item,"execute")) $item->execute();
                endforeach;
           });
 
        endforeach;
 
 
 
 
        // Profiler
 
        //$is_profiler = Options::findFirstByKey('profiler');
        $is_profiler = false;
        if ($is_profiler) {
            $profiler = new \Phalcon\Db\Profiler();
            $di->set('profiler', $profiler);
            $eventsManager->attach('db', function ($event, $db) use ($profiler) {
 
                if ($event->getType() == 'beforeQuery') {
                    $profiler->startProfile($db->getSQLStatement());
                }
                if ($event->getType() == 'afterQuery') {
                    $profiler->stopProfile();
                }
            });
            $di->get('view')->setVar('profiler',$di->get('profiler'));
        }
 
        $db = $di->get('db');
        $db->setEventsManager($eventsManager);
 
        $dispatcher->setEventsManager($eventsManager);
        $di->set('dispatcher', $dispatcher);
    }
 
    private function initView($di,$config = [])
    {
 
 
        $view = new \Phalcon\Mvc\View();
 
        define('MAIN_VIEW_PATH', PATHS['MODULES'] . "Konsol/Views/");
 
        $view->setViewsDir(MAIN_VIEW_PATH);
        $view->setMainView(MAIN_VIEW_PATH . '/konsol');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('/konsol');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
 
        // Volt
        $volt = new \Application\Mvc\View\Engine\Volt($view, $di);
 
 
        $volt->setOptions([
            'compiledPath' => PATHS['APPS'] . '/../data/cache/volt/',
            'compileAlways' => (DEBUG_MODE) ? true : false
        ]);
        $volt->initCompiler();
 
 
        $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di);
        $viewEngines = [
            ".volt" => $volt,
            ".phtml" => $phtml,
        ];
 
        $view->registerEngines($viewEngines);
 
        $ajax = $di->get('request')->getQuery('_ajax');
 
        if ($ajax) $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
 
 
        $view->setVar('config',$config);
        $di->set('view', $view);
 
        return $view;
    }
 
    private function initCache($di)
    {
        $config = $di->get('config');
 
 
        $cacheFrontend = new \Phalcon\Cache\Frontend\Data([
            "lifetime" => 60,
            "prefix" => HOST_HASH,
        ]);
 
        $cache = null;
        switch ($config->cache) {
            case 'file':
                $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [
                    "cacheDir" => PATHS['APPS'] . "/../data/cache/backend/",
                    'lifetime' => 172800
                ]);
                break;
            case 'memcache':
                $cache = new \Phalcon\Cache\Backend\Memcache(
                    $cacheFrontend, [
                    "host" => $config->memcache->host,
                    "port" => $config->memcache->port,
                ]);
                break;
            case 'memcached':
                $cache = new \Phalcon\Cache\Backend\Libmemcached(
                    $cacheFrontend, [
                    "host" => $config->memcached->host,
                    "port" => $config->memcached->port,
                ]);
                break;
        }
 
        \Application\Widget\Proxy::$cache = $cache; // Modules Widget System
 
        $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory();
 
        $di->set('cache', $cache, true);
        $di->set('modelsCache', $cache, true);
        $di->set('modelsMetadata', $modelsMetadata);
        $di->set('cacheManager', new CacheManager());
    }
 
    private function dispatch($di){
 
 
        $router = $di->get('router');
 
        $router->handle();
 
 
        $view       = $di->get('view');
        $dispatcher = $di->get('dispatcher');
        $response   = $di->get('response');
 
        $dispatcher->setModuleName($router->getModuleName());
        $dispatcher->setControllerName($router->getControllerName());
        $dispatcher->setActionName($router->getActionName());
        $dispatcher->setParams($router->getParams());
 
        $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName());
 
 
        $ModuleClassName = $moduleName . '\Module';
        if (class_exists($ModuleClassName)) {
            $module = new $ModuleClassName();
            $module->registerAutoloaders();
            $module->registerServices($di);
        }
 
        $view->start();
 
        try {
 
            $dispatcher->dispatch();
 
        } catch (\Phalcon\Exception $error) {
 
            return $this->initCatch($di, "dispatch:catch", $error);
 
        }
 
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
 
        // AJAX
        $request = $di['request'];
        $_ajax = $request->getQuery('_ajax');
 
        if ($_ajax) {
 
            $view->setLayout('ajax');
 
            $contents = $view->getContent();
 
            $return = new \stdClass();
            $return->status = true;
            $return->title  = $di->get('helper')->title()->get();
            $return->html   = $contents;
 
 
            $headers = $response->getHeaders()->toArray();
            if (isset($headers[404]) || isset($headers[503])) {
                $return->status = false;
            }
            $response->setContentType('application/json', 'UTF-8');
            $response->setContent(json_encode($return));
        } else {
            $response->setContent($view->getContent());
        }
 
        return $response;
    }
 
    private function getModules($di){
 
        $config = $di->get('config');
        $db     = $di->get('db');
        $cache  = new \Application\Mvc\Helper\CmsCache;
 
        if(APPLICATION_ENV == "development") $db->query("SET @@GLOBAL.sql_mode=''");
 
        $user_modules = $cache::getInstance()->get('modules');
 
 
        if (!$user_modules):
 
            //GET_MODULES
            $statement = $db->prepare('SELECT * FROM modules WHERE status = ? order by priority ASC');
            $statement->execute(array("active"));
            $user_modules = $statement->fetchAll(\Phalcon\Db::FETCH_ASSOC);
 
 
            $cache::getInstance()->save('modules', $user_modules);
 
        endif;
 
 
        //SET_MODULES
        require_once PATHS['APPS'] . '/modules/Application/Loader/Modules.php';
 
        $modules = new \Application\Loader\Modules();
        $modules_config = $modules->modulesConfig($user_modules);
 
 
        foreach ($modules_config['loader']['namespaces'] as $key => $module)
            $config->loader->namespaces[$key] = $module;
 
        foreach ($modules_config['modules'] as $key => $module)
            $config->modules[$key] = $module;
 
 
        return $config;
 
    }
 
 
    private function initDefined(){
        /*
         * geliştirici modunu açar
         */
 
 
 
        $root_dir = rtrim(__DIR__,'app');
        define('PATHS',[
            "ROOT"     => $root_dir,
            "APPS"     => $root_dir  . 'app/',
            "MODULES"  => $root_dir  . "app/modules/",
            "PLUGINS"  => $root_dir  . "app/plugins/",
            "DATA"     => $root_dir  . "data/",
            "CACHE"    => $root_dir  . "data/cache/",
            "PUBLIC"   => $root_dir  . 'public/',
            "MEDIA"    => $root_dir  . "public/media/",
            "ASSETS"   => $root_dir  . "public/assets/",
        ]);
 
 
 
 
 
 
 
    }
 
    private function initCatch($di, $catch_code, \Exception $exception)
    {
        
           $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
        if (DEBUG_MODE)://Geliştirici modunda hataları göster
 
            $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
            return true;
 
        else://Geliştirici modun değilse hata sayfasıan yönlendir
 
 
            $params = http_build_query([
                "code" => $exception->getCode(),
                "catch_code" => $catch_code,
                "message" => $exception->getMessage(),
                "file" => $exception->getFile() . ":" . $exception->getLine()
            ]);
 
            return $di->get('response')->redirect('hata/500?' . $params)->send();
            //return $di->get('response')->redirect('public/error.php?' . $params)->send();
            //header("Location: " . $url->get('public/error.php?' . $params));
        endif;
 
    }
 
}
#1App\Bootstrap->initCatch(Object(Phalcon\Di\FactoryDefault), dispatch:catch, Object(Phalcon\Mvc\Dispatcher\Exception))
/home/gunessurucukursu/public_html/app/Bootstrap.php (397)
<?php
 
namespace App;
 
use Application\Cache\Manager as CacheManager;
use Konsol\Model\Options;
 
 
class Bootstrap{
 
    public function run(){
 
        try {
 
            $this->initDefined();
 
            $di = new \Phalcon\DI\FactoryDefault();
            $loader = new \Phalcon\Loader();
 
            // Config
            $config = require_once PATHS['APPS'] . '/config/application.php';
 
 
            $config = new \Phalcon\Config($config);
 
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            $di->set('config', $config);
 
 
            // URL
            $url = new \Phalcon\Mvc\Url();
            $url->setBasePath($config->base_path);
            $url->setBaseUri($config->base_path);
            $di->set('url', $url);
 
 
 
            // Database
            $di->set('db', new \Phalcon\Db\Adapter\Pdo\Mysql([
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->dbname,
                "charset" => $config->database->charset,
                "port" => $config->database->port,
            ]));
 
 
            //SET MODULES
            $this->getModules($di);
 
 
            // Loader
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            // View
            $this->initView($di,$config);
 
 
            // Cache
            $this->initCache($di);
 
            // Application
            $application = new \Phalcon\Mvc\Application();
            $application->registerModules($config->modules->toArray());
 
 
            // Events Manager, Dispatcher
            $this->initEventManager($di);
 
 
            $di->set('session', function () use ($di) {
                $session = new \Phalcon\Session\Adapter\Files();
                session_name(HOST_HASH);
                $session->start();
                return $session;
            });
 
            $di->set('cookies', function () {
                $cookies = new \Phalcon\Http\Response\Cookies();
                $cookies->useEncryption(false);
                return $cookies;
            });
 
            $di->set('crypt', function () {
                $crypt = new \Phalcon\Crypt();
                $crypt->setCipher('aes-256-ctr');
                $crypt->setKey("T4\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\x5c");
                return $crypt;
            });
 
            $di->set('localization', new \YobisiKonsol\Plugin\Localization());
 
            $di->set('helper', new \Application\Mvc\Helper());
 
            $di->set('auth', new \Konsol\Model\Auth());
 
            $di->set('acl', new \YobisiKonsol\Plugin\Acl());
 
 
            // JS Assets
            $this->initAssetsManager($di);
 
 
            // Toast helper
            $di->set('toast', new \Application\Mvc\Helper\Toast());
 
            // Flash helper
            $di->set('flash', new \Phalcon\Flash\Session());
 
 
            // Routing
            $this->initRouting($application, $di);
 
            $application->setDI($di);
 
 
            // Main dispatching process
            $response = $this->dispatch($di);
            $response->send();
 
 
        } catch (\Exception $e) {
 
            return $this->initCatch($di, "run_catch", $e);
 
        }
 
    }
 
    private function initRouting($application, $di){
 
 
 
 
            foreach ($application->getModules() as $module) {
                try {
                    $initClassName = str_replace('\Module', '\Init', $module['className']);
                    if (class_exists($initClassName)) {
                        new $initClassName();
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Init.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
 
            $router = new \Application\Mvc\Router\DefaultRouter();
            $router->setDi($di);
            foreach ($application->getModules() as $module) {
                try {
                    $routesClassName = str_replace('\Module', '\Routes', $module['className']);
                    if (class_exists($routesClassName)) {
                        $routesClass = new $routesClassName();
                        $router = $routesClass->init($router);
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Routes.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
            $di->set('router', $router);
 
    }
 
 
    private function initAssetsManager($di){
 
        $assetsManager = new \Application\Assets\Manager();
 
        $di->set('assets', $assetsManager);
    }
 
    private function initEventManager($di)
    {
 
 
        $eventsManager = new \Phalcon\Events\Manager();
        $dispatcher    = new \Phalcon\Mvc\Dispatcher();
 
 
        $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) use ($di) {
            if ($event->getType() == 'beforeException') {
 
                switch ($exception->getCode()) {
                    case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
                    case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
 
                        return $this->initCatch($di, "dispatch:beforeException", $exception);
                }
            }//error pages redirect
        });
 
        /*
         * Plugins
         */
        $events  = [];
        $plugins = glob(PATHS['APPS']  .'plugins/*.php');
 
        foreach ($plugins as $plugin_path):
 
            $plugin_name = rtrim(basename($plugin_path), ".php");
            $namespace = "YobisiKonsol\Plugin\\" . $plugin_name;
 
            $variables = get_class_vars($namespace);
            if(!$event_type = $variables['event_type']) continue;
 
            $events[$event_type][] = $namespace;//plugin
 
        endforeach;
 
        foreach ($events as $event_type => $namespaces):
 
           $eventsManager->attach($event_type, function ($event, $dispatcher) use ($di, $namespaces) {
                foreach ($namespaces as $namespace):
                        $item = new $namespace();
                        if(method_exists($item,"execute")) $item->execute();
                endforeach;
           });
 
        endforeach;
 
 
 
 
        // Profiler
 
        //$is_profiler = Options::findFirstByKey('profiler');
        $is_profiler = false;
        if ($is_profiler) {
            $profiler = new \Phalcon\Db\Profiler();
            $di->set('profiler', $profiler);
            $eventsManager->attach('db', function ($event, $db) use ($profiler) {
 
                if ($event->getType() == 'beforeQuery') {
                    $profiler->startProfile($db->getSQLStatement());
                }
                if ($event->getType() == 'afterQuery') {
                    $profiler->stopProfile();
                }
            });
            $di->get('view')->setVar('profiler',$di->get('profiler'));
        }
 
        $db = $di->get('db');
        $db->setEventsManager($eventsManager);
 
        $dispatcher->setEventsManager($eventsManager);
        $di->set('dispatcher', $dispatcher);
    }
 
    private function initView($di,$config = [])
    {
 
 
        $view = new \Phalcon\Mvc\View();
 
        define('MAIN_VIEW_PATH', PATHS['MODULES'] . "Konsol/Views/");
 
        $view->setViewsDir(MAIN_VIEW_PATH);
        $view->setMainView(MAIN_VIEW_PATH . '/konsol');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('/konsol');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
 
        // Volt
        $volt = new \Application\Mvc\View\Engine\Volt($view, $di);
 
 
        $volt->setOptions([
            'compiledPath' => PATHS['APPS'] . '/../data/cache/volt/',
            'compileAlways' => (DEBUG_MODE) ? true : false
        ]);
        $volt->initCompiler();
 
 
        $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di);
        $viewEngines = [
            ".volt" => $volt,
            ".phtml" => $phtml,
        ];
 
        $view->registerEngines($viewEngines);
 
        $ajax = $di->get('request')->getQuery('_ajax');
 
        if ($ajax) $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
 
 
        $view->setVar('config',$config);
        $di->set('view', $view);
 
        return $view;
    }
 
    private function initCache($di)
    {
        $config = $di->get('config');
 
 
        $cacheFrontend = new \Phalcon\Cache\Frontend\Data([
            "lifetime" => 60,
            "prefix" => HOST_HASH,
        ]);
 
        $cache = null;
        switch ($config->cache) {
            case 'file':
                $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [
                    "cacheDir" => PATHS['APPS'] . "/../data/cache/backend/",
                    'lifetime' => 172800
                ]);
                break;
            case 'memcache':
                $cache = new \Phalcon\Cache\Backend\Memcache(
                    $cacheFrontend, [
                    "host" => $config->memcache->host,
                    "port" => $config->memcache->port,
                ]);
                break;
            case 'memcached':
                $cache = new \Phalcon\Cache\Backend\Libmemcached(
                    $cacheFrontend, [
                    "host" => $config->memcached->host,
                    "port" => $config->memcached->port,
                ]);
                break;
        }
 
        \Application\Widget\Proxy::$cache = $cache; // Modules Widget System
 
        $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory();
 
        $di->set('cache', $cache, true);
        $di->set('modelsCache', $cache, true);
        $di->set('modelsMetadata', $modelsMetadata);
        $di->set('cacheManager', new CacheManager());
    }
 
    private function dispatch($di){
 
 
        $router = $di->get('router');
 
        $router->handle();
 
 
        $view       = $di->get('view');
        $dispatcher = $di->get('dispatcher');
        $response   = $di->get('response');
 
        $dispatcher->setModuleName($router->getModuleName());
        $dispatcher->setControllerName($router->getControllerName());
        $dispatcher->setActionName($router->getActionName());
        $dispatcher->setParams($router->getParams());
 
        $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName());
 
 
        $ModuleClassName = $moduleName . '\Module';
        if (class_exists($ModuleClassName)) {
            $module = new $ModuleClassName();
            $module->registerAutoloaders();
            $module->registerServices($di);
        }
 
        $view->start();
 
        try {
 
            $dispatcher->dispatch();
 
        } catch (\Phalcon\Exception $error) {
 
            return $this->initCatch($di, "dispatch:catch", $error);
 
        }
 
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
 
        // AJAX
        $request = $di['request'];
        $_ajax = $request->getQuery('_ajax');
 
        if ($_ajax) {
 
            $view->setLayout('ajax');
 
            $contents = $view->getContent();
 
            $return = new \stdClass();
            $return->status = true;
            $return->title  = $di->get('helper')->title()->get();
            $return->html   = $contents;
 
 
            $headers = $response->getHeaders()->toArray();
            if (isset($headers[404]) || isset($headers[503])) {
                $return->status = false;
            }
            $response->setContentType('application/json', 'UTF-8');
            $response->setContent(json_encode($return));
        } else {
            $response->setContent($view->getContent());
        }
 
        return $response;
    }
 
    private function getModules($di){
 
        $config = $di->get('config');
        $db     = $di->get('db');
        $cache  = new \Application\Mvc\Helper\CmsCache;
 
        if(APPLICATION_ENV == "development") $db->query("SET @@GLOBAL.sql_mode=''");
 
        $user_modules = $cache::getInstance()->get('modules');
 
 
        if (!$user_modules):
 
            //GET_MODULES
            $statement = $db->prepare('SELECT * FROM modules WHERE status = ? order by priority ASC');
            $statement->execute(array("active"));
            $user_modules = $statement->fetchAll(\Phalcon\Db::FETCH_ASSOC);
 
 
            $cache::getInstance()->save('modules', $user_modules);
 
        endif;
 
 
        //SET_MODULES
        require_once PATHS['APPS'] . '/modules/Application/Loader/Modules.php';
 
        $modules = new \Application\Loader\Modules();
        $modules_config = $modules->modulesConfig($user_modules);
 
 
        foreach ($modules_config['loader']['namespaces'] as $key => $module)
            $config->loader->namespaces[$key] = $module;
 
        foreach ($modules_config['modules'] as $key => $module)
            $config->modules[$key] = $module;
 
 
        return $config;
 
    }
 
 
    private function initDefined(){
        /*
         * geliştirici modunu açar
         */
 
 
 
        $root_dir = rtrim(__DIR__,'app');
        define('PATHS',[
            "ROOT"     => $root_dir,
            "APPS"     => $root_dir  . 'app/',
            "MODULES"  => $root_dir  . "app/modules/",
            "PLUGINS"  => $root_dir  . "app/plugins/",
            "DATA"     => $root_dir  . "data/",
            "CACHE"    => $root_dir  . "data/cache/",
            "PUBLIC"   => $root_dir  . 'public/',
            "MEDIA"    => $root_dir  . "public/media/",
            "ASSETS"   => $root_dir  . "public/assets/",
        ]);
 
 
 
 
 
 
 
    }
 
    private function initCatch($di, $catch_code, \Exception $exception)
    {
        
           $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
        if (DEBUG_MODE)://Geliştirici modunda hataları göster
 
            $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
            return true;
 
        else://Geliştirici modun değilse hata sayfasıan yönlendir
 
 
            $params = http_build_query([
                "code" => $exception->getCode(),
                "catch_code" => $catch_code,
                "message" => $exception->getMessage(),
                "file" => $exception->getFile() . ":" . $exception->getLine()
            ]);
 
            return $di->get('response')->redirect('hata/500?' . $params)->send();
            //return $di->get('response')->redirect('public/error.php?' . $params)->send();
            //header("Location: " . $url->get('public/error.php?' . $params));
        endif;
 
    }
 
}
#2App\Bootstrap->dispatch(Object(Phalcon\Di\FactoryDefault))
/home/gunessurucukursu/public_html/app/Bootstrap.php (128)
<?php
 
namespace App;
 
use Application\Cache\Manager as CacheManager;
use Konsol\Model\Options;
 
 
class Bootstrap{
 
    public function run(){
 
        try {
 
            $this->initDefined();
 
            $di = new \Phalcon\DI\FactoryDefault();
            $loader = new \Phalcon\Loader();
 
            // Config
            $config = require_once PATHS['APPS'] . '/config/application.php';
 
 
            $config = new \Phalcon\Config($config);
 
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            $di->set('config', $config);
 
 
            // URL
            $url = new \Phalcon\Mvc\Url();
            $url->setBasePath($config->base_path);
            $url->setBaseUri($config->base_path);
            $di->set('url', $url);
 
 
 
            // Database
            $di->set('db', new \Phalcon\Db\Adapter\Pdo\Mysql([
                "host" => $config->database->host,
                "username" => $config->database->username,
                "password" => $config->database->password,
                "dbname" => $config->database->dbname,
                "charset" => $config->database->charset,
                "port" => $config->database->port,
            ]));
 
 
            //SET MODULES
            $this->getModules($di);
 
 
            // Loader
            $loader->registerDirs([PATHS['APPS'] . "/plugins/"]);
            $loader->registerNamespaces($config->loader->namespaces->toArray());
            $loader->registerFiles([PATHS['APPS'] . '/../vendor/autoload.php']);
            $loader->register();
 
 
            // View
            $this->initView($di,$config);
 
 
            // Cache
            $this->initCache($di);
 
            // Application
            $application = new \Phalcon\Mvc\Application();
            $application->registerModules($config->modules->toArray());
 
 
            // Events Manager, Dispatcher
            $this->initEventManager($di);
 
 
            $di->set('session', function () use ($di) {
                $session = new \Phalcon\Session\Adapter\Files();
                session_name(HOST_HASH);
                $session->start();
                return $session;
            });
 
            $di->set('cookies', function () {
                $cookies = new \Phalcon\Http\Response\Cookies();
                $cookies->useEncryption(false);
                return $cookies;
            });
 
            $di->set('crypt', function () {
                $crypt = new \Phalcon\Crypt();
                $crypt->setCipher('aes-256-ctr');
                $crypt->setKey("T4\xb1\x8d\xa9\x98\x054t7w!z%C*F-Jk\x98\x05\x5c");
                return $crypt;
            });
 
            $di->set('localization', new \YobisiKonsol\Plugin\Localization());
 
            $di->set('helper', new \Application\Mvc\Helper());
 
            $di->set('auth', new \Konsol\Model\Auth());
 
            $di->set('acl', new \YobisiKonsol\Plugin\Acl());
 
 
            // JS Assets
            $this->initAssetsManager($di);
 
 
            // Toast helper
            $di->set('toast', new \Application\Mvc\Helper\Toast());
 
            // Flash helper
            $di->set('flash', new \Phalcon\Flash\Session());
 
 
            // Routing
            $this->initRouting($application, $di);
 
            $application->setDI($di);
 
 
            // Main dispatching process
            $response = $this->dispatch($di);
            $response->send();
 
 
        } catch (\Exception $e) {
 
            return $this->initCatch($di, "run_catch", $e);
 
        }
 
    }
 
    private function initRouting($application, $di){
 
 
 
 
            foreach ($application->getModules() as $module) {
                try {
                    $initClassName = str_replace('\Module', '\Init', $module['className']);
                    if (class_exists($initClassName)) {
                        new $initClassName();
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Init.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
 
            $router = new \Application\Mvc\Router\DefaultRouter();
            $router->setDi($di);
            foreach ($application->getModules() as $module) {
                try {
                    $routesClassName = str_replace('\Module', '\Routes', $module['className']);
                    if (class_exists($routesClassName)) {
                        $routesClass = new $routesClassName();
                        $router = $routesClass->init($router);
                    }
                }catch (\Throwable $e){
                    $message = sprintf('%s modülünün Routes.php dosyasında hata !',$module['className']);
                    error_log($message);
                    if(DEBUG_MODE):
                        echo '<h1>Yönetici Hatası!</h1><p>' . $message. '</p>';
                        var_dump($e->getMessage(),$e->getFile().":" . $e->getLine());
                        exit();
                    endif;
                }
            }
 
            $di->set('router', $router);
 
    }
 
 
    private function initAssetsManager($di){
 
        $assetsManager = new \Application\Assets\Manager();
 
        $di->set('assets', $assetsManager);
    }
 
    private function initEventManager($di)
    {
 
 
        $eventsManager = new \Phalcon\Events\Manager();
        $dispatcher    = new \Phalcon\Mvc\Dispatcher();
 
 
        $eventsManager->attach("dispatch", function ($event, $dispatcher, $exception) use ($di) {
            if ($event->getType() == 'beforeException') {
 
                switch ($exception->getCode()) {
                    case \Phalcon\Dispatcher::EXCEPTION_HANDLER_NOT_FOUND:
                    case \Phalcon\Dispatcher::EXCEPTION_ACTION_NOT_FOUND:
 
                        return $this->initCatch($di, "dispatch:beforeException", $exception);
                }
            }//error pages redirect
        });
 
        /*
         * Plugins
         */
        $events  = [];
        $plugins = glob(PATHS['APPS']  .'plugins/*.php');
 
        foreach ($plugins as $plugin_path):
 
            $plugin_name = rtrim(basename($plugin_path), ".php");
            $namespace = "YobisiKonsol\Plugin\\" . $plugin_name;
 
            $variables = get_class_vars($namespace);
            if(!$event_type = $variables['event_type']) continue;
 
            $events[$event_type][] = $namespace;//plugin
 
        endforeach;
 
        foreach ($events as $event_type => $namespaces):
 
           $eventsManager->attach($event_type, function ($event, $dispatcher) use ($di, $namespaces) {
                foreach ($namespaces as $namespace):
                        $item = new $namespace();
                        if(method_exists($item,"execute")) $item->execute();
                endforeach;
           });
 
        endforeach;
 
 
 
 
        // Profiler
 
        //$is_profiler = Options::findFirstByKey('profiler');
        $is_profiler = false;
        if ($is_profiler) {
            $profiler = new \Phalcon\Db\Profiler();
            $di->set('profiler', $profiler);
            $eventsManager->attach('db', function ($event, $db) use ($profiler) {
 
                if ($event->getType() == 'beforeQuery') {
                    $profiler->startProfile($db->getSQLStatement());
                }
                if ($event->getType() == 'afterQuery') {
                    $profiler->stopProfile();
                }
            });
            $di->get('view')->setVar('profiler',$di->get('profiler'));
        }
 
        $db = $di->get('db');
        $db->setEventsManager($eventsManager);
 
        $dispatcher->setEventsManager($eventsManager);
        $di->set('dispatcher', $dispatcher);
    }
 
    private function initView($di,$config = [])
    {
 
 
        $view = new \Phalcon\Mvc\View();
 
        define('MAIN_VIEW_PATH', PATHS['MODULES'] . "Konsol/Views/");
 
        $view->setViewsDir(MAIN_VIEW_PATH);
        $view->setMainView(MAIN_VIEW_PATH . '/konsol');
        $view->setLayoutsDir(MAIN_VIEW_PATH . '/layouts/');
        $view->setLayout('/konsol');
        $view->setPartialsDir(MAIN_VIEW_PATH . '/partials/');
 
 
        // Volt
        $volt = new \Application\Mvc\View\Engine\Volt($view, $di);
 
 
        $volt->setOptions([
            'compiledPath' => PATHS['APPS'] . '/../data/cache/volt/',
            'compileAlways' => (DEBUG_MODE) ? true : false
        ]);
        $volt->initCompiler();
 
 
        $phtml = new \Phalcon\Mvc\View\Engine\Php($view, $di);
        $viewEngines = [
            ".volt" => $volt,
            ".phtml" => $phtml,
        ];
 
        $view->registerEngines($viewEngines);
 
        $ajax = $di->get('request')->getQuery('_ajax');
 
        if ($ajax) $view->setRenderLevel(\Phalcon\Mvc\View::LEVEL_LAYOUT);
 
 
        $view->setVar('config',$config);
        $di->set('view', $view);
 
        return $view;
    }
 
    private function initCache($di)
    {
        $config = $di->get('config');
 
 
        $cacheFrontend = new \Phalcon\Cache\Frontend\Data([
            "lifetime" => 60,
            "prefix" => HOST_HASH,
        ]);
 
        $cache = null;
        switch ($config->cache) {
            case 'file':
                $cache = new \Phalcon\Cache\Backend\File($cacheFrontend, [
                    "cacheDir" => PATHS['APPS'] . "/../data/cache/backend/",
                    'lifetime' => 172800
                ]);
                break;
            case 'memcache':
                $cache = new \Phalcon\Cache\Backend\Memcache(
                    $cacheFrontend, [
                    "host" => $config->memcache->host,
                    "port" => $config->memcache->port,
                ]);
                break;
            case 'memcached':
                $cache = new \Phalcon\Cache\Backend\Libmemcached(
                    $cacheFrontend, [
                    "host" => $config->memcached->host,
                    "port" => $config->memcached->port,
                ]);
                break;
        }
 
        \Application\Widget\Proxy::$cache = $cache; // Modules Widget System
 
        $modelsMetadata = new \Phalcon\Mvc\Model\Metadata\Memory();
 
        $di->set('cache', $cache, true);
        $di->set('modelsCache', $cache, true);
        $di->set('modelsMetadata', $modelsMetadata);
        $di->set('cacheManager', new CacheManager());
    }
 
    private function dispatch($di){
 
 
        $router = $di->get('router');
 
        $router->handle();
 
 
        $view       = $di->get('view');
        $dispatcher = $di->get('dispatcher');
        $response   = $di->get('response');
 
        $dispatcher->setModuleName($router->getModuleName());
        $dispatcher->setControllerName($router->getControllerName());
        $dispatcher->setActionName($router->getActionName());
        $dispatcher->setParams($router->getParams());
 
        $moduleName = \Application\Utils\ModuleName::camelize($router->getModuleName());
 
 
        $ModuleClassName = $moduleName . '\Module';
        if (class_exists($ModuleClassName)) {
            $module = new $ModuleClassName();
            $module->registerAutoloaders();
            $module->registerServices($di);
        }
 
        $view->start();
 
        try {
 
            $dispatcher->dispatch();
 
        } catch (\Phalcon\Exception $error) {
 
            return $this->initCatch($di, "dispatch:catch", $error);
 
        }
 
 
        $view->render(
            $dispatcher->getControllerName(),
            $dispatcher->getActionName(),
            $dispatcher->getParams()
        );
 
        $view->finish();
 
        // AJAX
        $request = $di['request'];
        $_ajax = $request->getQuery('_ajax');
 
        if ($_ajax) {
 
            $view->setLayout('ajax');
 
            $contents = $view->getContent();
 
            $return = new \stdClass();
            $return->status = true;
            $return->title  = $di->get('helper')->title()->get();
            $return->html   = $contents;
 
 
            $headers = $response->getHeaders()->toArray();
            if (isset($headers[404]) || isset($headers[503])) {
                $return->status = false;
            }
            $response->setContentType('application/json', 'UTF-8');
            $response->setContent(json_encode($return));
        } else {
            $response->setContent($view->getContent());
        }
 
        return $response;
    }
 
    private function getModules($di){
 
        $config = $di->get('config');
        $db     = $di->get('db');
        $cache  = new \Application\Mvc\Helper\CmsCache;
 
        if(APPLICATION_ENV == "development") $db->query("SET @@GLOBAL.sql_mode=''");
 
        $user_modules = $cache::getInstance()->get('modules');
 
 
        if (!$user_modules):
 
            //GET_MODULES
            $statement = $db->prepare('SELECT * FROM modules WHERE status = ? order by priority ASC');
            $statement->execute(array("active"));
            $user_modules = $statement->fetchAll(\Phalcon\Db::FETCH_ASSOC);
 
 
            $cache::getInstance()->save('modules', $user_modules);
 
        endif;
 
 
        //SET_MODULES
        require_once PATHS['APPS'] . '/modules/Application/Loader/Modules.php';
 
        $modules = new \Application\Loader\Modules();
        $modules_config = $modules->modulesConfig($user_modules);
 
 
        foreach ($modules_config['loader']['namespaces'] as $key => $module)
            $config->loader->namespaces[$key] = $module;
 
        foreach ($modules_config['modules'] as $key => $module)
            $config->modules[$key] = $module;
 
 
        return $config;
 
    }
 
 
    private function initDefined(){
        /*
         * geliştirici modunu açar
         */
 
 
 
        $root_dir = rtrim(__DIR__,'app');
        define('PATHS',[
            "ROOT"     => $root_dir,
            "APPS"     => $root_dir  . 'app/',
            "MODULES"  => $root_dir  . "app/modules/",
            "PLUGINS"  => $root_dir  . "app/plugins/",
            "DATA"     => $root_dir  . "data/",
            "CACHE"    => $root_dir  . "data/cache/",
            "PUBLIC"   => $root_dir  . 'public/',
            "MEDIA"    => $root_dir  . "public/media/",
            "ASSETS"   => $root_dir  . "public/assets/",
        ]);
 
 
 
 
 
 
 
    }
 
    private function initCatch($di, $catch_code, \Exception $exception)
    {
        
           $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
        if (DEBUG_MODE)://Geliştirici modunda hataları göster
 
            $debug = new \Phalcon\Debug();
            $debug->listen()->onUncaughtException($exception);
 
            return true;
 
        else://Geliştirici modun değilse hata sayfasıan yönlendir
 
 
            $params = http_build_query([
                "code" => $exception->getCode(),
                "catch_code" => $catch_code,
                "message" => $exception->getMessage(),
                "file" => $exception->getFile() . ":" . $exception->getLine()
            ]);
 
            return $di->get('response')->redirect('hata/500?' . $params)->send();
            //return $di->get('response')->redirect('public/error.php?' . $params)->send();
            //header("Location: " . $url->get('public/error.php?' . $params));
        endif;
 
    }
 
}
#3App\Bootstrap->run()
/home/gunessurucukursu/public_html/public/index.php (29)
<?php
 
/*
     * Yobisi.Konsol
     *
     */
//session_name('subdomain_session');
 
 
error_reporting(@$_GET['debug'] ? E_ALL : 1);
 
define('APPLICATION_ENV', ($_SERVER['HTTP_HOST'] == "localhost") ? "development" : "production");
 
 
if (isset($_GET['debug_mode'])) :
    define('DEBUG_MODE', $_SESSION['DEBUG_MODE'] = (bool) $_GET['debug_mode']);
elseif (isset($_SESSION['DEBUG_MODE'])) :
    define('DEBUG_MODE', (bool)$_SESSION['DEBUG_MODE']);
else :
    define('DEBUG_MODE', (APPLICATION_ENV == "development") ? true : false);
endif;
 
 
 
try {
 
    require_once '../app/Bootstrap.php';
    $bootstrap = new App\Bootstrap();
    $bootstrap->run();
} catch (Exception $e) {
 
 
    if (DEBUG_MODE) :
 
        $debug = new \Phalcon\Debug();
        die($debug->listen()->onUncaughtException($e));
 
    else :
 
        include "error.php";
 
    endif;
}
KeyValue
_url/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
KeyValue
PATH/usr/local/bin:/bin:/usr/bin
HTTP_ACCEPT*/*
HTTP_HOSTwww.gunessurucukursu.com
HTTP_USER_AGENTclaudebot
HTTP_X_HTTPS1
DOCUMENT_ROOT/home/gunessurucukursu/public_html
REMOTE_ADDR3.238.228.191
REMOTE_PORT45834
SERVER_ADDR78.142.210.105
SERVER_NAMEwww.gunessurucukursu.com
SERVER_ADMINwebmaster@gunessurucukursu.com
SERVER_PORT443
REQUEST_SCHEMEhttps
REQUEST_URI/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
REDIRECT_URL/public/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
REDIRECT_REQUEST_METHODGET
GEOIP_ADDR3.238.228.191
GEOIP_COUNTRY_CODEUS
GEOIP_CONTINENT_CODENA
GEOIP_REGIONVA
GEOIP_REGION_NAMEVirginia
GEOIP_METRO_CODE511
GEOIP_LATITUDE39.04690
GEOIP_LONGITUDE-77.49030
GEOIP_POSTAL_CODE20149
GEOIP_CITYAshburn
HTTPSon
REDIRECT_STATUS200
APPLICATION_ENVdevelopment
X_SPDYHTTP2
SSL_PROTOCOLTLSv1.3
SSL_CIPHERTLS_AES_256_GCM_SHA384
SSL_CIPHER_USEKEYSIZE256
SSL_CIPHER_ALGKEYSIZE256
SCRIPT_FILENAME/home/gunessurucukursu/public_html/public/index.php
QUERY_STRING_url=/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_URIhttps://www.gunessurucukursu.com/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_URL/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/
SCRIPT_NAME/public/index.php
SERVER_PROTOCOLHTTP/1.1
SERVER_SOFTWARELiteSpeed
REQUEST_METHODGET
X-LSCACHEon
PHP_SELF/public/index.php
REQUEST_TIME_FLOAT1711662367.9573
REQUEST_TIME1711662367
argvArray([0] => _url=/galeri/1195/denizli-buyuksehir-belediyesi-otobus-ve-minubus-suruculerine-egitimimiz/)
argc1
#Path
0/home/gunessurucukursu/public_html/public/index.php
1/home/gunessurucukursu/public_html/app/Bootstrap.php
2/home/gunessurucukursu/public_html/app/config/application.php
3/home/gunessurucukursu/public_html/app/config/environment/production.php
4/home/gunessurucukursu/public_html/vendor/autoload.php
5/home/gunessurucukursu/public_html/vendor/composer/autoload_real.php
6/home/gunessurucukursu/public_html/vendor/composer/ClassLoader.php
7/home/gunessurucukursu/public_html/vendor/composer/autoload_static.php
8/home/gunessurucukursu/public_html/vendor/symfony/polyfill-intl-normalizer/bootstrap.php
9/home/gunessurucukursu/public_html/vendor/symfony/polyfill-mbstring/bootstrap.php
10/home/gunessurucukursu/public_html/vendor/symfony/polyfill-php72/bootstrap.php
11/home/gunessurucukursu/public_html/vendor/ralouphie/getallheaders/src/getallheaders.php
12/home/gunessurucukursu/public_html/vendor/symfony/polyfill-intl-idn/bootstrap.php
13/home/gunessurucukursu/public_html/vendor/guzzlehttp/promises/src/functions_include.php
14/home/gunessurucukursu/public_html/vendor/guzzlehttp/promises/src/functions.php
15/home/gunessurucukursu/public_html/vendor/symfony/deprecation-contracts/function.php
16/home/gunessurucukursu/public_html/vendor/guzzlehttp/guzzle/src/functions_include.php
17/home/gunessurucukursu/public_html/vendor/guzzlehttp/guzzle/src/functions.php
18/home/gunessurucukursu/public_html/vendor/symfony/polyfill-iconv/bootstrap.php
19/home/gunessurucukursu/public_html/vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php
20/home/gunessurucukursu/public_html/vendor/swiftmailer/swiftmailer/lib/swift_required.php
21/home/gunessurucukursu/public_html/vendor/swiftmailer/swiftmailer/lib/classes/Swift.php
22/home/gunessurucukursu/public_html/vendor/mtdowling/jmespath.php/src/JmesPath.php
23/home/gunessurucukursu/public_html/vendor/aws/aws-sdk-php/src/functions.php
24/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/CmsCache.php
25/home/gunessurucukursu/public_html/app/modules/Application/Loader/Modules.php
26/home/gunessurucukursu/public_html/app/modules/Application/Mvc/View/Engine/Volt.php
27/home/gunessurucukursu/public_html/app/modules/Application/Widget/Proxy.php
28/home/gunessurucukursu/public_html/app/modules/Application/Cache/Manager.php
29/home/gunessurucukursu/public_html/app/plugins/Acl.php
30/home/gunessurucukursu/public_html/app/plugins/Localization.php
31/home/gunessurucukursu/public_html/app/plugins/MobileDetect.php
32/home/gunessurucukursu/public_html/app/plugins/PhoneFormat.php
33/home/gunessurucukursu/public_html/app/plugins/SendEmail.php
34/home/gunessurucukursu/public_html/app/plugins/SendSMS.php
35/home/gunessurucukursu/public_html/app/plugins/Slugger.php
36/home/gunessurucukursu/public_html/app/plugins/StaticMenu.php
37/home/gunessurucukursu/public_html/app/plugins/TimeAgo.php
38/home/gunessurucukursu/public_html/app/plugins/Title.php
39/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Language.php
40/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/Translate.php
41/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper.php
42/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Auth.php
43/home/gunessurucukursu/public_html/app/modules/Users/Model/Users.php
44/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Model/Model.php
45/home/gunessurucukursu/public_html/app/modules/Application/Assets/Manager.php
46/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Helper/Toast.php
47/home/gunessurucukursu/public_html/app/modules/Konsol/Init.php
48/home/gunessurucukursu/public_html/app/modules/Konsol/Helper/Cdn.php
49/home/gunessurucukursu/public_html/app/modules/Konsol/Helper/Position.php
50/home/gunessurucukursu/public_html/app/modules/Konsol/Form/Options/IntegrationForm.php
51/home/gunessurucukursu/public_html/app/modules/Application/Form/Form.php
52/home/gunessurucukursu/public_html/app/modules/Konsol/Model/Options.php
53/home/gunessurucukursu/public_html/app/modules/Users/Init.php
54/home/gunessurucukursu/public_html/app/modules/Logs/Init.php
55/home/gunessurucukursu/public_html/app/modules/Logs/Helper/Logger.php
56/home/gunessurucukursu/public_html/app/modules/Logs/Helper/AbstractLogger.php
57/home/gunessurucukursu/public_html/app/modules/Logs/Helper/LogLevel.php
58/home/gunessurucukursu/public_html/app/modules/ModuleBuilder/Init.php
59/home/gunessurucukursu/public_html/app/modules/Posts/Init.php
60/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostTypes.php
61/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostTaxonomies.php
62/home/gunessurucukursu/public_html/app/modules/Posts/Helper/PostsFinder.php
63/home/gunessurucukursu/public_html/app/modules/Posts/Helper/TermsFinder.php
64/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Router/Resources.php
65/home/gunessurucukursu/public_html/app/modules/Pages/Init.php
66/home/gunessurucukursu/public_html/app/modules/PageBuilder/Init.php
67/home/gunessurucukursu/public_html/app/modules/Constants/Init.php
68/home/gunessurucukursu/public_html/app/modules/MenuMaker/Init.php
69/home/gunessurucukursu/public_html/app/modules/News/Init.php
70/home/gunessurucukursu/public_html/app/modules/Students/Init.php
71/home/gunessurucukursu/public_html/app/modules/Teachers/Init.php
72/home/gunessurucukursu/public_html/app/modules/Appointments/Init.php
73/home/gunessurucukursu/public_html/app/modules/FileManager/Init.php
74/home/gunessurucukursu/public_html/app/modules/Reports/Init.php
75/home/gunessurucukursu/public_html/app/modules/GunesSurucu/Init.php
76/home/gunessurucukursu/public_html/app/modules/YobiForm/Init.php
77/home/gunessurucukursu/public_html/app/modules/App/Init.php
78/home/gunessurucukursu/public_html/app/modules/Whatsapp/Init.php
79/home/gunessurucukursu/public_html/app/modules/Whatsapp/Widget/WhatsappWidget.php
80/home/gunessurucukursu/public_html/app/modules/Application/Widget/AbstractWidget.php
81/home/gunessurucukursu/public_html/data/cache/volt/%%home%%gunessurucukursu%%public_html%%app%%modules%%whatsapp%%views%%widget%%floating.volt.php
82/home/gunessurucukursu/public_html/app/modules/Application/Mvc/Router/DefaultRouter.php
83/home/gunessurucukursu/public_html/app/modules/Konsol/Routes.php
84/home/gunessurucukursu/public_html/app/modules/Logs/Routes.php
85/home/gunessurucukursu/public_html/app/modules/Posts/Routes.php
86/home/gunessurucukursu/public_html/app/modules/PageBuilder/Routes.php
87/home/gunessurucukursu/public_html/app/modules/Constants/Routes.php
88/home/gunessurucukursu/public_html/app/modules/MenuMaker/Routes.php
89/home/gunessurucukursu/public_html/app/modules/News/Routes.php
90/home/gunessurucukursu/public_html/app/modules/Students/Routes.php
91/home/gunessurucukursu/public_html/app/modules/Teachers/Routes.php
92/home/gunessurucukursu/public_html/app/modules/Appointments/Routes.php
93/home/gunessurucukursu/public_html/app/modules/FileManager/Routes.php
94/home/gunessurucukursu/public_html/app/modules/Reports/Routes.php
95/home/gunessurucukursu/public_html/app/modules/GunesSurucu/Routes.php
96/home/gunessurucukursu/public_html/app/modules/YobiForm/Routes.php
97/home/gunessurucukursu/public_html/app/modules/App/Routes.php
98/home/gunessurucukursu/public_html/app/modules/Application/Utils/ModuleName.php
99/home/gunessurucukursu/public_html/vendor/mobiledetect/mobiledetectlib/Mobile_Detect.php
Memory
Usage2097152
{{ title }}

HATA!

{{ error_title }}

{{ error_desc }}