Yaf_Application::bootstrap

(Yaf >=1.0.0)

Yaf_Application::bootstrapAppelle le bootstrap

Description

public function Yaf_Application::bootstrap(): Yaf_Application|false

Exécute un Bootstrap. Toutes les méthodes publiques de la classe Bootstrap dont le nom commence par _init sont appelées dans l'ordre de leur déclaration, chacune recevant l'instance de Yaf_Dispatcher comme unique argument.

La classe Bootstrap doit être nommée Bootstrap et étendre Yaf_Bootstrap_Abstract. Si elle n'est pas déjà définie, elle est chargée à partir du fichier Bootstrap.php situé dans le répertoire de l'application ; l'entrée de configuration application.bootstrap remplace son emplacement.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Retourne l'objet Yaf_Application lui-même en cas de succès, ou false en cas d'échec (par exemple si la classe Bootstrap n'a pas pu être chargée, ou si une exception non interceptée a été levée par l'une des méthodes _init*).

Erreurs / Exceptions

Déclenche une erreur YAF_ERR_TYPE_ERROR si la classe trouvée n'est pas une sous-classe de Yaf_Bootstrap_Abstract, ou une erreur E_WARNING si le fichier de bootstrap ou la classe Bootstrap est introuvable.

Exemples

Exemple #1 Exemple de Bootstrap

<?php
/**
 * Ce fichier devrait se trouver sous APPLICATION_PATH . "/application/" (qui a
 * été défini dans la configuration passée à Yaf_Application), et être nommé
 * Bootstrap.php, afin que Yaf_Application puisse le trouver.
 */
class Bootstrap extends Yaf_Bootstrap_Abstract {
    public function _initConfig(Yaf_Dispatcher $dispatcher) {
        echo "1er appel\n";
    }

    public function _initPlugin(Yaf_Dispatcher $dispatcher) {
        echo "2e appel\n";
    }
}
?>

Exemple #2 Exemple avec Yaf_Application::bootstrap()

<?php
defined('APPLICATION_PATH') // APPLICATION_PATH sera utilisé dans le fichier de configuration ini
    || define('APPLICATION_PATH', __DIR__);

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap();
?>

Résultat de l'exemple ci-dessus est similaire à :

1er appel
2e appel

Voir aussi

add a note

User Contributed Notes 1 note

up
1
brandon at brandonlamb dot com
14 years ago
Here is an example of a Bootstrap loading a session class then loading a database class and using a db configuration from the application config.

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract
{
    public function _initSession(Yaf_Dispatcher $dispatcher)
    {
        $session = new Vendor\Session();
        $session->start();
    }

    public function _initDatabase(Yaf_Dispatcher $dispatcher)
    {
        $config = Yaf_Application::app()->getConfig()->application->database;
        Yaf_Registry::set('db', Vendor\Database($config));
    }
}
?>
To Top