Перед началом использования фреймворка необходимо создать класс (например, App), который должен наследоваться от абстрактного класса FSA\Neuron\App.

Внутри класса необходимо объявить константы

class App extends FSA\Neuron\App
{
    const REDIS_PREFIX = 'my_app';
    const LOG_TAG = 'my_app';
    const SESSION_NAME = 'my_app';
    const SETTINGS_FILE = __DIR__ . '/../settings.php';
}

Рекомендуется переопределить метод App::initHtml() и явно задать используемые шаблоны для веб-страниц. Кроме этого, можно передать во все эти шаблоны необходимые параметры через метод setContext(), который принимает массив параметров. В том числе можно передать в шаблон динамические данные, например, данные сессии пользователя.

public static function initHtml($main_template = Templates\Main::class, $login_template = Templates\Login::class, $message_template = Templates\Message::class): FSA\Neuron\ResponseHtml
{
    parent::initHtml($main_template, $login_template, $message_template);
    self::$response->setContext(['title' => 'MyApp', 'session' => self::session()]);
    return self::$response;
}

Методы для работы с ответом

App::init() - простая инициализация, если не требуется вывод.

App::initHtml() - инициализация режима вывода HTML. Производит вызов App::init() и устанавливает перехват исключений, в результате чего любые ошибки в коде будут направляться пользователю в виде страницы с ошибкой или всплывающего окна. Метод возвращает объект response, тот же, что будет возвращать App::response().

App::initJson() - инициализирует режим вывода JSON. Производит вызов App::init() и устанавливает перехват исключений, в результате чего ошибки в коде будут направляться в виде JSON ответа с описанием ошибки или в виде кода ошибки HTML. Метод возвращает объект response, тот же, что будет возвращать App::response().

App::response() - возвращает объект response, который позволяет с помощью своих методов отправлять ответы в ранее инициализированном формате.

Методы для взаимодействия с базами данных

App::sql() - возвращается объект PostgreSQL, который является потомком PDO. Объект всегда создаётся в единственном экземпляре.

App::sqlCallback() - возвращает объект, который можно передать в другие методы в виде функции обратного вызова, которая будет вызывать App::sql(). В отличии от последней, если внутри метода не происходит обращения к базе данных, то соединение с базой данной не инициализируется.

App::redis() - возвращается объект RedisDB, который является потомком Redis. Объект всегда создаётся в единственном экземпляре.

App::redisCallback() - возвращает объект, который можно передать в другие методы в виде функции обратного вызова, которая будет вызывать App::redis(). В отличии от последней, если внутри метода не происходит обращения к базе данных, то соединение с базой данной не инициализируется.

Методы для работы с сессией пользователя

App::session() - возвращает объект Session, который содержит информацию о сессии пользователя.

App::login($login, $password) - метод, позволяющий начать сессию пользователю, если его $login и $password были опознаны.

App::logout() - метод, завершающий текущую сессию пользователя.

Методы для работы с переменными и настройками приложения

App::getSettings($name, $default_value) - возвращает значение из файла настроек.

App::setVar($name, $value) и App::getVar($name) - методы для сохранения и получения переменных из базы данных Redis.

App::setVarJson($name, $value) и App::getVarJson($name) - методы аналогичные предыдущим, за исключением того, что при вставке данных производится JSON кодирование передаваемого значения, а при получении - его декодирование.

App::delVar() - метод, удаляющий значение переменной из базы данных Redis.