Configuration des applications
Aperçu des options de configuration pour les applications Nette.
Application
application: # afficher le panneau "Nette Application" dans Tracy BlueScreen ? debugger: ... # (bool) par défaut true # l'error-presenter sera-t-il appelé en cas d'erreur ? # n'a d'effet qu'en mode développement catchExceptions: ... # (bool) par défaut true # nom de l'error-presenter errorPresenter: Error # (string|array) par défaut 'Nette:Error' # définit les alias pour les presenters et les actions aliases: ... # définit les règles pour traduire le nom du presenter en classe mapping: ... # les liens invalides ne génèrent pas d'avertissement ? # n'a d'effet qu'en mode développement silentLinks: ... # (bool) par défaut false Depuis la version 3.2 de nette/application, il est possible de définir une paire d'error-presenters :
application: errorPresenter: 4xx: Error4xx # pour l'exception Nette\Application\BadRequestException 5xx: Error5xx # pour les autres exceptions L'option silentLinks détermine comment Nette se comporte en mode développement lorsque la génération d'un lien échoue (par exemple, parce que le presenter n'existe pas, etc.). La valeur par défaut false signifie que Nette lèvera une erreur E_USER_WARNING. La définir sur true supprimera ce message d'erreur. En environnement de production, E_USER_WARNING est toujours levé. Ce comportement peut également être influencé en définissant la variable du presenter $invalidLinkMode.
Les alias simplifient la création de liens vers les presenters fréquemment utilisés.
Le mapping définit les règles selon lesquelles le nom de la classe est dérivé du nom du presenter.
Enregistrement automatique des presenters
Nette ajoute automatiquement les presenters en tant que services au conteneur DI, ce qui accélère considérablement leur création. La manière dont Nette trouve les presenters peut être configurée :
application: # rechercher les presenters dans la class map de Composer ? scanComposer: ... # (bool) par défaut true # masque auquel le nom de la classe et du fichier doit correspondre scanFilter: ... # (string) par défaut '*Presenter' # dans quels répertoires rechercher les presenters ? scanDirs: # (string[]|false) par défaut '%appDir%' - %vendorDir%/mymodule Les répertoires spécifiés dans scanDirs ne remplacent pas la valeur par défaut %appDir%, mais la complètent, donc scanDirs contiendra les deux chemins %appDir% et %vendorDir%/mymodule. Si nous voulions omettre le répertoire par défaut, nous utiliserions un point d'exclamation, qui écrase la valeur :
application: scanDirs!: - %vendorDir%/mymodule L'analyse des répertoires peut être désactivée en spécifiant la valeur false. Nous ne recommandons pas de supprimer complètement l'ajout automatique des presenters, car cela réduirait les performances de l'application.
Templates Latte
Ce paramètre permet d'influencer globalement le comportement de Latte dans les composants et les presenters.
latte: # afficher le panneau Latte dans la barre Tracy pour le template principal (true) ou tous les composants (all) ? debugger: ... # (true|false|'all') par défaut true # génère les templates avec l'en-tête declare(strict_types=1) strictTypes: ... # (bool) par défaut false # active le mode [parseur strict |latte:develop#strict-mode] strictParsing: ... # (bool) par défaut false # active le [contrôle du code généré |latte:develop#checking-generated-code] phpLinter: ... # (string) par défaut null # définit la locale locale: cs_CZ # (string) par défaut null # classe de l'objet $this->template templateClass: App\MyTemplateClass # par défaut Nette\Bridges\ApplicationLatte\DefaultTemplate Si vous utilisez Latte version 3, vous pouvez ajouter de nouvelles extensions en utilisant :
latte: extensions: - Latte\Essential\TranslatorExtension(@Nette\Localization\Translator) Si vous utilisez Latte version 2, vous pouvez enregistrer de nouvelles balises soit en spécifiant le nom de la classe, soit par référence à un service. Par défaut, la méthode install() est appelée, mais cela peut être modifié en spécifiant le nom d'une autre méthode :
latte: # enregistrement des balises Latte personnalisées macros: - App\MyLatteMacros::register # méthode statique, nom de classe ou callable - @App\MyLatteMacrosFactory # service avec la méthode install() - @App\MyLatteMacrosFactory::register # service avec la méthode register() services: - App\MyLatteMacrosFactory Routage
Paramètres de base :
routing: # afficher le panneau de routage dans la barre Tracy ? debugger: ... # (bool) par défaut true # sérialise le routeur dans le conteneur DI cache: ... # (bool) par défaut false Le routage est généralement défini dans la classe RouterFactory. Alternativement, les routes peuvent également être définies dans la configuration en utilisant des paires masque: action, mais cette méthode n'offre pas une aussi grande variété de paramètres :
routing: routes: 'detail/<id>': Admin:Home:default '<presenter>/<action>': Front:Home:default Constantes
Création de constantes PHP.
constants: Foobar: 'baz' Après le démarrage de l'application, la constante Foobar sera créée.
Les constantes ne doivent pas servir de variables globales. Pour transmettre des valeurs aux objets, utilisez l'injection de dépendances.
PHP
Configuration des directives PHP. Un aperçu de toutes les directives se trouve sur php.net.
php: date.timezone: Europe/Prague Services DI
Ces services sont ajoutés au conteneur DI :
| Nom | Type | Description |
|---|---|---|
application.application | Nette\Application\Application | lanceur de toute l'application |
application.linkGenerator | Nette\Application\LinkGenerator | LinkGenerator |
application.presenterFactory | Nette\Application\PresenterFactory | factory de presenters |
application.### | Nette\Application\UI\Presenter | presenters individuels |
latte.latteFactory | Nette\Bridges\ApplicationLatte\LatteFactory | factory de l'objet Latte\Engine |
latte.templateFactory | Nette\Application\UI\TemplateFactory | factory pour $this->template |