Klasa App jest główną klasą frameworka Amelia. Reprezentuje ona aplikację, czyli obiekt za pomocą którego aplikacja internetowa tworzy się, inicjalizuje oraz daje dostęp do jej kluczowych elementów jak konfiguracja, routing, silnik szablonowania, czy baza danych. Powstała ona w celu ułatwienia dostępu do tych kluczowych części systemu. 

Klasa App przy inicjalizacji tworzy lub przygotowuje tworzenie po jednej instancji kluczowych obiektów (silników BD, szablonowania i innych). Stąd wystarczy pobrać do nich referencję. Dla ułatwienia nie trzeba pobierać instancji obiektu klasy App. Klasa ma przygotowane do tego celu metody statyczne:

Metody klasy dla użytkownika

App::getConf() - zwraca obiekt \core\Config (konfiguracja aplikacji)

App::getDB() - zwraca obiekt \Medoo\Medoo (tworzy przy pierwszym wywołaniu, później zwraca ten sam)

App::getLoader() - zwraca obiekt \core\ClassLoader ()

App::getMessages() - zwraca obiekt \core\Messages

App::getRouter() - zwraca obiekt \core\Router (routing aplikacji)

App::getSmarty() - zwraca obiekt \Smarty (tworzy przy pierwszym wywołaniu, później zwraca ten sam)

App::setMessages(\core\Messages $m) - pozwala ustawić inny obiekt messages

 

Metody wewnętrzne

App::createAndInitialize(\core\Config $c) - stworzenie i inicjalizacja aplikacji (przyjmuje obiekt z konfiguracją aplikacji). Metoda wywoływana po załadowaniu konfiguracji przez skrypt init.php.