# The Yaf_Application class

(No version information available, might only be in Git)

## 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 Yaf_Application {
/* Properties */
protected $config ;
protected $dispatcher ;
protected static $_app ;
protected $_modules ;
protected $_running ;
protected $_environ ;
/* Methods */
public static app ( ) : mixed
public bootstrap ([ Yaf_Bootstrap_Abstract `$bootstrap` ] ) : void
public clearLastError ( ) : Yaf_Application
public __construct ( mixed `$config` [, string `$envrion` ] )
public __destruct ( ) : void
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
}

## 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