# The Yaf_Application class

(Yaf >=1.0.0)

## Introduction

Yaf_Application provides a bootstrapping facility for applications which provides reusable resources, common- and module-based bootstrap classes and dependency checking.

> Note:

> Yaf_Application implements the singleton pattern, and Yaf_Application can not be serialized or unserialized which will cause problem when you try to use PHPUnit to write some test case for Yaf.

> You may use @backupGlobals annotation of PHPUnit to control the backup and restore operations for global variables. thus can solve this problem.

## Class synopsis

final class Yaf_Application {
/* Properties */
protected $config;
protected $dispatcher;
protected static $_app;
protected $_modules;
protected $_running;
protected $_environ;
/* Methods */
public __construct(mixed `$config`, string `$envrion` = ?)
public static app(): mixed
public bootstrap(Yaf_Bootstrap_Abstract `$bootstrap` = ?): void
public clearLastError(): Yaf_Application
public environ(): void
public execute(callable `$entry`, string `...$args`): void
public getAppDirectory(): Yaf_Application
public getConfig(): Yaf_Config_Abstract
public getDispatcher(): Yaf_Dispatcher
public getLastErrorMsg(): string
public getLastErrorNo(): int
public getModules(): array
public run(): void
public setAppDirectory(string `$directory`): Yaf_Application
public __destruct()
}

## Properties

config

dispatcher

_app

_modules

_running

_environ

## Table of Contents

- Yaf_Application::app — Retrieve an Application instance
- Yaf_Application::bootstrap — Call bootstrap
- Yaf_Application::clearLastError — Clear the last error info
- Yaf_Application::__construct — Yaf_Application constructor
- Yaf_Application::__destruct — The __destruct purpose
- Yaf_Application::environ — Retrive environ
- Yaf_Application::execute — Execute a callback
- Yaf_Application::getAppDirectory — Get the application directory
- Yaf_Application::getConfig — Retrive the config instance
- Yaf_Application::getDispatcher — Get Yaf_Dispatcher instance
- Yaf_Application::getLastErrorMsg — Get message of the last occurred error
- Yaf_Application::getLastErrorNo — Get code of last occurred error
- Yaf_Application::getModules — Get defined module names
- Yaf_Application::run — Start Yaf_Application
- Yaf_Application::setAppDirectory — Change the application directory

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open