# The Yaf_Application class

&reftitle.intro;

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

`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.

&reftitle.classsynopsis;

        Yaf_Application

          final
          Yaf_Application

        &Properties;

         protected
         config

         protected
         dispatcher

         protected
         static
         _app

         protected
         _modules

         protected
         _running

         protected
         _environ

        &Methods;

&reftitle.properties;

`config`

`dispatcher`

`_app`

`_modules`

`_running`

`_environ`

&reference.yaf.entities.yaf-application;