Phalcon Maintenance Mode

To put Phalcon in maintenance mode (like php artisan down in Laravel), simply:

1) Create an .env variable

app_maintenance=down

 2) Reroute if it is set (in /public/index.php)

if (getenv('app_maintenance') == 'down') {

    $di->remove('router');
    $di->setShared('router',  function() use ($config)
    {
        $router = new \Phalcon\Mvc\Router(false);

        $router->setDefaults(['controller' => 'errors', 'action' => 'show503']);
        $router->notFound(['controller' => 'errors', 'action' => 'show503']);
        return $router;
    });

}

3) Create or edit an ErrorsController

<?php namespace Vokuro\Controllers;

class ErrorsController extends ControllerBase
{
    ... 

        public function show503Action()
        {
                echo "503 down";

        }

    ...
}

Thanks

Alternatively...

You could just create a redirect:

    $response = new \Phalcon\Http\Response();
    $response->redirect('maintenance/index');
    $di->set('response', $response);