<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect2 id="zend.application.core-functionality.bootstrap-bootstrap">
    <title>Zend_Application_Bootstrap_Bootstrap</title>

    <para>
        <classname>Zend_Application_Bootstrap_Bootstrap</classname> is a concrete
        implementation of <link
            linkend="zend.application.core-functionality.bootstrap-bootstrapabstract">Zend_Application_Bootstrap_BootstrapAbstract</link>.
        It's primary feature are that it registers the <link
            linkend="zend.application.available-resources.frontcontroller">Front
            Controller resource</link>, and that the <methodname>run()</methodname> method
        first checks that a default module is defined and then dispatches the
        front controller.
    </para>

    <para>
        In most cases, you will want to extend this class for your bootstrapping
        needs, or simply use this class and provide a list of resource plugins
        to utilize.
    </para>

    <sect3 id="zend.application.core-functionality.bootstrap-bootstrap.autoloading">
        <title>Enabling Application Autoloading</title>

        <para>
            Additionally, this bootstrap implementation provides the ability to specify the
            "namespace" or class prefix for resources located in its tree, which will enable
            autoloading of various application resources; essentially, it instantiates a <link
                linkend="zend.loader.autoloader-resource.module">Zend_Application_Module_Autoloader</link>
            object, providing the requested namespace and the bootstrap's directory as arguments.
            You may enable this functionality by providing a namespace to the "appnamespace"
            configuration option. As an <acronym>INI</acronym> example:
        </para>

        <programlisting language="ini"><![CDATA[
appnamespace = "Application"
]]></programlisting>

        <para>
            Or in <acronym>XML</acronym>:
        </para>

        <programlisting language="xml"><![CDATA[
<appnamespace>Application</appnamespace>
]]></programlisting>

        <para>
            By default, <classname>Zend_Tool</classname> will enable this option with the value
            "Application".
        </para>

        <para>
            Alternately, you can simply define the <varname>$_appNamespace</varname> property of
            your bootstrap class with the appropriate value:
        </para>

        <programlisting language="php"><![CDATA[
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    protected $_appNamespace = 'Application';
}
]]></programlisting>
    </sect3>
</sect2>
