Application
est le cœur de votre application. Il contrôle comment
votre application est configurée, et quels plugins, middleware, commandes
de console et routes sont inclus.
Vous pouvez trouver votre classe Application
dans src/Application.php.
Par défaut, elle sera assez petite et ne définira que quelques valeurs par défaut.
Middleware. Les applications peuvent définir les
methodes de hook suivantes:
bootstrap
Utilisé pour chargé les fichiers de configuration, définir des constantes et d’autres fonctions
globales. Par défaut, cela inclura config/bootstrap.php. C’est
l’endroit idéal pour charger les Plugins et les listeners d’évènements
globaux que votre application utilise.
routes
Utilisé pour charger les routes.
Par défaut, cela inclura config/routes.php.
middleware
Utilisé pour ajouter des middleware
dans votre application.
console
Utilisé pour ajouter des commandes de console
à votre application. Par défaut, cela découvrira automatiquement les shells
et les commandes dans votre application et dans tous les plugins.
Si vous avez des besoins de configuration supplémentaires, utilisez le fichier bootstrap de CakePHP dans config/bootstrap.php. Ce fichier est inclus juste avant chaque requête et commande CLI.
Ce fichier est idéal pour un certain nombre de tâches de bootstrapping courantes:
Définir des fonctions utilitaires.
Déclarer des constantes.
Créer des configurations de cache.
Définir la configuration des logs.
Configurer les inflections personnalisées.
Charger les fichiers de configuration.
Il pourrait être tentant de placer des fonctions de formatage ici pour les utiliser dans vos controllers. Comme vous le verrez dans les documentations sur les Controllers (Contrôleurs) et les Views (Vues), il y a de meilleurs moyens pour vous d’ajouter de la logique personnalisée dans votre application.
En plus du fichier config/bootstrap.php qui doit être utilisé pour faire de
la configuration « bas niveau » de votre application, vous pouvez également
utiliser la méthode « hook » Application::bootstrap()
pour charger /
initialiser des plugins et attacher des écouteurs d’événements globaux:
// in src/Application.php
namespace App;
use Cake\Http\BaseApplication;
class Application extends BaseApplication
{
public function bootstrap()
{
// Appeler la méthode parente permet de faire le `require_once`
// pour charger le fichier config/bootstrap.php
parent::bootstrap();
// Charger mon plugin
$this->addPlugin('MyPlugin');
}
}
Charger les plugins et les événements dans Application::bootstrap()
rend
les Tests d’Intégration des Controllers plus faciles car les événements et les routes
seront ainsi à nouveau traités pour chaque méthode de test.