Новый класс приложения $app

Новый класс приложения $app, помощник который ускорит разработку.

Последние несколько дней занимался внедрением в систему нового класса приложения. Идея проста, класс объявляется в начале загрузки системы и далее разные файлы системы добавляют в него свои данные. В итоге мы получаем структуру в которой находятся полезные данные. На данный момент туда пишем данные из файла bootstrap

  • uri
  • url
  • host
  • method
  • ip
  • user_agent
  • ajax

из route

  • request->type (web / console)
  • request->params (url в виде массива)
  • getparams (Параметры в запросе для роутера)

из auth->status получаем данные текущего пользователя

Класс app использует паттерн синглтон, по этому сохраняет своё состояние между вызовами.

Пример дампа файла $app:

//Создать объект
$app = app::app();

//Добавить значение. 
$app->bootstrap->set(['uri' => "..."]);

//Получить значение
$app->bootstrap->uri

 

Grewi 2024